初级,中级,高级程序员和架构师的区别

初级程序员:what

知道问题是什么,按要求完成,境界限制在具体问题。从管理人员数量来说,只管理自己。

中级程序员:how

给出问题,自己决定如何完成,境界限制在具体方向。从管理人员数量来说,管理自己之外,还可以帮到同组的人,可以领导一个项目模块。

高级程序员:why

针对问题,思考问题的本质,对问题有自己的一套理论体系,境界提高到特定领域。从管理人员数量来说,可以领导一个领域的技术团队。

架构师:when&where

对各领域问题已经有比较好的领悟,能充分驾驭这些问题,目标是选择合适的技术和人员组合,保证技术的先进性,对业务的时间和需求的满足性,方案的伸缩性和扩展性。境界提高到跨领域。从管理人员数量来说,可以领导整个产品团队的技术工作(前端+后端)。

高级程序员跟架构师的分界点是,你在开发项目时,不是在想怎么解决具体问题,而是专注于更高层的系统设计,选择合适的工具。前提是你对这一类问题已经比较熟悉或有成熟的应对思路,这样就可以从你的技术池里面选择经过对比的最优的工具,实现系统各种需求。当然架构师也包括其他更高的统筹全局的能力,管理水平等,但充分的技术池是你实现架构能力的基础。

其实,就是能力越大,管理的人越多,责任越大。以行政级别类比:

初级程序员好比乡长:学习什么是经济,什么是政治,管理好自己一亩三分地的事情,上级让干啥就干啥,干好即可。

中级程序员类似县长:老百姓的生活有各种问题,单靠上级的理论文件不能直接解决问题,只能靠自己想办法,根据上级精神把事情做好。

高级程序员类似市长:上级甚至不会告诉你怎么管理,只是设定方向,不参与具体工作。那么你就要自己去设计城市发展路线,思考城市如何去发展。

架构师类似省长:省长在清朝叫封疆大吏,表示可以主政地方,对特定地区的发展已经有比较好的把握,比如资源型省份,外贸型省份,内需型省份,农业型省份,旅游型省份等。这个级别,你要关注的就不再是去参与具体问题的解决,而是对地区经济的发展寻找合适的药方和人。设计好整体的路线,发生具体问题时,找合适的人去解决就行了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • //我所经历的大数据平台发展史(三):互联网时代 • 上篇http://www.infoq.com/cn/arti...
    葡萄喃喃呓语阅读 51,289评论 10 200
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,742评论 18 399
  • 我想象着 我的爱人,像你一样 那甜美的微笑 如山间清爽的风 我想象着 我的爱人,像你一样 那纯洁的心灵 如天池清澈...
    要阿龙阅读 180评论 0 5
  • 这两天流行的文章,告诫女孩子要学会保留,在婚前不能太懂事太为对方考虑,得让对方和他的家庭在时间,经济等各方面多付出...
    我爱心自在阅读 336评论 1 0
  • 阳光,与这个六月 是一份恩赐 雨露,却被赋予了 爱的名字 风的清爽 是树弯了腰的倩影 那排了整齐的队列 是你们自信...
    浅浅蓝九妹阅读 388评论 0 4