如何才能成为一名 BAT 级别(优秀)的工程师?
Jan 14, 2018
优秀开发者的标准是什么?
BAT 级别的工程师是什么样的?有什么要求?
首先我们看看 BAT 级别公司的招聘要求,下面是阿里巴巴国际无线技术部 的 JD:
我们要怎样的iOS开发?
岗位要求:
- 3年以上iOS开发经验,有SDK开发经验更佳;
- 精通Objective-C,熟悉Swift,对iOS编程有系统化的知识体系;
- 具有良好的工程能力,能够独立解决有一定复杂度的问题,如果你有一套自己解决问题的方法论,我们更欢迎你加入;
- 良好的适应能力,面对新的技术栈,能快速学习,并将习得的知识转化成解决问题的方法论;
- 优良的编码习惯,对于设计模式等常见的编码技巧有很好的认知,在意命名,在意函数/类之间的联系;
- 有多个完整的IOS项目经验,至少参加过一个完整的商业级手机应用;
从上面的 JD 中可以看出来,阿里巴巴对一名 p6 ~ p7 的 iOS 工程师的要求:
- 实战经验丰富,至少 3 年;
- 对相关的语言和框架非常熟悉,有完整的知识体系;(自己列个学习计划,平时注意查漏补缺,在工作中以点带面)
- 善于解决复杂问题、难题,有自己的方法论;(这个就需要平时工作中自我约束了,遇到问题不能敷衍了事,解决问题后要自己总结回顾)
- 学习能力强;(平时不断学习新东西,并在工作中实践、举一反三)
- 编码能力强,代码规范;(这个需要自我驱动力,多造轮子,多学习开源项目,培养专业素养)
- 对设计模式和架构非常了解;(设计模式和架构实际上是前人总结的基本经验,但是在真正设计程序时,是没有固定套路的,需要自己在实践中去梳理、抽象)
我自己补充几点其他的:
- 有自己擅长的方向、领域,也就是说在某个领域你比大多数做得更好,比如优化,动画,安全。
- 基本功扎实,包括数据结构和算法,计算机操作系统,计算机网络等等。
- 掌握其他方向的技术或语言,比如 JavaScript、Python 等前后端技术、语言。
- 有自己的 GitHub,里面有不少有价值的内容
- 有自己的博客,里面最好要有自己的一些思考和积累、总结,这些往往代表着积极思考的结果。
- 表达能力:说得明白,写的清楚
Last but not least,那就是不马虎,追求卓越的品质。我相信,不论做什么事情,要想做好都是如此。