公司和组织正在寻找有认知能力的人来增加他们的技术能力。这很难用数字表示,因为它非常依赖于公司,但可以在这里应用70/30规则。意为:人们应该拥有大约70%的技术技能和30%的软(认知)技能。如果他/她缺乏所需的软技能,那么“硬核”凯发游戏入口官网几乎进不了管理阶段。作为跨越多个垂直领域开发的蓝鸥资深讲师团队,总结了一下在公司招聘或晋升时,看上去有点像模式的几个方面。
技术能力
嗯,这是一件明摆着的事:技术技能才能让你得到面试机会。当招聘一个java开发人员时,公司会考虑若干因素。
基础
对java编程语言基础的理解。
知道如何编写代码是很好的,但是知道代码背后的推理和/或所选择的算法将使你从人群中脱颖而出。
主流编程工具
今天,事实是,你不能成为一个样样都懂的人(杂而不精)。你必须选择你要掌握的工具。有时这是由工作的环境决定的,但是按照下面说的去做也是一个很好的选择:
构建工具:maven或gradle。
scm:git(不是github。大不相同)。
构建自动化:jenkins。
ide:netbeans或eclipse——不仅用于编写代码,而且还从ide中重构和调试代码。我遇到了很多没有如何从他们最喜欢的ide调试的开发人员。
bug跟踪:bugzilla或jira。
主流编程框架
spring mvc用于web开发
jsf的知识
应用程序服务器
所有java开发人员应该知道如何在apache tomcat中部署。
当glassfish开发停止时,下一个最好的事情是jboss wildfly。
云开发
在amazon ec或paas上获取免费帐户。
amazon的另一个选择是red hat openshift。
认知技能
对java编程语言和各种工具有深入的了解自然是一件好事,但你的雇主/客户也会从以下方面对你进行评估。
沟通
沟通是我们做好一切事情的关键。我们必须与我们周围的环境互动,无论是在我们的私人还是职业生活中。这不仅仅是把字词放到一起的能力,也包括如何沟通我们面临的问题,或者提出这些问题的凯发游戏入口官网的解决方案。一个伟大的沟通者知道如何在各种团体前面表达自己:记住,对你来说显而易见的东西,从让他人的角度来看可能并非如此。
问题解决
开发人员是问题解决者,也是哲学家和思想家。不要做那种只会写代码,不参与讨论如何解决问题的程序猿。不要成为那种只会说“告诉我要创建什么,我就创建什么,不要问我这是否为最佳方法”的程序猿。
有团队精神
无论是结对编程还是大型项目,所有开发人员都是作为团队的一部分在工作。你需要致力于团队的目的和目标。帮助指导初级成员,或帮助苦苦挣扎的团队成员克服障碍。不要有那种“我在这里只要做好我的工作,然后就可以回家了”的态度。成为团队的一部分。你不需要成为“团队小丑”或总是出去参与团队活动,但要成为团队的一员。
自学
这是一个非常重要的技能:在你自己的时间学习新技能的能力。不要总是等待公司为你提供培训。你需要自己去学习新技术,提升自己在相关领域的水平。从前端开发到架构模式,总是有一些新生事情值得学习。阅读博客和文章,尝试加入本地聚会小组。你学到的东西可以为你的事业开辟新的顶点。