当前位置 : IT培训网 > Java开发 > Java培训 > Java程序员喜欢的工程师文化

Java程序员喜欢的工程师文化

时间:2016-08-15 14:28:59  来源:Java培训网  作者:IT培训网  已有:名学员访问该课程
同事之间的尊重构成开放交流的基础。靠谱的想法获得往往通过大家辩论,这种挑战也是感觉很舒服的方式。

为了招聘到优秀人才,各家公司都会推出各种福利。Java程序员做为核心技术人员,在公司里的地位举足轻重。IT培训网郑州Java培训学校列举了一些Java程序员喜欢和想要避免的一些事情。

1.保持一个尊重的工作环境。

同事之间的尊重构成开放交流的基础。靠谱的想法获得往往通过大家辩论,这种挑战也是感觉很舒服的方式。人们不爽的是重要反馈没有及时回应。

工程往往跨越广泛的领域(系统,机器学习,产品等),而不是每个人都有相同的专业知识在每个领域。其实是一个强大的团队应该具备,在某些领域都有能干的牛人,即使他们最终会被替代。这有时很麻烦,让一个系统工程师来评估产品工程师的能力,但在一个健康的工程师文化中尊重这些差异很重要,并不是完全根据自己的优势来判断。

2.尽量自动化。

自动化解决方案和脚本去重复执行任务很重要,因为它们解放工程团队,让他们为实际产品工作。确保如有失败服务自动重启和方便快捷在流量高峰期替代是在管理大而复杂产品的明智方案。在短期内可以对应用做快速修复,而长期还是要依赖自动化测试,这需要权衡。

3.招最好的人。

雇佣最好的人是许多其他列出的基础。如果你认为自己是一个B 级工程师很难有人尊重。如果你不信任他们开发产品能力,很难给别人自主权去开发产品。如果没有足够的工程经验,很难识别正确的抽象去构建系统。这很容易陷入构建复杂结构的陷阱,又没有其他聪明人来挑战你的想法和推动你走向简单正确的道路。

4.注重代码审查,编写高代码质量。

维持高品质的代码库增加了整个工程团队的工作效率。清洁代码更容易便捷发展和维护,更适应变化,不容易引入错误。健康的代码审查过程使之成为可能。

建立及时代码审查流程,不管是预提交或提交后,能有几种方法的提高代码质量。首先,知道有人会检查你的代码,提交写得不好的代码可能会辜负你的队友。那些难以维护,或未经测试的代码是一种压力。第二,代码审查也提供了评审和相互学习编写更好代码的机会。

代码审查更容易接触到其他工程团队成员,评论也带动了a)增进一段时间内审查代码的责任感b)允许团队成员- 特别新手- 观摩别人的好代码,c)加快最佳编码实践的传播。

5.优化迭代速度。

快速迭代的速度提高了工作积极性和兴奋度。一些工程师在面试时对他们为什么要离开公司列举了最常见的令人沮丧的原因是基础设施和繁冗流程阻碍他们部署代码或者上线功能。团队智慧,快速迭代的速度意味着有强有力的领导者,帮助协调和推动团队的工作。在决定关键点上负责人需要有效地作出决定,并承诺他们的选择。

6.建立共享代码所有权。

虽然有些人自然就成为精通代码库或基础设施的各个部分,但没有一个人应该觉得他们拥有或任何一件的唯一维护者。虽然有个人一年以上能在一些领域成为专家,在短期内有成效,这种做法最终伤害长期利益。

7.投资自动化测试。

单元测试和集成测试覆盖率是管理一个大的代码库与一大群人没有不断被破坏构建或产品的唯一可扩展的方式。自动化测试提供了对提高代码质量的大规模重构的信心和也进行有意义的保护。缺乏严格的自动化测试,需要手动测试无论是对工程团队或外包测试团队,是容易令人害怕的,很容易陷入恐惧改善代码的文化,只是因为它有可能破坏以前的。

8.分配20%的时间。

自上而下的方法对产品的规划,对公司的总体方向是重要的,不能指望从工程师中冒出很多的想法。只要工程师对他们20%的时间和专注于什么可以有很大影响的负责,这些项目可能会导致很大的向前发展。没有官方的20%的时间,它仍然是可能的,对工程师和设计师可能更难去尝试疯狂的想法- 基本上都找周末或假期做。

9. 建立学习和持续改进的文化。

每周技术会议给工程师分享他们的设计或者正工作的项目,创造了一个机会,工程师们为他们工作感到自豪,并学到更多工作以外的范畴。内部文档记录电子邮件服务的工作原理或如何让排名改变搜索服务,让工程师学习和探索新的东西,也很好地补充了20%的时间。

10.建立合理的软件抽象。

我的麻省理工学院教授和本科生研究顾问丹尼尔· 杰克逊说的软件抽象的重要性:

“选择正确的方式,程序化自然而然地设计;模块化就是有小而简单的界面;新功能在不影响全局的情况下产生。要是搞错的话,程序将是一系列的讨厌的坑:接口很笨拙因为他们无法适应一些意料之外的交互,即使是最简单的改动将是很难维护“。

保持核心抽象的简单和减少自定义解决方案,并增加团队熟悉度和对专业知识的抽象。日益普及系统像Memcached,Redis,MongoDB等系统都是降低建立定制存储和缓存系统的必要。团队重点转移到少数核心抽象,而不是分裂在很多临时解决方案,让公共库更稳健,监控更智能,性能更易理解,测试更全面。所有这一切都有助于搭建一个简单的系统,降低操作负担。

建立一个良好的团队文化是最根本。优秀的Java程序员聚在一起,不但可以更好的完成工作,大家互相讨论学习,有更大的进步。

想了解更多IT资讯,可以通过QQ:3158895217与IT培训网Java培训老师互动,相信上市公司的实力。

顶一下
(0)
0%
踩一下
(0)
0%

IT培训0元试听 每期开班座位有限.0元试听抢座开始! IT培训0元试听

  • 姓名 : *
  • 电话 : *
  • QQ : *
  • 留言 :
  • 验证码 : 看不清?点击更换请输入正确的验证码

在线咨询在线咨询

温馨提示 : 请保持手机畅通,咨询老师为您
提供专属一对一报名服务。

------分隔线----------------------------
------分隔线----------------------------

推荐内容