课程咨询 :186-8884-0703

深圳Web培训 > 达内新闻 > 关于工程师文化你需要知道的事情
  • 关于工程师文化你需要知道的事情

    发布:深圳Web培训      来源:达内新闻      时间:2016-01-19

  • 为了吸引优秀的程序员,各大公司都会使出自己的杀手锏,那么除了薪资还有什么软实力是程序员较为看中的呢?达内深圳WEB培训(sz.WEB.tedu.cn)专家作为就总结了优秀工程师喜欢和尽量避免地方。总结了为建立一个良好的工程文化一个团队可以做的十件事情。

    1.招最好的人。

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

    2.尽量自动化。

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

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

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

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

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

    4.优化迭代速度。

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

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

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

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

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

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

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

    7.投资自动化测试。

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

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

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

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

    9.分配20%的时间。

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

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

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

    在初期,我们在客户工作上不堪重负,我们很想降低我们的招聘门槛,这样我们可以聘请足够的人来做大量工作。我很高兴我们没有,因为低质量的代码和较弱的工程师团队积累技术债对团队和产品的伤害是很大的。

    建立一个良好的工程文化无疑是一个大量的工作,但由此产生的工作环境是值得的。

    更多内容请点击【深圳WEB培训】

上一篇:如何让你的WEB前端代码更简洁?

下一篇:程序员做到年薪超60万其实很容易!

最新开班日期  |  更多

WEB前端工程师--全日制班

WEB前端工程师--全日制班

开班日期:2月15日

WEB培训前端工程师--周末班

WEB培训前端工程师--周末班

开班日期:2月15日

WEB培训免费训练营一期

WEB培训免费训练营一期

开班日期:2月15日

WEB培训免费训练营二期

WEB培训免费训练营二期

开班日期:2月15日

  • 地址:深圳市福田区八卦四路华晟达(原南方苑)大厦4楼东—深圳WEB开发培训中心
  • 课程培训电话:186-8884-0703     全国服务监督电话:400-827-0010
  • 服务邮箱 ts@tedu.cn
  • 2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56