zoukankan      html  css  js  c++  java
  • 我理解的优秀软件工程师

    最近越来越多人的在谈论 全栈工程师 (full stack),从某种意义上来说,一个优秀的工程师,必然是一个全栈工程师,或者至少一两种跨语言、平台工作的能力。 就我个人的理解,来探讨一下如何定义一个优秀的工程师。

    简单版本

    聪明、好沟通、自我驱动、有激情。

    复杂版本

    • 有扎实的基础知识。理解计算机、操作系统、编译、链接、装载等各个环节的原理;理解网络原理;熟悉常见算法和数据结构。
    • 深刻的理解至少一门计算机语言。有完整的用一种语言实现一个产品的经历,有10万行以上的编码经验;完整掌握整套工具链。
    • 有良好的学习能力。可以阅读英文文档,经常上几个活跃的英文网站看文档、代码。可以在几个星期内上手一门语言。
    • 良好的沟通能力。可以有条理的描述事情、问题;能根据对方的背景,用对方更能理解的语言沟通;习惯编写友好的文档;有良好的心态接受挑战,并从中找到积极因素。
    • 良好的自我管理能力。可以在复杂繁多的问题里,找到最能推动项目前进的点;在有限的时间内,达到既定目的,并能控制风险。
    • 有追求更好最佳实践,更佳方法的激情。

    除了上面列举的具体能力,还有一个非常重要,或者可能最重要的是,知道自己什么东西不懂。

    虽说列举了很多,但个人感觉还不够。一个以技术为导向的公司,顶级工程师的能力直接决定了整个公司的能力。

    最近观察美国的几个小而美的互联网创业公司,几乎都有很好的技术实践,有的创始人更是跨 产品设计、视觉设计、软件设计、文档编写的更大范围的 full stack。

    关于作者:

    Tiger

    weibo: @Tiger_张虎, 云巴 (yunba.io) 创始人,yunba.io 云后端服务。 JPush 创始人,原CTO。 Oracle VM 创始团队成员。

  • 相关阅读:
    Spark Streaming企业运用
    spark企业运用
    sparkcore企业运用
    Spark GraphX从入门到实战
    sparkstreaming入门到实战
    sparkSql从入门到实战
    sparkcore入门到实战
    spark机器算法从入门到实战
    flink实时数仓从入门到实战
    github上克隆私有项目
  • 原文地址:https://www.cnblogs.com/yunba/p/4564123.html
Copyright © 2011-2022 走看看