文章插图
资深程序员是团队中最强大的生产力 , 但往往被不合理的工作安排浪费掉 。因此作为一个团队的技术的“头” , 必须要有明确清晰的认识 , 把主要的事务性工作剥离出来 , 并且放弃大量的管理“权力” , 以提高团队开发质量和效率为最主要的目标去安排自己的工作 。
一般来说技术总监其实会被要求做事实上是2个职位的工作:主程、项目经理(技术化)
因此必须明确此两个职位的工作任务分割 , 然后把项目经理的工作 , 安排给另外一个人做 。当然其职称可能同样也得叫“技术总监”或“主程” , 总之听起来越牛X越好 。而真正的主程(技术总监)则应该投身于尽量多的技术工作中 , 其中最重要的工作则是开发———生产代码和文档 。
主程的工作一、开发从来没有一个资深的外科医生会放下手术刀 , 而转到手术室外面指手画脚 。一个资深的程序员也不应该离开代码和文档的编写 , 而只是做做架构图 。作为对一个复杂系统的负责人 , 必须亲手领导和参与建造 , 才能有足够的能力去负担起这个责任 。因此需要至少使用60%的时间来参与开发的工作 , 并且建议从一开始上班就开始 , 虽然早上的效率很低 , 但是跟任何艰巨工作都一样:万事开头难 。
在你好不容易等待电脑慢吞吞的打开了所有的IDE、需求文档、参考资料、工作计划这堆要命的东西之后 , 你就迈出了最重要的一步 , 你会发现你不再需要在网上看微博和聊QQ来提振开始工作的激情 , 而会被某一个优化代码的灵感而激励 , 或者被一个复杂而有趣的问题所吸引 , 从而更快的能投入到开发中 。坚持打开电脑做的第一件事是打开IDE软件 , 是这一切最重要的一步 。
文章插图
开发的工作内容包括:
1. 提出非功能性需求一般来说功能需求总是让开发人员焦头烂额的主要原因 。但实际上 , 很多项目死在发布之后 , 却是因为性能、产品质量、扩展性、二次开发效率等非功能性需求没认真去解决而导致的 。
主程作为经验最丰富的成员 , 必须要利用自己曾经的经验和教训(在这里教训往往比经验重要) , 提出那些自己折腾自己的“非功能性需求” , 来保障整个项目在发布后不会轰然倒塌 。
这是个吃力不讨好的工作 , 因为老板和客户往往只会抱怨技术人员在玩弄把戏 , 骗取更多的资源或者杞人忧天 。如何说服这些家伙也许不是主程的工作 , 但是主程必须要以高度的责任心把问题放到台面上来 。沟通的工作也许让项目经理去做会更好 , 他们有一整套如何威逼利诱老板和客户的戏法 。
非功能性需求中 , 其中有三类:
- 性能需求
- 运维需求
- 开发效率
运维需求运维需求的目标是尽量自动化 , 这里除了最基本的批量启动、停止、重载静态数据(配置)外 , 还应该包括自动读取本地IP地址 , 以及自动下载配置文件来启动;等待所有用户退出后才停止的“安全退出”;自动检查进程停止后重启等等功能 。
但是运维的工具也要避免过度设计 。很多人往往一想到搞运维工具 , 就想搞一个功能非常大而全 , 具备漂亮的WEB界面的大平台 。实际上真正救命的往往是一些自动化的小型工具 , 只有这些小工具和小功能都齐备了 , 耐心额漂亮界面的平台系统真正有意义 。所以这主要依赖于经验 , 但也需要有想象力 。
推荐阅读
- 1999年大事件发生了什么 1999年轰动全球事件是什么?
- 招聘|大学毕业生找到一份销售工作,却发现做的事违背良心,该怎么办?
- 博美犬吃什么 博美犬饮食注意事项
- 蜂蜜菊花茶的做法,喝菊花茶的注意事项
- 马航失踪事件 马航客机失联真相大白
- 吉娃娃吃什么 吉娃娃饮食注意事项
- 右眼肿痛怎么回事
- 吉娃娃好养吗 吉娃娃养护注意事项
- 化妆这事儿 男人的8句真心话
- 女性切忌 那些不能公开的梦