专栏首页java一日一条如何成为一名合格的(Java)程序员

如何成为一名合格的(Java)程序员

在过去几年中,政府和社会一直在努力使“Geek”再次酷起来。总统和总理提倡计算机程序设计成为学校课程的一部分。今天,除了政治,成为一个合格的程序员比以往任何时候都更具挑战性。只是一个内向的天才不再合格。

公司和组织正在寻找有认知能力的人来增加他们的技术能力。这很难用数字表示,因为它非常依赖于公司,但可以在这里应用70/30规则。意即人们应该拥有大约70%的技术技能和30%的软(认知)技能。如果他/她缺乏所需的软技能,那么“硬核”开发人员几乎进不了管理阶段。我曾跨越多个垂直领域管理过许多团队,开发了一些被若干世界上最大的公司所使用的职位描述和职业发展路径。让我们总结一下在公司招聘或晋升时,看上去有点像模式的几个方面。

技术能力

嗯,这是一件明摆着的事;技术技能才能让你得到面试机会。当招聘一个Java开发人员时,公司会考虑若干因素。

基础

对Java编程语言基础的理解。

知道如何编写代码是很好的,但是知道代码背后的推理和/或所选择的算法将使你从人群中脱颖而出。

主流编程工具

今天,事实是,你不能成为一个样样都懂的人(杂而不精)。你必须选择你要掌握的工具。有时这是由工作的环境决定的,但是按照下面说的去做也是一个很好的选择:

  • 构建工具:MavenGradle
  • SCM:Git(不是GitHub。大不相同)。
  • 构建自动化:Jenkins
  • IDE:NetbeansEclipse——不仅用于编写代码,而且还从IDE中重构和调试代码。我遇到了很多没有如何从他们最喜欢的IDE调试的开发人员。
  • Bug跟踪:BugzillaJira

主流编程框架

应用程序服务器

  • 所有Java开发人员应该知道如何在Apache Tomcat中部署。
  • 当Glassfish开发停止时,下一个最好的事情是JBoss WildFly

云开发

  • 在Amazon EC或PaaS上获取免费帐户。
  • Amazon的另一个选择是Red Hat OpenShift。

认知技能

对Java编程语言和各种工具有深入的了解自然是一件好事,但你的雇主/客户也会从以下方面对你进行评估。

沟通

沟通是我们做好一切事情的关键。我们必须与我们周围的环境互动,无论是在我们的私人还是职业生活中。这不仅仅是把字词放到一起的能力,也包括如何沟通我们面临的问题,或者提出这些问题的解决方案。一个伟大的沟通者知道如何在各种团体前面表达自己;记住,对你来说显而易见的东西,从让他人的角度来看可能并非如此。

问题解决

开发人员是问题解决者,也是哲学家和思想家。不要做那种只会写代码,不参与讨论如何解决问题的程序猿。不要成为那种只会说“告诉我要创建什么,我就创建什么,不要问我这是否为最佳方法”的程序猿。

有团队精神

无论是结对编程还是大型项目,所有开发人员都是作为团队的一部分在工作。你需要致力于团队的目的和目标。帮助指导初级成员,或帮助苦苦挣扎的团队成员克服障碍。不要有那种“我在这里只要做好我的工作,然后就可以回家了”的态度。成为团队的一部分。你不需要成为“团队小丑”或总是出去参与团队活动,但要成为团队的一员。

自学

这是一个非常重要的技能;在你自己的时间学习新技能的能力。不要总是等待公司为你提供培训。你需要自己去学习新技术,提升自己在相关领域的水平。从前端开发到架构模式,总是有一些新生事情值得学习。阅读博客和文章,尝试加入本地聚会小组。你学到的东西可以为你的事业开辟新的顶点。

这个博客不应该这么长,但目的是为了帮助那些有抱负的开发人员——甚至是老手。

谢谢阅读!

本文分享自微信公众号 - java一日一条(mjx_java)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2016-11-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何更改github工程的语言属性

    当创建github项目的时候,github本身会根据提交文件的数量来自动推断工程的开发语言,有时这种推断结果会与实际情况不太相符。

    Python疯子
  • 我是怎样一步步加入程序员大军

    对于文章所描写的那样,程序员是一群一年四季只有衬衫,短裤,拖鞋,电脑包,黑色眼睛的一群高薪繁忙的单身狗。

    君赏
  • JavaScript简单介绍

    基于事件和对象驱动,并具有安全性的语言。 该语言运行在浏览器端,也有在服务器端的名称为Node.js

    河湾欢儿
  • spring基础(1:基本概念)

    本系列笔记来自对《Spring实战》第三版的整理,Spring版本为3.0   spring是为了解决企业级应用开发的复杂性而创建的,spring最根本的...

    用户2038589
  • Spring Boot 最佳实践(五)Spring Data JPA 操作 MySQL 8

    JPA(Java Persistence API)Java持久化API,是 Java 持久化的标准规范,Hibernate是持久化规范的技术实现,而Spring...

    王磊的博客
  • Require.js

    通过require.js 可以对javascript文件进行别样引用 Require.js的使用: 第一步: 只需在html页面中引用require.js ...

    河湾欢儿
  • APP概括

    移动端:运行在移动设备上的产品 移动设备:手机 平板 我们做的页面只适用于安卓系统和ios系统,诺基亚是Windows Phone系统不用管

    河湾欢儿
  • CentOS安装配置

    用户3004328
  • 组件&生命周期

    组件使你可以将 UI 划分为一个一个独立,可复用的小部件,并可以对每个部件进行单独的设计。

    河湾欢儿
  • React入门

    React 是一个用于构建用户界面的 JAVASCRIPT 库。 起源: React 起源于 Facebook 的内部项目,因为该公司对市场上所有 Java...

    河湾欢儿

扫码关注云+社区

领取腾讯云代金券