Ⅰ 程序员是吃青春饭的吗,可以干到多少岁
作为一个技术老兵,在技术行业内混了十几年了,明显能感觉到目前国内软件开发工作,在某些行业就是吃青春饭般的存在,尤其是表现在互联网公司,而且公司越大加班的疯狂程度越强,互联网公司更加喜欢招收一些年轻人毕竟工资相对低一点,冲劲还足最关键能不惜体力的加班,国内互联网公司大部分做的事情跑马圈地,应用级的开发居多,所以难度不是很高,有了2,3年的工作经验就可以跟着做了,谁的执行力强能够加班更加被公司所喜爱,很多老程序员在互联网公司体验几年基本上就回归传统软件企业了。
很多公司在招聘的时候发现年龄超过35岁就开始有意设置门槛了,毕竟这个年龄段的程序员人生阅历也比较丰富,对于职场上的一些事情也摸得比较透彻,说的不好听就是职场的老油条了,公司出个什么政策这帮人看到比较彻底,不容易忽悠,年轻点的更加容易被接受,所以说成是吃青春饭的职业有点夸张,但一定程度上也能说得过去,国外40多岁继续做研发的环境要不国内还是好很多,但也在一定程度上找工作受到一定的制约,现在过40多岁如果还在写代码肯定被周围的人议论了,都这么大了也没混上个管理职位之类,现在这个年龄段还在一线写代码的数量也不在少数,基本上属于公司顶梁柱存在,绝大部分做着技术管理,并没有完全脱离技术岗位,遇到难点还是上阵去解决问题。
老程序员如何在技术生涯找好自己的方向点?1.尽早向技术管理方向转移
越是拖到最后完成转型形式越是被动,管理是一种学问,不像是玩技术你把自己管理好久万事大吉了,技术类的管理如果在技术能力到位的情况下可以,以技术服人这样无形之中减少了管理的阻力,更加容易让底下的人信服,平时多补一些管理方面的基础。如果有转的想法今早实施,做什么事情都要趁早。
2.将技术进行到底
技术类在职场上的分支有两个主项,一个是管理方向,可以沿着这个路线一直做到副总或者更高的级别;还有一个技术专家方向,对别的事情不感兴趣就想着一辈子能研究点技术,也没有什么大的追求,在很多公司专门设置某个项目的技术专家称号,职位基本上和技术经理持平,算是同一个级别,同样是拿着这个级别的薪水。
技术职位如果技术足够强,可以考虑直接在这个方向一直走向去,无论国内还是国外对于高级的技术专家永远都是持开放的程度,金字塔上层的技术人才毕竟是少数,但也是技术领域一直欠缺的,如果喜欢技术并且干的还不错就可以考虑在这个方向上一直坚持到底。
3.转行做别的职业,闯出另一番天地
很多程序员中间转行挑战别的行业,只要能把一个职业做好一定能够把别的方向给弄好,尝试新的天地未尝不是一个方向,新的方向新的起点新的挑战,可能带来的是新的收获。
作为一个程序员也有随着年龄的增长有一种无形的压力在心头,能做的就是拼命提升自己的技术能力,担心年龄大了淘汰,只能是继续提升技术和管理水平。
希望能帮到你。
很多人都说程序员这个行业就是吃青春饭的,为什么会有这样的问题呢,难道程序员真的感到30岁就要退休了吗,或者必须转行吗?程序员难道不就是敲代码吗,难道年纪大了敲代码就不能敲不动了吗?不是都说程序员靠经验吗,经验越丰富,不就是技术越丰富吗?作为过来人,今天索性没啥事,就和大家一起聊聊这个话题吧。
首先、先说说为什么会有这样的传言,为什么会有这样的说法吧。
第一个 就是很多人在这个行业干久了,从大学毕业到30岁至少也得6,7年了吧,行业做久了很多人自己也会感到厌烦,也想换换新的行业,尝试一下新的岗位,当然转行有风险,所以很多人转行都是转比较靠近的,比如做运维、做产品、做教育、当然走管理路线也是,这些都是比较轻松好转的行业,基本风险不大。
第二个 就是很多做开发公司加班比较多,晚上下班回家比较晚,陪老婆孩子没时间,况且加班熬夜身体吃不消,搞不好把身体搞垮了,而且大部分程序员都是懒得运动,健身的人,作息时间不规律,最后30岁的人居然熬成了快60岁的大爷,这就是为什么很多人都说程序员就是秃顶(这里我要澄清一下不适所有程序员都是秃顶呀,至少我还完好的保留着头发),在这里不得不替这些人伤心3秒钟。最后连娶老婆都去不到,还有很多连说话都说不通的人,表达能力已经到达到了原始 社会 。
第三个 就是很多那种在公司混日子,技术能力差一点的,以为公司就是可以养老的人,技术干不过别人,工资不见长,可以说非常佛系的,在这个行业混了个6,7年,终于待不下去了,压力大呀,老婆孩子一家人的希望呀,最后选择了转行,最后离开的原因竟然是公司不需要这种人了,但是我们想想哪怕是争一口气也不会混到这么差呀。
其实呢,不是说程序员真的就是考吃青春饭,30岁之后就必须的转行,想想原因还是在这些人自己身上,年轻不愿意拼实力,不愿意积累点能量,真正有技术的人,想想公司能放走嘛、高薪难道还差吗,除非那公司真的做的有点过分,亏待功臣,卸磨杀驴呢,自己不争气在前,怎能怪别人呢。
当然加班、熬夜这些都是存在,但是其他行业也不好做,那些高管,有钱的职业经理人,哪一位不辛苦呢,而且其他行业也是一样,老板虽然压榨,但是真正想要福利好的,除非公务员,不然工资很低,所谓功高者后禄,这个不会假。
另外当然也有很多愿意尝试新行业的人,愿意挑战,尝试新的开始这也有很多。总的来说,程序员真的是不是吃青春饭呢,不能一概论之,有经验,有能力的人,高薪,谁愿意走。
绝大多数程序员确实是吃年轻饭。
不管你愿意不愿意承认,等你到40岁之后就知道了。
这里有个界定,从事研发的排除在外,从事开发的包括在内。要注意研发和开发是两个不同的概念。
一般研究所,研究生院中的程序员多叫工程师,这类人是越老越值钱。年纪大经验越多,能力扎实,对做研发突破苦难起到至关重要的意义。
而开发不同,开发更多是面相年轻人来做的,你开发一款软件给60岁的老大爷们,且不说你开发的好不好,老大爷他也不会用。
一般从事开发的程序员在35-45岁时是个分水岭,能力强,有水平能熬到领导层,或者能独当一面,那么就留下来。如果不能基本就被淘汰了。而这部分留下来的人只是少数。
为什么程序员要年轻化?第一,上面说过,开发主要针对的用户是年轻人,那么只有年轻的程序员才知道年轻人喜欢什么爱好什么。让一名60岁的老程序员写一个 游戏 ,能火起来的概率不大。第二,年轻人无牵挂,肯吃苦,能加班熬夜,工资待遇又相对低。上了年纪的程序员家里有老婆孩子需要管,还有父母需要照顾,也没有了年轻时干劲,思想也渐渐和 社会 主流脱钩,并且工资还极高。这个时候如果这个老程序员不能为企业创收,那么辞退一名老程序员,省下的薪水可以在招好几个大学毕业生。
有些话不是空穴来风,也不是无能人的借口,看看各大企业裁员的年龄段就知道了。
只有码农,靠蛮力,用体力而不是用脑力的程序员才是吃青春饭的人!
大多数程序员都认为程序员是个吃青春饭的职业,编程这个事只能干到30岁,最多35岁吧。每每听到这样的言论,都让人感到相当的无语……
有研究者用了最近5年内比较流行的技术Tag,然后用了一套比较严谨的算法来查看那些所谓的“老程序员”是否在新技术上跟上不了,所谓跟不上,也就是这些老的程序员在回答这些新技术上并不活跃。所谓老,就是37岁以上的程序员。
老程序员和年轻的程序员对于一些新技术的学习来说也是差不多的,甚至有些项目还超过了年轻的程序员:
1、程序员技术能力上升是可以到50岁或60岁的。
2、老程序员在获取新技术上的能力并不比年轻的程序员差。
由于如今许多的年轻程序员太浮躁了,才会说30岁是程序员的顶峰。
其实,对于大多数人来说,如果还没有编程到30岁,还不能成为一个“合格”的程序员。所以,并不是编程编到30岁就玩完了,而是编程编到30岁才刚刚入门。
在我身边,就有一些年龄在40以上,并且还对技术保持热衷的“老程序员们”,他们无一不是身怀绝技,在公司身居要职或高管,成为公司最宝贵的技术保障。
工龄超过三十年了,做了一辈子程序员,单位还在不断招人,所以还有事情做,没有坐冷板凳,不存在什么危机。。
公司也很重视加班,但我早就过了干体力活的阶段,领导并不管我加不加班。进度慢了领导就会说你需要人吗。
学新技能么,还好吧,java,c语言这样的经典可以用一辈子,重要的是有编程思维,学习并使用哪种语言很容易。
做一辈子程序员肯定是可以的,只是很多人不愿意而已。可能男人野心大了些吧,编程一辈子觉得很丢脸,总想往上爬。。身为女性就没那么多想法,人到中年,有人愿意雇我们有口饭吃就满足了,老老实实干活的人,老板不会不要的,换过几次工作,并没有遇到年龄障碍,也没有刻意去经营人脉,你的表现如何,别人都是默默看在眼里的。。
回顾一下,有几点经验,一是不管坐哪个职位,不能丢掉编程这个技能,做了很多项目的负责人,框架自己搭,核心模块自己写,技术掌握在自己手里,项目完成有保障。。项目结束了,就要去当普通程序员,有一手过硬的编程技能,还是挺受欢迎的。二是不能总是生活在一个舒适圈里,要不断学习新知识,迎接新的挑战,每次接受新的项目或任务,一定要有所突破,不能只是单纯的重复。
我也算是这个行业的一位老兵了,从13年到现在也快八年了,程序员其实是挺费身体的,熬夜加班家常便饭,所以我觉得程序员是在吃青春饭,互联网公司基本上都存在一个问题就是看谁下班的晚,不管你在公司有没有在做事情,只要你下班比其他人晚那么你的绩效就一定不会差。至于我现在的话已经没有经常加班了,偶尔发一下版,上下班都比较规律,这就是我还在坚持的原因,程序员能干到多少岁这全看你自己,我身边三十多岁依然在干程序员,虽然程序员吃青春饭,但是你自己也可以选择往中层或者其他岗位去转,肯定不能再像初出校园那样,不然身体迟早吃不消的,秃头,脂肪肝,亚 健康 ,近视,腰椎间盘脱出这些都是普遍存在的,大家不要觉得程序员的工资就一定非常的高,这也要看地方,像重庆程序员的工资还真不如有些工种。
大多数程序员认为程序员是吃青春饭的工作。编程只能干到30岁,最长可达35岁。我经常听到这样的话,都让人感到适当的无语......
今天,我们来谈谈这个老话题......
首先,我们来看一篇论文《Is Programming Knowledge Related to Age?》(英文版)。本文是来自北卡罗来纳州立大学计算机科学系的两个人,他们在StackOverflow.com上对用户进行了相关的数据挖掘。一些数据出来了。(StackOverflow.com上的数据被公开,任何人都可以使用它进行分析和核算,所以这篇论文的实际情况还可以。
让我们来看看他们的年龄分布图:我们可以看到程序员年龄的正常分布(高点大约是25岁,但中点大约是29岁)然后,计算每个人的月营业额,这样你就可以找到用户的真实生动的时刻,这样便于计算程序员的真正才能。 (总声望/活泼时刻),我可以得到他每个月均匀得到的Reputation。我们可以看到程序员的才能从25岁开始上升,并且直到50岁才会开始下降。因此,程序员不吃青春饭的。只有码农,依靠蛮力,使用武力而不是脑力的程序员才是吃青春饭的人。
年龄大可以跟上新技能吗?该论文的作者使用了过去5年更受欢迎的技能标签,然后使用更谨慎的算法来检查所谓的“老程序员”是否跟上新技能。所谓的跟不上,也就是说,这些老程序员并没有积极回答这些新技能的问题。所谓的老,就是是37岁以上的程序员。
我可以看到老程序员和年轻程序员在学习一些新技能方面相似,有些甚至超过了年轻的程序员。
论文的结论是:
1、程序员技能可以升至50或60岁。
2、老程序员在获得新技能方面并不比年轻程序员差。
结论
从上面的数据可以看出,由于现在很多年轻程序员都太浮躁了,据说30岁是程序员的巅峰。事实上,对于大多数人来说,如果你没有编程到30,你就不能成为“合格的”程序员。因此,并不是编程编到30岁就玩完了,而是编程编到30岁才刚刚入门。
这个问题,我应该比较有发言权,大城市呆过2年然后回了小城市,5年程序员转行当老师。大部分程序员是吃青春饭的,因为大部分程序员干技术,只是停留在应用层面,没有足够的平台,5年后很难再有质的提升。技术有了提升后,还需要有足够大的平台才能撑的起你的薪资。我离开程序员行业的导火索是见到某公司,辞退唯一的一个45岁架构师。当然如果你可以不要求高薪,放平心态,我相信很多公司还是愿意要大龄程序员的。
到35岁还在基层那基本上就是没希望了,随着年龄增长,思维能力不如年轻人,如果不能升上去带团队,那只能一直做基层码农。
程序员三十以后就老了,一是技术更新太快,二是经常性熬夜加班,三十以后转管理岗,搞技术吃不消了。
Ⅱ 中国程序员VS美国程序员,差距在哪里
当然小编并不是在长他人志气,灭本国威风,只是想小小提醒作为程序员的你,一定不要以学编程、拿高薪作为自己唯一的人生目标。就好像创业路上的你,无论在什么时候,我们都要不断提升自己的专业度和竞争力,永远保持一颗热爱自己事业的工匠之心,坚定的走下去。互联网行业千变万化,要不断的学习,更新知识系统,才能永远不被这个社会所淘汰。
Ⅲ 编程技术人员是不是都是很牛逼
不见得都是牛逼的。
但牛逼不牛逼 有多个维度衡量
例如 BUG率,代码风格,解决问题的能力。
Ⅳ 解密:同样是程序员,月薪3千的员工和月薪3万的员工区别在哪
时代在逐渐改变,有的行业在不断被新行业取代,并且也出现了更多的新岗位,要求着年轻人不断的学习新技能来适应潮流改变。像是互联网如此盛行的时代,程序员们就显得非常重要,一定要有实力和技能才能在公司中稳定的任职,而在程序员职业中,有的人一个月只拿了三千,但是有的人是能够拿到三万的,这两种员工之间的区别在哪呢?
第一个不同,各行各业都有新手和老手,做程序方面也是有能力高低区别的,这种实力的高低就是决定工资多少的关键。工资少的员工自然能力有限,每天重复着差不多相同的工作,内容也是比较单一和技术含量较低的,算是做着与工资相当的工作。而拿着月薪三万的员工就不同了,这类员工一定是做程序实力很强的,并且承担的工作也是项目中比较重要的一环,讲究的是认真和细致程度。
第三个则是两者的学历不同,月薪少的大概是专科或者是本科水平,接触到的教育和程序设计学习不同,而三万的员工可能会是高校的本科或者是研究生,乃至更高级别的学历,他们接触到的程序学习更加广泛,实践性可能会更强。
总之,有实力的人才会得到更多人的认可,也会遇见更多的工作岗位,月薪三万的设计师们是绝对有作品来证明他们水平的,算是拥有配得上高薪工作的能力。而月薪三千的员工也有他们的工作内容,任何一个部门或者是环节在公司中都是不能缺失的,不论工资多少,靠着自己的劳动获得回报是最光荣的。
Ⅳ 程序员有很厉害,不外传的代码吗
所谓程序员,是指从事程序设计、程序开发、程序维护的基层工作人员。
程序员包括两大类:
1,程序设计人员。
一个程序,就是一个系统。对于一个规模庞大的程序来说其结构非常复杂,各个部分的功能之间的衔接非常复杂,所以需要预先对整个系统的架构进行设计,程序设计人员的主要工作就是如此。
2,程序编码人员。
编码,也就是代码。……程序是由代码组成的。相应的,程序代码是由程序员一段一段编辑而成的。……因此,代码也就成为程序员业绩和能力的代表。
编程序、写代码,其核心就是算法。……掌握一套精密有效的算法,就能把一段程序编好,使其发挥出最佳功效。
从这个角度说,程序员所掌握的最厉害的工具,不是代码,而是算法。……代码对于程序员来说,只是砖石一类的工具,而算法才是程序的核心。……一段程序,代码的生成很简单,但是其中包含的算法却是非常深奥的。……因此,设计出一套算法,对于程序员来说才是最关键的事情。
从这个角度说,程序员最厉害的并不是拥有一段代码,而是掌握一套算法。
另外,程序员这份工作其实也有不同的分工。并不是所有的程序员都要敲代码的。……实际上,程序员工作职责涵盖面非常广泛。以下几方面工作,都属于程序员的工作职责:
1,负责软件的设计、开发、测试。
2,与客户进行沟通,明确客户需求。
3,项目调研、可行性分析。
4,解决软件开发和维护过程中的各种问题。
5,对本专业领域范围内的技术动态进行跟踪分析。
由此可以看出,程序员并不全都是敲代码的人,还有很多程序员是负责软件系统相关工作的人。……当然了,虽然因为分工不同,有些程序员不写代码,但是他们肯定是能够看得懂代码,并有能力修正其中的问题的。……他们当中的每个人都对于某个具体领域的算法非常擅长,这就是他们的绝招,是他们实力最强的领域。
Ⅵ 淘宝预售“买崩”,程序员20分钟完成修复,现在程序员技术水平有多厉害
程序员的技术水平的确是特别高的,而且他们也特别厉害,因为他们能够成为更加优秀的员工。程序员在我们的社会中发挥了巨大的作用,他们不仅能够维护网络秩序的稳定,而且也能够让我们在互联网自由翱翔,能够解决很多突发问题。
程序员不仅需要提高自己的专业能力,而且也需要不断进步。因为他们面临的问题会越来越多,而且这些问题可能会越来越难,他们需要不断锻炼自己的能力。淘宝预售“买崩”,程序员20分钟完成修复,现在程序员技术水平有多厉害?他们的确特别厉害,之所以这么说的原因有三个:
一、他们能够不断提高技术水平。
他们之所以能够变得越来越厉害,就是因为他们在工作的过程中不仅能够注重个人能力的提升,而且也能够学习更新的技术。他们能够运用更加先进的科学技术解决更多的问题,并且也能够不断提高自己的技术水平,因此他们才能够成为更加厉害的程序员。
以上就是我的相关看法。
Ⅶ 如何辨别一个程序员水平的高低
1.自己介绍项目,看对项目的提炼总结能力(也是抽象能力);
2.自己印象最深的bug,可以知道大概技术深度;
3.设计模式提问,看有没有学习方法;
4.语法基础问题,多线,分布,安全等问题,看知识面广度;
5.智力问题,看反应能力,分析问题思路等
上述五步基本可知是否是一个好程序猿
计科专业从事软件开发十几年了,主要在浏览器内核领域研究的比较多,最近在研究服务器后台方向,辨别程序员水平高低主要看做出了什么产品,如同现在的程序员主要是项目经验,简历上写的一堆项目经验都是面试的时候主要提及的问题。经常在面试中会问两个关键点:一个是做过什么项目;一个是在项目组中承担什么职务,毕竟参与过和做的多少程度是不一样的,这些都是可以通过一些具体的细节检测出来,问题越具体越是容易看出水准,具体的东西不是能够编造出来的。
有很多技术公司直接不通过笔试,仅仅通过简单的面试就确定工资水准了,最简单的测试程序员水平的直接用笔试的方式,笔试可以把一些细节量化,尽量的细节化也是能测试出程序员基本功的,但这种基本用来测试初级程序员的,很多高级的程序员看到有笔试直接就抬腿走人了,因为有些程序员在一个方向做的时间太长了,很多基本功都忘得差不多了,所以笔试可能不过关,现实中很多程序员笔试不过关,面试还可以,也一样可以做项目说的就是这类人,起码这算是非常优秀的程序员。
有很多公司采用谷歌的方式,直接采用上机写代码的方式检验程序员水平,这种方式比较直接,但在现实中可能消耗的时间以及面试官的精力,目前只有极少数的公司用这种方式,国外的公司用这种方式比较多,这种看基本功非常有效。通过代码可以看到编码习惯以及算法的设计上,都能直接看的出来。
普通的程序员直接看项目的经验,高级的直接看做过的产品,特别是产品主要设计人员,这就是程序员内心的自豪感,毕竟作为一个程序员起码要有自己设计开发的产品,也算是不白做一个程序员,在程序员的职业经历中如果能经历过一个产品从开始设计的初稿到最后推向市场,如果是完整的经历,将是一种巨大的财富,只要经历过一次都会对产品设计有一个比较层次的认识,这种能力需要靠直接的面试语言表达来展示出来,谈下对产品的认识以及产品稳定性性能等方面的总结,能到这个层面起码是高级软件工程师的级别。
当然有些程序员内在的东西不是靠语言或者写代码看出来的,因为一个优秀的程序员不仅仅是代码能力以及框架能力,还有几个非常重要的能力
程序员的能力表面是可以直接展示出来,但很多内在需要是需要时间的磨合才能了解,人就才能见人心,而且很多优秀的程序员是培养出来的,能够长时间在一起的队友都是时间长了磨练出来的。
希望能够帮到你。
自认为不是一个好的面试官,因为我认为在这么短的时间内,准确地衡量出来程序员水平的高低是有比较大的难度的,并且我有多次看走眼的时候,面试的时候觉得能力还不错,但是入职工作了一段时间之后,编程能力不忍直视。
工作之后接触一段时间,我会从这么几个方面观察他们,以判断技术能力的高低和发展潜力。
能不能出活儿、能不能debug
能不能把开发任务按时按质量地完成,当然是最主要的衡量标准了:
解决问题的方法
在开发过程中,难免会遇到没有见过的问题,有些程序员遇到问题无从下手,而优秀的程序员,自有一套解决问题的方法。
分析问题、流程设计的思路
有人会认为,程序员的主要工作就是敲代码,上班大部分时候都是在敲代码,其实并不是这样:
总结问题和改进问题的能力
好的程序员,相同的问题不会犯第二次,差的程序员,总会在一个问题上栽跟头:
我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。
不请自来,一介码农路过,留下些看法。
程序员主要是有四种综合能力,也就是debug 能力、 performance分析、 保护性编程和 投入产出比。
仅仅独立完成日后必然成高手?在这里不能说一棒子打死,至少对于很多人来说,能独立完成是没什么问题的,有的是因为对业务熟悉,有的是真的基础扎实。但怎么说呢,程序员和浏览器打交道是最多的,现在这个互联网时代,遇到的大部分问题网络都是可以解决的,也就是普通程序员 + 网络 = 超级程序员。 但很多人也没明白具体的原理,甚至都是这个项目抄抄那个项目抄抄的,久而久之虽然解决了平时的业务,但进步的空间却很少,甚至止步不前,写出来的代码也可能存在很多坑,所以,仅仅能独立完成任务的话,离高手还有比较远的一段距离。
如何辨别高手程序员?也就是结合我们一开始列举的那四个能力进行判断。不同级别的程序员,在那综合能力面前,强弱也是不同的。例如在奔溃的或者其他性能调优问题上,即使是面对大量复杂的代码,在信息不全的时候也会一步步的分析,抽丝剥茧缩小范围,最终定位根本原因
,并且最终给出一个好的方案。
如何成为高手程序员?
当然还有看他摘了帽子是否秃顶这样的笑话,就再不赘述了。
第一阶段(黄金):会用编程语言实现需求,比如现在的业务系统,都会找一些会搬代码的人来拼工作量,也就是能自己独立基于搭好的框架实现crud常规操作。
第二阶段(铂金):除了crud,还会有一些自己踩过坑的经验,知道如何处理一些常见问题,或者可以基于搜索引擎快速解决一些异常情况。
第三阶段(钻石):能解决一些疑难杂症和会通过debug部分源码类库查看到这些疑难杂症是如何引发的,并通过编码解决这些问题,还能进行一些局部的性能优化,类似某个系统接口缓慢可以单独去优化。
第四阶段(星耀):会基于整个系统进行设计和规划,根据业务特性选择合适的框架,从源头控制开发遇到问题的频率,可以自主的搭建框架并完善机制,了解各个组件工作原理。
第五阶段(王者):小说里面总是说练武功的永远比不过创造武功的,同样的道理,用框架的也往往不如写框架的,所以写框架的这类人单独分层。
第六阶段(荣耀):其实这个阶段不应该列入进来,因为这类人往往不编码的,只是给出思想;像Hadoop这种框架就是基于人家发表的一些论文(bigdata)进行编码实现的,这类人注重的是思想和算法,区块链,大数据,云计算等等概念的创造和理论的支撑是这类人提出来的,这些人才是真正影响行业走向的人。
程序员的水平高低,不是靠语言或外在表现就能看出来的,不是看他会多少技术、参加过多少项目、写了多少博客,而是看他在实际业务场景中解决问题的能力,尤其是面对一些特别复杂的问题,或在高强度、高压工作状态下解决问题的能力与态度。
技术可以通过学习掌握,但是解决问题、定位问题的能力却不是一蹴而就。大家可能会说,“解决问题的能力”这个太宽泛了吧,可以更具象化吗,有具体的测量方法吗?简单整理了以下几点供参考。
会写出满足需求的代码,早就不是评判程序员水平的标准了。代码编写既要满足业务需求,同时还要考虑后续的软件维护,说得通俗些,既要自己爽,也要别人爽。一个优秀的程序员,会致力于写出更简单、更效率、可读性强、扩展性强的程序代码。
程序员在日常工作中,需要理解各式各样的业务需求,所以这就需要程序员具备一定的逻辑思维能力。可以说,逻辑思维是程序员的灵魂,因为每一行代码都是程序员逻辑的体现。
项目着急上线,发布时出现问题?
业务高峰时段,系统宕机了?
业务催、运营催、用户催、老板催!
各种形态的bug,各种着急的心情,背后无数支眼睛盯得内心慌慌......
这些都是一位合格程序员所需要面对的日常。不同的程序员,在解决问题的方法、效率、质量等方面,都各有千秋。一个经验丰富的程序员,能够扛住各方压力,在复杂条件下找到核心问题,通过抽丝剥茧的分析来找到产生问题的原因,并快速进行应对处理,事后及时复盘总结,减少同类问题出现的概率。
随之互联网的发展,越来越多的人涌入程序员这个赛道,竞争日益激烈,加之新技术层出不穷,更新迭代快,程序员所使用的语言、框架、模式都会发生天翻地覆的变化。如果不主动学习,你很快就会被落伍淘汰。
这种其实在面试过程中能体现出来,沟通主要是技术沟通,以及和客户之间的沟通,所有技术都不是闭门造车就能搞定的,沟通能让事情推进起来更加顺畅,包括和产品经理之间的流畅的沟通也显得非常重要。程序员的能力表面是可以直接展示出来,但很多内在需要是需要时间的磨合才能了解,人就才能见人心,而且很多优秀的程序员是培养出来的,能够长时间在一起的队友都是时间长了磨练出来的。
线上出bug了,第一时间响应、处理;
团队项目进度紧张、人手紧缺,主动补位;
又或者,在项目推进过程中如果只是关心自己模块内容,对于整个项目置之不理,只守着自己的一亩三分地。
随着时间轴的拉长,你会发现,有此f技术能力不是最好的,甚至不如你的小伙伴,最后做到了技术主管或经理、甚至更高职位,这里面除了技术实力,还有一个叫“责任心”的东西。
结束语
判断一个程序员的水平高低,核心是其解决问题的能力,而解决问题的能力养成,需要扎实的底层基础来支撑,要综合其代码质量、项目经验、框架能力、逻辑思维等等多方面,不能单看某一方面。
而对于1-6岁的程序员来说,想要成为一个高级程序员,变得越来越优秀,唯有持之以恒去学习、积累、实践、修炼。
----end----
一:50岁的时候,头发还是黑色的浓密的。
二:赚到的钱能保证家人快乐的生活。
三:当公司不要你的时候能成功转型。
其他的例如编程经验、写代码厉害啊什么的根本不值一提。
这就是程序员的面试嘛 :-)
(1)是否能熟练使用所用编程语言的主要功能;
(2)是否知道用合适的数据结构解决问题;
(3)是否知道基本的算法,并且用这些算法解决问题;
(4)只看少量代码的话,从变量命名和程序结构一般能够判断是否是新手;
(5)给出具体问题,能够用程序解决,能考虑到所有的边界条件;
(6)考虑程序的可扩展性,可维护性;
再往高一点走,就需要
(7)面对模糊的问题能够分析并且找到细节和具体的需求;
(8)知道利用已有的库,架构和工具等来解决新的问题,而不是什么都自己实现;
(9)能发现并改进已有程序中的瓶颈;
(10)对整个大项目的程序架构有很清晰的了解,知道相互之间的依赖,以及知道为什么采用这样就架构;
(11)给一个大的项目,能够对整个项目的程序架构和组件进行合理的设计,考虑并行性,低延迟,大数据量等各种需求和应对方式。
带领团队已多年,项目数十个,对判别程序员水平的高低,我有自己的看法,欢迎大家一起交流。
1.代码质量。
优质的代码,首先是经得起考验。静态分析工具过一遍,无错误,无警告。当然警告部分需要人工重审,因为静态分析工具不一定完全正确。过了这一关,重要的还须过测试关,少Bug或无Bug的代码,才是好代码。优质的代码带有技术气质和艺术气质。阅读起来,有一种赏心悦目的快感,即工整美观,干净利落,又蕴含着理论常识,运用技巧,精准到位。
2.表达能力。
3.文档能力。
文档形式包括但不限于PPT,文字,图表,音视频。文档内容包括但不限于API说明,工具手册,项目事项,技术论述,陷阱总结,方案展示,指导手册。文档要求必须是满足公司或部门的规范和格式,否则五花八门的,不利于交流和传承。
以上3点,是我量化判断程序员水平的标准,仅供参考。相比水平,其实我更看重程序员的态度,执行力,时间观念,自学力等等,也是很重要的团队作战能力,也可以说是程序员水平的考量吧。
谢谢大家。
Ⅷ 成为程序员后你明白了什么
成为了程序员才知道他们都是一群内秀而很有趣的人。我有一个同事,熟悉之前每天都是一张严肃脸,看到我就会点个头,嘴里喊“艾姐”。我有几次跟我朋友说,感觉自己突然成了黑帮大姐大,有一种收了小弟的感觉。后来熟悉了,发现他每天笑得很没心没肺的,讲话也是荤素不忌,一脸逗比样。
程序员最爱送女朋友的礼物就是U盘,键盘和鼠标。我对面的小同事七夕的时候给他女朋友买了个U盘,他说这已经是他买的第三个U盘了,他女朋友太迷糊,常把U盘弄掉。私以为他女朋友就是不喜欢U盘而已,不过我没说。办公室好几个同事买了机械键盘,说打起来带劲,青轴黑轴说起来头头是道。
格子衬衫是真的很多,有一天在办公室看了四五个同事穿,大同小异,搞得一群异姓兄弟似的。
程序员真的比较聪明,逻辑思维很强。有一次我们团建玩了狼人杀,他们可以很快速地分析,找出狼人。程序员很善于用脑图,把一件事表达得很清楚,条理清晰,外人一看就懂。
程序员的世界比较单纯,没有勾心斗角,有实力就会被崇拜,成为“大神”。
Ⅸ 程序员也难逃的二八定律,成为顶级程序员真的有那么难吗
程序员也是分为等级的,因为每个人的实力水平不同,成为顶级的程序员肯定是要付出很多努力的,有时候写程序就可以看得出来,有的程序员写出来的程序经常会有漏洞,导致系统运行不稳定,但是有的程序员人家写的程序不但占用的内存少,没有漏洞,而且也运行流畅,这就是顶级程序员的最基本工作,因为大部分的程序员根本就没有自己写的程序,都是复制粘贴别人的,所以说现在的程序员就是搬运工而已。
生活中的程序员看着很辛苦,实际那是他们把他当作挣钱的工具,当你的内心太急功近利的时候就会感到疲惫,也做不出太大成果的事情,因为你的心思没有在开发程序上下功夫,总是漂浮不定的,所以说二八定律永远的存在。
Ⅹ 从哪些点上可以体现一个程序员的实力
对于一个程序员来说,刚上任的新手,如果能够将工作任务高效地处理,证明其工作能力还是具备一定的基础的,企业大可继续留任试用。如果这个程序员不仅能够在短时间内高效处理工作内容,且对于工作的细节也十分地考究,充分全面地考虑,必然也代表其工作思维和普通员工不同。一个程序员如果对于工作只是在应付差事,那么必然其能力也不会好到哪里去,因此,一定要观察期对待工作态度是否认真,然后进行其能力的初步判断。