主程的晋升攻略(2):技术篇概要
技术是程序员安身立命的家伙,主程的技术不强,向下难以服众,向上有负重托。
或许有人会问:技术深度上该挖多深才能做好主程?程序员至少有两个高阶成长方向:
1、技术型专家非常热爱技术本身,往往会钻研得非常深,甚至可以不承担管理职责(你心目中的榜样是谁?);
2、项目型专家着力于更好更快的实现项目,主导项目的团队组建、技术选型、架构设计、项目进度和质量管理等等,技术深度上不像技术型专家那么深,一般承担管理职责。
主程属于项目型专家方向,对技术深度广度的要求是够用就好,我对程序开发持实用主义态度,80%的场景只用到20%的知识点,那么就先掌握最常用的20%,让项目能尽快顺利开展推进,遇到问题了或项目不忙了再去深挖。
或许还有人会问:技术广度上是要很广才能做好主程?这个问题让我联想到了类知识竞赛的电视节目《一站到底》,里面的一些站神知识之渊博让人佩服,但如果不是兴趣爱好,不建议为了知识渊博而去渊博。《庄子·养生主》里“吾生也有涯,而知也无涯,以有涯随无涯,殆已”说得挺赞的,我们有限的精力,应该投入与成长目标相关的成长线中。所以主程不用是全才,主攻工作所在领域的技术,辅以一定的知识广度即可。
程序员所从事的领域各有不同,网站、移动应用、游戏、搜索、电商、大数据、智能硬件等等不同领域所涉及的高阶技术差别较大,需根据工作和未来职业规划来分清主次,试想大数据领域的主程去研究3D游戏图形引擎该多让主管头大~~!
本系列技术篇主要围绕网站、移动应用和游戏这些领域的相关技术,包括前端技术和后端技术,力求建立一个这些领域的主程序员必须的知识体系大纲,让程序员同学能有个整体直观的了解。
本系列技术篇会按照用户的一次网络通讯过程的顺序来安排:
1、发起网络请求前:讲DNS原理和CDN
2、网络请求时:讲TCP和应用层分包
3、服务端收到请求时:介绍几种常见的服务端架构和模型
4、服务端内部处理时:讲数据缓存及高性能话题
5、最后介绍日志及账单、安全等其他话题