今天,成为一名称职的程序员比以往任何时候都更具挑战性,人们应该拥有大约70%的技术技能和30%的软(认知)技能。如果一个“硬核”开发人员缺乏所需的软技能,他/她很难进入管理层。
1. 技术技能
这是一个不需要动脑筋的问题;你的技术能力将使你获得面试机会。在招聘Java开发人员时,公司需要考虑几个因素。
2. 基本知识
了解Java编程语言的基础知识。知道如何编写代码是很好的,但是了解代码背后的推理和/或选择的算法将使您从人群中脱颖而出。
3. 主流编程工具
今天,事实是你不可能是一个万事通(一事无成)。你必须选择你要掌握的工具。这有时是由您工作的环境决定的,但我们可以说,这是一个很好的选择,可以遵循以下几点:
- 构建工具:Maven或Gradle。
- SCM:Git(不是GitHub,差别很大)。
- 构建自动化:Jenkins。
- IDE:Netbeans或Eclipse–不仅用于编写代码,还用于从IDE进行代码重构和调试。
- Bug追踪器:Bugzilla或Jira。
4. 主流编程框架
用于web开发的springmvc
JSF知识
5. 应用服务器
所有Java开发人员都应该知道如何在ApacheTomcat中部署。
由于Glassfish鱼的发展正在停止,下一个最好的东西是JBossWildfly。
6. 云开发
在Amazon EC或PaaS上获得免费帐户。亚马逊的另一个选择是红帽OpenShift。
7. 沟通
沟通是我们做任何事情的关键。我们必须与周围的环境互动,无论是在我们的私人生活还是职业生活中。这不仅仅是把单词拼凑在一起的能力,而是如何沟通我们所面临的问题,或提出解决这些问题的方案。一个优秀的沟通者知道如何在不同的群体面前表达自己;记住,从别人的角度看,对你来说有意义的事情可能不一样。
8. 解决问题
开发人员是问题解决者、哲学家和思想家。不要成为那种只写代码而不参与讨论如何解决问题的程序员。不要像程序员那样说:“告诉我要创建什么,我会创建它。不要问我这是不是最好的方法。”
9. 团队成员
所有开发人员都作为团队的一部分工作,无论是成对编程还是大型项目。你需要为团队的目标做出贡献。在此过程中,帮助指导初级会员,或帮助有困难的会员克服障碍。不要有“我只是来做我的工作然后回家”的态度,成为团队的一员。
10. 自学
这是一项非常重要的技能;在自己的时间里获得新技能的能力。不要总是等待公司为你提供培训。你需要走出去,学习新技术,在你的领域取得进步。从前端开发到架构模式,总是有新的事情发生。阅读博客和文章,尝试加入当地的聚会小组。你所学到的可以为你的职业生涯开辟新的顶点。