C语言指针,超详细的讲解
|
我们不能改变社会的规律,我们唯一能做的就是改变自己,让自己的能力等到持续的发展。 每个人的追求都不太一样。 有的人的志向就是想要从事技术相关工作,喜欢这种解决疑难问题带来的成就感。 有的人内心中渴望领导一个团队,带领团队攻坚,突破,拿下一个个大项目。 不管是喜欢什么方向,最重要的是明确自己的方向。 作为程序员,应该要知道未来的路中有哪些荆棘,分别需要什么能力去克服,从而做大“手中有粮,心中不慌”。 下面我来讲一讲程序员有哪些常见道路可以走。 互联网大厂的晋升通道一般有管理和技术两个通道,一边专业路线,一边是管理路线。 技术类上,是有两个方向:架构师和技术专家 架构师他的侧重点是在“广”上,他主要负责技术的整体和架构,在业务上,需要有很深的理解,有丰富的经验,甚至能做到“走的桥比你吃的盐还多”。 在技术上,能够广泛涉略,掌握的技术知识越多,内力就越加深厚。 我觉得架构师还需要三点必备能力。 其一需要有极强的执行力,能够快速的给出合理的方案,推动技术落地。 其二需要有极强的判断力,能够准确的找到复杂系统的疑难问题所在,就像武林高手,一眼就看出对方的破绽。 最后还需要有极强的创新力,能够创造新的解决方案,解决现有技术难题。 所以从程序员到架构师的成长之路,总的指导原则是:积累经验,拓宽视野,深度思考(可以参考我之前文章《程序员进阶必备能力——深度思考》) 技术专家他的侧重点是在“专”上,这个就很好理解,就是在某个领域能够深入,能够熟悉其背后运行原理。 不同的领域都会存在专家,例如:Java专家、前端专家、图像算法专家、Linux内核专家等等。专家相对架构师,更加专注,并不会考虑太多整体方案。 所以从高级开发成长为技术专家,主要是扩展领域内的技术宽度,提升领域内的技术深度。因为领域也不是特别窄的一个面,而是包含多个技术面。 举一个例子:Linux内核专家,要想成为Linux内核专家,需要掌握,Linux CPU调度、内存管理、进程管理、存储管理、文件系统、设备管理和驱动、网络通信、系统调用、系统初始化等技术面。 在每个技术面中,同样包含了很多技术点,这些技术都是知识盲区,所以需要提升技术深度。 管理类上,也分为了两个方向,技术管理和职业管理。顾名思义,技术管理更加倾向于技术,而职业管理完全抛开了技术,纯粹的商业方向。 技术管理,这个方向是程序员最自然的选择。
大部分的技术管理者,在其从程序员转为管理岗位的时候,都是在领导或公司的要求下,被动的推到技术经理岗位上的,并非是自己当初有强烈意愿、主动去选择管理岗的。 (编辑:怀化站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
