一不小心已经混了这么多年了,过了而立之年,也就开始职场竞争力倒计时了。这些年根据工作经验,整理了一些内容,也是时候分享出来了。说程序员压力大不是没有道理的,能够有编程思想,能够写代码,这才是刚开始呢:
1.能够熟练编写符合项目规范的代码。首先语法过关,然后编码规范清晰,能够按已有功能完成新的功能。
2.能够编写需求设计,概要设计,详细设计,接口文档,技术方案,数据库设计等文档。能够绘制系统架构图,用例图,类图,甘特图,流程图,表结构图
3.熟练掌握API。UI,样式,动画,硬件能力,进程通信,网络通讯,加解密,存储等等
4.能够对整个应用的框架了如指掌。单页还是多页,如何分层分模块,如何抽象出基础架构,有一定对架构模型储备,能够根据应用的类别迅速定位架构模版。
5.有检索问题,排查解决问题的能力。熟悉常用的论坛网站,或者字典类书籍储备,对于陌生的功能,也能很快找到实现方式。
6.掌握控制台,Toast,debug,mock等多种调试定位方式。
7.熟悉测试流程,能够完成及配合完成单元测试,集成测试,系统测试,性能测试,压力测试,脚本测试等。
8.不仅对开发相关的内容了解,还需要非常熟练的掌握打包,混淆,压缩,发布等流程,能够解决开发到上线的一系列问题。
9.具有宏观软件思维,能够在产品开发过程中,引入日志管理,用户行为分析,风险管理,LBS管理,异常监控等功能,提供完整的运维方案。
10.能够多项目线并行,对于处在不同阶段的项目,能够很好的分配协调时间,保持整体的推进速度。
11.熟悉各种项目管理工具。bug跟踪记录,项目流程管理,版本管理等。
12.日报,周报,月报
13.能够记录开发过程中的问题,经验,并整理输出。
14.能够对软件进行优化。包括模块化、组建化业务功能,布局嵌套优化,算法效率优化,内存使用优化,通讯响应异常优化,健壮性优化,扩展性优化。
15.能够熟练运用版本管理工具,对于模块代码能够做到demo状态,测试状态,集成状态保持同步并相互独立,保证集成状态的代码是成熟稳定代码。
16.具有软件语言,能够在团队协作中,无障碍的沟通代码层,业务层,项目层,产品层,测试层,运维层的问题。
17.能够演示软件,产品功能,能够表达产品功能亮点,用非技术语言进行形象生动的描述
18.能够发起技术交流培训,能够培养新人。
曾经参加谷歌大会,坚信程序员将改变世界。如今每天刷着抖音,点着外卖,也不再去想这些有的没的了。程序员改行或许会成为一种趋势,希望大家能把那些潜移默化中积累和历练出来的思想、能力、方法、技巧,融入未来的每一份工作中,就算不靠代码,也一样给这个世界带去阳光。