从一个开发人员到高级开发人员,看看Java开发工程师应该拥有什么样的技能和经验,以便在当今社会取得成功。
几年来,政府一直在试图让“极客”变冷静。 总理也都建议计算机编程是学校课程的一部分。 抛开政治,成为一名称职的程序员今天比以往更具挑战性。 只是一个内向的天才已经不够了。
公司也在寻找具有认知技能的人来增加团队技术能力。
70/30规则在开发者的世界仍然适用。
这意味着人们要有大约70%的技术能力和30%的软(认知)技能。 如果缺乏所需的软技能,只有“硬”技能的开发人员很难进入管理层。
我管理过多个垂直领域的团队,并结合世界上一些大公司总结了关于开发者工作和职业发展路径。
我们试着总结一下公司招聘开发人才时的几个层面。
技术能力
你的简历里技术能力强才会得到面试机会。我以招聘Java开发工程师为例,公司需要的几个因素。
基础知识
了解Java编程语言的基础知识 。
知道如何编写代码是很好的,但知道代码背后的原因和/算法更会使你脱颖而出。
主流编程工具
今天,你不能成为所有语言的大牛。 你必须选择一个你最擅长的工具,有时是由你工作的环境所决定的。但是首先我们要有一个好选择:
构建工具 : Maven或Gradle 。
SCM : Git (不是GitHub,差别很大)。
构建自动化 : Jenkins 。
IDE : Netbeans或Eclipse–不仅仅是为了编写代码,还要从IDE进行代码重构和调试。 我遇到了很多开发人员,他们不知道从IDE里进行调试。
Bug跟踪器 : Bugzilla或Jira 。
主流编程框架
SpringMVC的Web开发
了解JSF框架
应用服务器
所有Java开发人员都应该知道如何在ApacheTomcat中进行部署。
随着Glassfish的发展停滞,下一个最好的事情就是JBossWildFly 。
云开发
在AmazonEC或PaaS上获得免费帐户。
亚马逊的另一种选择是红帽OpenShift 。
认知能力
我们对Java编程语言和各种工具有深入的了解,这已经了不起了。但雇主/公司也将在以下方面对开发人员进行评估。
沟通能力
沟通是我们做事的关键。 我们必须与周围的环境互动,无论是私人生活还是职场生活中。
这不仅仅是把单词放在一起的能力,而是如何沟通我们面临的问题,或者提出解决这些问题的方法。
一个优秀的沟通者知道如何在各类群体面前表达自己; 请记住,从别人的角度来看,对你而言,自己认为明显的内容,别人认为可能并不相同。
解决问题能力
开发人员是问题解决者,也要成为哲学家和思想家:)
不要成为只会写代码的程序员,不去参与有关如何解决问题的讨论。 不要简单当一个程序员:“告诉我要做什么,我来写它,不要问我是不是最好的方法。”
团队精神
所有开发人员都是团队的一部分,不管是结对编程还是大型项目。
我们都要为团队的目标做出贡献,比如帮助指导新成员或遇到困难的成员克服障碍。 不要有“我做完我的工作,然后回家”的态度。不要出愚蠢的笑话成为“团队小丑”,或者总不参加团队活动,要真正是成为研发团队的一员。
自学能力
这是一个非常重要的技能, 即在空闲时间 get 新技能的能力。 不要总是等着公司给你提供培训机会。 需要走出去,学习新技术,在你的领域超越前进。
从前端开发到架构模式,总会有新的故事发生。 阅读技术博客和写技术文章,并尝试加入技术社区。 因为新学到的东西会为自己的职业打开新高度。
这篇文章本来不应该这么长,目的就是为了使其对于有抱负的开发人员,甚至对老兵们也有用。
你有什么想法,想提高自己的技术能力还是提高软实力,欢迎留言给我们。
作者:阿梅尔
编辑:金子
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/257309.html