程序员的不同境界

    作为一个程序员一路走来,自己确实也有很多体会。特别是最近换工作,自己没事的时候总会对自己进行了不同角度的思考和重认识。感觉自己需要学的东西确实还很多,同事也体会到了一个程序员的不同境界。
    第一个境界就是仅仅考虑功能的实现:以实现具体某个功能而激动和自豪。这个阶段编程一般以实现为目的,其他考虑的很少。这个时候学习的一般是这个开发工具怎么用?这个境界的一般是初级程序员。
    第二个境界就是开始认识到语言的重要性:不再紧紧考虑功能的实现,而开始考虑功能实现的效率和代码的优化。并且这个时候开始意思到语言的重要性,开始学习语言的各种特性,开始把语言和开发工具区分开而不是满脑子都是开发工具该怎样使用。这个境界一般是中高级程序员。
    第三个境界就是开始有意思的去分析:开始去分析需求、分析代码、分析功能的实现。这个阶段考虑的不再是实现而是怎样更好地实现。这个境界应该是系统分析师。
    第四个境界就是开始做架构:作为一个经验老道的程序员,已经知道了前面的路怎样走,知道了道路上哪个地方深哪个地方浅,知道到了拐角的地方该到哪个地方拐弯?并且具备很强的需求和系统分析能力了,需求往那一放,大致一看就具有很强的提炼能力,知道了多深多浅。这个时候就开始做软件架构师了。
    第五个境界就是TeamLeader or 技术专家:TeamLeader:这个境界不是说做到架构师就能自然做TeamLeader的,但是要想做一个优秀的TeamLeader,却必须要你是个多面手,懂技术、会分析、能架构,同时你还必须具备很强的沟通协调能力,很高的视角和远见性以及很好的人际关系等等,管理是一门很深的学问,它是需要用悟才能胜任的。好多程序员转型到PM的,但是真正的编程即牛又能做好管理的不太多,所以这个职位很奇缺,人也很抢手。技术专家:天生爱好编程、喜欢专研技术、专注技术,这类人就是传说中的技术牛人吧。
    第六个境界就是Decision-make(决策人):达到这个境界的时候你虽说以前是做程序的,但是你完全脱离了技术都无所谓了,因为这个时候你纯粹是以你的个人魅力和决策能力去影响和带领团队,这时候你下面有可能有很多PM来围绕你工作,他们都对你心悦诚服,因为你的远见和谋略令他们折服。这就是所谓外行领导内行的最高境界。



分享到:
原文地址:https://www.cnblogs.com/qqflying/p/962069.html