一、设计能力
熟悉如何利用分层、面向对象、MVP、MVVM、设计模式等设计组织代码。
二、编码能力
熟悉所使用的语言的语法特性,知道如何用一两行代码代替初级开发者十几行甚至上百行代码。
三、工程能力
熟悉如何快速构建工程,如何构建可读、可扩展性的工程,如何避免埋坑给后人,如何与人协作维护工程,如何保证工程质量,如何权衡利弊。
四、抽象能力
初级开发者通常会等到逻辑复杂时再抽象封装(甚至怕拖进度或者懒惰而放弃),而高级开发者通常一开始写出的逻辑就为了以后的复用,并且深知一开始多付出的思考设计时间最终都会因为复用得到回报。很多开发框架就是一步步抽象/埋坑/优化而来的。
五、架构能力
一个业务系统如何划分模块?要不要用插件化开发或者组件化开发?模块之间如何协作通信,每个模块之间的技术选型如何做?是用MVP还是MVVM模式,要不要用IOC、AOP?系统细节如何规避问题等等。
六、优化能力
评估、分析、提升性能。优化途径有很多,产品功能优化、业务逻辑优化、基础技术优化、UI优化、电量优化、网络优化、系统底层优化等。
一、设计能力
熟悉如何利用分层、面向对象、MVP、MVVM、设计模式等设计组织代码。
二、编码能力
熟悉所使用的语言的语法特性,知道如何用一两行代码代替初级开发者十几行甚至上百行代码。
三、工程能力
熟悉如何快速构建工程,如何构建可读、可扩展性的工程,如何避免埋坑给后人,如何与人协作维护工程,如何保证工程质量,如何权衡利弊。
四、抽象能力
初级开发者通常会等到逻辑复杂时再抽象封装(甚至怕拖进度或者懒惰而放弃),而高级开发者通常一开始写出的逻辑就为了以后的复用,并且深知一开始多付出的思考设计时间最终都会因为复用得到回报。很多开发框架就是一步步抽象/埋坑/优化而来的。
五、架构能力
一个业务系统如何划分模块?要不要用插件化开发或者组件化开发?模块之间如何协作通信,每个模块之间的技术选型如何做?是用MVP还是MVVM模式,要不要用IOC、AOP?系统细节如何规避问题等等。
六、优化能力
评估、分析、提升性能。优化途径有很多,产品功能优化、业务逻辑优化、基础技术优化、UI优化、电量优化、网络优化、系统底层优化等。
角色 | 职位 |
负责人 | 架构师 |
队员 | 产品经理 |
队员 | UI设计师 |
队员 | iOS工程师 |
队员 | 安卓工程师 |
队员 | 前端工程师 |
队员 | 后端工程师 |