当前位置: 首页 > Web前端 > HTML5

程序员的进阶之路

时间:2023-04-05 01:36:00 HTML5

原文链接:https://dsx2016.com/?p=719WeChat公众号:BigBrother2016既不是工具也不是技术也不是方法,只是说一些方向。很多东西可以按照进度和阶段来划分,比如程序员的新手、初级、中级、高级。但这个层级也分为内部和外部。公司招聘的中高级职位,取决于业务的能力要求和薪酬分配的层次,这是市场的宏观定义。个人的中高层在于自我能力的提升,自我能力的提升来自于技术,但又不限于技术。多维度综合测量。首先是阶段,然后是高级阶段。学会阶段,找到自己现在的位置,了解自己的优势和劣势,然后才有下一步。advanced、excellent等词汇是一个很抽象的概念。用可量化的东西来描述,描述一些答案高级程序员:5年以上工作经验能快速写出一些常用算法能独立开发框架和库出版过技术书籍带领团队完成项目面试过程不足以展示位置靠前,协作失误,不能说明人才不协调。共同的水平分为垂直,不同的水平。无论程序员的职位和技术栈如何,总有一些共同点。就像前端开发和后端开发一样:在版本管理和协作方面,Git和Svn是必须会的,其他的暂且不考虑。调试和面向搜索引擎,定位和排查问题也是技术能力之一。大到硬件,鼠标/键盘/电脑椅,小到细节,文档/注释/命名,还有周报和会议。这些能力是基础。即使是地基,可调整的空间还是有很大区别的。80分调试能力的人工作效率往往是60分人的几倍甚至十倍。其他的可以类推。不过在纵向拓展方面,一般到了80点就需要考虑够不够了,因为后面再增加1点,付出的时间精力和收获不一定成正比。一般而言,只学习一门语言就可以满足日常业务的需要。学习更多的语言,有助于拓展思维的边界。但是如果你学过两种以上的语言,你会发现语言之间有很多共同点。中英文,python还是java,仅此而已。请注意,它们是相同的,而不是相同的。和编程语言一样,它们有一些共同点:所有的变量、函数或类都有数据类型,字符串、布尔、数字等都有数据结构,栈、队列、数组、链表等都有设计模式和算法,甚至一些常见的条件控制、循环语句、逻辑运算、模块等都是类似的。理解了原理和思想后,几乎只剩下语法上的不同,或者说是语言独有特性的不同。经过纵横拓展分析,进阶方向还是比较模糊。人站在高处可以一眼看到低处的景色,但在低处看高处通常是盲区,很难看清全貌。回到可量化的高级层次,别人有而你没有。以下是一些临时安排:面向面试的编程,在有业务能力的基础上好好表达自己,Inside市场定义非常重要。对于技术编程来说,语言的学习是非常抽象的,也是非常简单的。可以一步一步来。从编程基础到设计模式再到数据结构和算法,主要核心是理解和学习。面向业务编程,学习和使用是两个场景。业务远比学习复杂。只有通过面试和学习,你才能开始创业。如何学以致用是关键。面向效率的编程,前三个是基础,现在是进阶。快是企业的制胜之道,也是个人的工作之道。到了90%的水平,如何更快是一个大方向。对于面向质量的编程,效率和质量有时是相互排斥的。有时候上网,这是最考验技术能力的地方。代码片段可以快而好,也可以慢而坏。不写框架和库,不了解设计模式,这不是高级开发吗?懂数据结构和算法就一定要进阶开发?高级开发工程师经常使用ifelse之类的,是不是不协调?请谨慎,远离一般方面。量化生活很难证明自己的能力或自我明白。刷题不代表什么,刷多了就什么都知道了。面试不代表什么,面向面试的编程比较多。工作不代表什么,完成任务也不是秀代码。一些临时安排:工作年限,时间越长,经验越丰富。时间长本身就是一个筛选值,大公司的简历和职位也是筛选值。开源项目,内部代码不方便展示,但是开源代码是对外开放的,不管是自己开发的,还是参与知名开源项目的,高质量的代码是基础,基础在github的时间线上,也是不同时期技能能力的辅助记录。知名博客和出版书籍,出版社是筛选值,销量靠读者,也是筛选值,博客浏览量100000+,也是按时间相近筛选值.书籍是知识体系体系,博客是技术成长之路。能量化分析的,一定要立足于分享,面向大众,依靠第一三方作为筛选价值。基于时间线,github和公众号的发布时间不可更改,每一步记录不同时间的变化,展现细粒度的代码层次。基于市场数据,工作年限,岗位薪资,公司层级,产品层级基于战地等商场真实数据。基于平台、出版社、开源组织、技术会议、在线教育、新媒体等,知名品牌都有自己的一套筛选机制。有一个。认清内外定位和进阶,权衡取舍才是王道。