人
已阅读
已阅读
APP开发工程师技术水平的差别
来源:lexintech.com 发布时间:2017-10-18
APP开发工程师、程序员,根据技术水平、工作经验,大概可以分为下面一些级别:普通开发者、熟练开发者、高级开发工程师、技术组长、技术专家、架构师、一线经理、科学家、首席(资深)架构师、部门研发总监。今天我们就来来讨论一下普通开发者如何进阶为熟练开发者。
我们会先定义普通开发者应该达到的能力水平,然后再介绍他应该在哪方面提升才可能进到下一个阶段。
普通开发者处在第一个成长阶段:专项能力提升。
专项能力提升阶段是初级阶段,你为了搞定事情,必须先具备某些基础能力,比如某种编程语言(Java / C++ / Python / JavaScript 等)、某个IDE (Visual Studio / Qt Creator / Android Studio / Eclipse / WebStorm 等)、某种技术框架(Netty / Qt / SSH / MyBatis / AngularJS 等)。
这个阶段最重要的就是提升专项能力,让自己能够迅速搞定一些别人安排给你的事情,体现出你的价值。
在这个阶段,最起码达到下列水准:
能理解并完成别人分解好的叶子任务
能自己完成一个功能模块的开发
以前端开发者为例,在这个阶段,你必须能将从 UI 过来的某个页面原型转换为可运行、可操作的真实 Web 页面。比如登录页面、比如商品详情展示页面,要能做到实现可视化页面和业务逻辑跳转。
以 Android App 开发者为例,在这个阶段,你必须能搞定类似登录、支付等这类功能。以 App 的登录功能为例,你要能使用特定的布局和组件实现自适应的登录界面,还要能学习使用类似微信、微博等第三方账户的 SDK ,实现第三方账户登录。
你可能很难自己设计一套完整的登录功能(包含口令加密、单点登录、Cookie 使用、验证码、密码找回、第三方登录、多终端同步、角色鉴权、用户数据存储等),但是当熟练开发者或者高级开发者完成了设计,把某个小功能分配给你的时候,你要能够理解这个设计,并将这个设计实现出来,和整个登录系统整合在一起,能够正常运转。
当你能够搞定这些事情的时候,你的专项技术水平起码是这样的:
能熟练搭建需要的开发和测试环境
熟悉所用编程语言的基础语法,有这门语言的知识地图,熟悉该语言本身的各种基础功能,了解这门语言的高级功能
能调用已有技术框架的 API 来实现特定功能
能在实现同一功能的多组 API 之间选择合适的那一组
能熟练使用开发环境和各种辅助工具进行调试
可以解决易复现的、逻辑简单的软件 Bug
能自主学习某个新框架的基础 API ,参考 DEMO 完成某个功能的基本实现
我的总结可能不完善或存在 Bug ,请大家在留言区指正、补充。
要想进阶,就要先在专项技术能力上达到我们前面所列清单描述的水平(那是基础要求),然后再对照熟练开发者的能力要求,有针对性的去学习提高,稳步进入下个阶段。
普通开发者因为不断完成任务,不断做项目,接触、使用了各种各样的“知识点”,于是拥有了各种离散的知识,但这个知识和那个知识很少关联,他拥有的知识,是散兵游勇。
当你的知识点各不关联时,你在遇到问题时,就很难进行系统思考,就很难获得解决办法。
而熟练开发者,则(被动或主动)经历了知识点的梳理、整合过程,把零散的知识点围绕着某个应用场景联系起来,形成了知识体系。
当你有了知识体系之后,遇到和你知识体系对应的场景相关的问题,就可以快速找到相关的知识,系统的分析问题,最终解决问题。
所以说,是否拥有知识体系,导致了熟练开发者和普通开发者的一个非常重要的区别:熟练开发者能够独立负责一个模块或子系统的设计和开发工作,拥有分析问题、解决问题的能力和任务分解的能力,可以分配任务给普通开发者。
从技术水平的角度讲,普通开发者和熟练开发者的区别就在于:普通开发者的知识不成体系,而熟练开发者构建了与某个应用场景相关的知识体系。这样看来,普通开发者要想进阶,方向就非常明确了,一句话总结:构建自己的知识体系。
- 上一篇:H5开发是否会取代APP开发?
- 下一篇:APP开发如何做好后台的设计