2017年鹅厂技术总监总结出的教训和经验(上)

电商
2021
12/25
16:15
网络整理
分享
评论

本文来自腾讯Bugly微信Bugly公众号。未经作者同意,请勿转载。

介绍

2017年已经到了,新的一年开始了,不和大家聊技术了。给大家分享一下鹅厂技术总监多年工作总结出来的一个教训和经验。

由于这篇文章发表在腾讯内部论坛,灵哥每年都会拿出来重新研究。每次他有新的见解和收获,我都强烈推荐给大家。

文本

资深程序员是团队中最强大的生产力,但他们往往会因为不合理的工作安排而浪费掉。因此,作为团队技术的“掌门人”,要有清醒的认识,把主要的事务性工作分开,放弃大量的管理“权力”,才能提高团队发展的质量和效率。作为主要目标。安排自己的工作。

一般来说,技术总监实际上会被要求做两个工作:总工程师、项目经理(技术)

因此,需要明确两个职位的任务分工,然后将项目经理的工作分配给另一个人。当然,他的职位也可能被称为“技术总监”或“主程序”。简而言之,听起来更好。真正的总工程师(技术总监)应该尽可能多地投入技术工作,其中最重要的是开发——生产代码和文档。

主程序的工作:一、 开发

从来没有一位资深的外科医生会放下手术刀去手术室口述自己的双手。高级程序员不应该离开编写代码和文档,而应该只做架构图。作为一个复杂系统的负责人,他必须亲自领导和参与建设,才能有足够的能力承担这个责任。因此,至少需要用 60% 的时间来参与开发工作,建议从头开始。早上的效率虽然很低,但和任何艰苦的工作一样:万事开头难。

当你终于等到电脑慢慢打开IDE、需求文档、参考资料、工作计划等所有可怕的东西后,你迈出了最重要的一步,你会发现不再需要在线观看了。微博和QQ聊天,激发开始工作的热情,会受到某种代码优化的启发,或被复杂有趣的问题所吸引,从而更快地投入开发。执意打开电脑的第一件事就是打开IDE软件,这是这一切中最重要的一步。

开发工作内容包括:

1. 提出非功能性需求

一般来说,功能需求永远是开发者崩溃的主要原因。但实际上,很多项目在发布后就夭折了,但都是因为没有解决性能、产品质量、可扩展性、二次开发效率等非功能性需求造成的。

作为最有经验的成员,主程序员必须利用自己过去的经验和教训(这里的教训往往比经验更重要),提出自己折腾的“非功能性需求”,以确保整个项目不会释放后释放。突然崩溃。

这是一份吃力不讨好的工作,因为老板和客户往往只会抱怨技术人员在耍花招,骗取更多资源,或者担心。如何说服这些家伙可能不是主进程的工作,但主进程必须以高度的责任感将问题摆在桌面上。沟通的工作可能更适合项目经理来做。他们有一整套关于如何恐吓和引诱老板和客户的技巧。

在非功能性需求中,分为三类:

性能要求

最好的性能要求其实就是没有要求,因为性能优化往往是错误的。尤其是有一定经验的开发者更容易“痴迷”。经验不是很丰富、爱学习的开发者,对于网上很多所谓的文章和经验,往往没有太多的识别能力,缺乏动手实践的测试机会。因此,有许多先入为主的传闻观念。大多数这些概念都是关于性能的。不管所谓的性能优化,推荐各种高性能框架和库的文章很多。这个时候,清除复杂信息迷雾的人,只能靠主菜了。

运维要求

运维要求的目标是尽可能实现自动化。除了最基本的批量启动、停止、重载静态数据(配置)外,还应该包括自动读取本地IP地址和自动下载配置文件启动;等待所有用户退出“安全退出”,然后才停止;自动检查过程停止和重新启动等。

但运维工具也应避免过度设计。很多人常常想到从事运维工具,想打造一个功能非常庞大、功能齐全、WEB界面美观的大平台。其实真正能救命的往往是一些自动化的小工具,只有这些小工具和小功能一应俱全,耐心漂亮的界面平台系统才真正有意义。所以这主要靠经验,但也需要想象力。

开发效率

对开发效率的需求一般在代码结构上,这也是最容易产生争议的地方。其实所谓的代码结构是对业务领域的抽象表达,所以对业务领域的理解和体验能力是第一位的。如何抽象业务领域的模型不能照搬别人的经验,更不能完全靠自己的想象。您需要自己对业务领域进行深入思考,同时更多地了解其他项目的模型。

THE END
广告、内容合作请点击这里 寻求合作
代码评审 软件项目经理 开发经验
免责声明:本文系转载,版权归原作者所有;旨在传递信息,不代表云科技的观点和立场。

相关热点

相关推荐

1
3