‘壹’ 学生程序员别有这5种迹象
程序员5种 工作迹象已走下坡路
一、抱怨环境问题
找别人问题总比改变自身来得容易,无论在生活中还是工作中我们都会遇到大大小小的问题,对干程序员来说更是如此。
环境卷、学历卷、岗位卷这些都是外部环境造就的问题,换个视角看问题一切的问题都不是问题。那就是向内求,而走下坡路的程序员最容易向外求,不会换位思考,让自己的问题和外部因素混为一谈,容易让人产生焦虑的负面情结。
二、个人能力存在瓶颈
程序员工作最大的瓶颈在于“只懂低头码字,不懂抬头看天”。
做事一定要理清目标与方向,如果一味埋头苦干,容易出现闭门造车的情况。
这是大部分程序员容易走进的死胡同困境点,对待人际关系容易疏远。
程序员日常工作大部分时间都与电脑做伴,两眼不闻窗外事,一心想着写代码。
代码写久了,缺少向上管理与跨部门沟通协作能力,思维能力容易受到环境的局限,这对程序员后期的职业发展非常不利。
有时间一定要与同事多交流沟通,扩展人脉关系。
三、缺乏工作责任感
程序员工作的核心是写代码,写好代码后需要自己测试通过才能将结果交付给测试组进行回归测试。但往往很多程序员因缺乏职业责任感,怕时间来不及,自己写好的代码干脆不测,直接移交给QA人员进行测试。
测试产品后常常会出现冒烟不通过的情况,将代码版本原路打回,程序员对代码进行修改,这是一种缺乏工作责任心的表现。
以这种工作态度来面对工作,很难生产出高质量的软件,一般部门要对人力进行优化,这种程序员是首要考虑因素。
四、缺乏总结能力
走下坡路的程序员缺少深度思考及工作复盘能力,最典型的案例:我曾经遇到过某些程序员发布的代码问题一堆,而且同一个问题不同的版本重复出现。这会导致程序员的工作质量下降,影响工作能效,拖延整个产品的研发进度。
出现以上情况的核心原因在干,程序员缺少深度思考与归纳总结问题的能力。
遇到问题能找到解决方案,但是不懂如何规避问题再次让问题重复产生,导致程序员工作效率下降。建议程序员们在日常工作学习中多积累项目经验与技术技能,提升深度思考与归纳部分问题的能力,才能从真正意义上提升个人的综合素质能力。
五、加强团队协作力
程序员工作不是一个人在单打独斗,大部分工作要与产品、开发、测试、运维一起协作来完成项目开发。但因大部分程序员表达沟通能力弱,缺少团队精神容易与产品、开发产生沟通纠纷,沟通问题容易引起情绪冲突,对团队协作非常不利。
我们公司的测试人员、产品经理经常会与程序员沟通需求、缺陷,有些程序员理解能力差,很难接受别人给予的建议,需要花很长时间耐心沟通最终才能解决问题。
所以提升团队协作能力是程序员脱离下坡路走上坡路的必经之路。
‘贰’ 你见过最厉害的程序员是怎么样的
以前曾经做过十余年的编程,见识过不少程序员,其中有两位是比较厉害的。
第一位,J同学,非科班出身,粮食专业毕业的,之后在一个食品厂工作,因为比较清闲,于是他突发奇想,想考某个211的计算机研究生,就去买了书来看,但是要实践啊,他又没有计算机,就有空总去公司的电脑室蹭机器用,电脑室的人,就让他帮忙开发一个工资管理系统,不知道是不是想为难他,结果他研究生是没考上了,但是经过一个月的摸索之后,居然把工资系统给做出来了。让电脑室那些科班毕业的人脸上挂不住啊!
之后他就斗胆去了一个国内知名的企业应聘程序员,居然还给应聘上了,慢慢做到了华南区的技术总监,再后来他几个同事出来创业,高新挖走他。
他这个人就是传说中的怪侠,非常低调,朴素,不按时上班,不按时下班,工作效率非常高,爱抽烟,请教他什么问题,他一时想不出来的话,就去外面抽根烟,烟抽完了,回来就会有答案,反正非常神奇。
第二位,B同学,科班出身,211大学计算机研究生,当时是他的导师跟我们单位有来往,推荐过来的,我面试的他,惜话如金,听说他C语言非常厉害,但是当时我们做项目需要PB,他说他不会,我就说,那给你一个星期的时候,你回去学习一下,再来面试。一个星期后,再过来,给他一个小模块,很快就做出来,非常棒,之后,项目的技术难题,大部分都是他解决的。平时,他也不怎么跟我们来往,但是有事就做,也不打 游戏 ,按时上班,按时下班,非常讨厌加班。
遇到技术问题,下班后打电话给他,他不接的。有一次,我们第二天系统要上线,大家都在忙着测试,加班,他到点就走了,领导追到电梯门口,问他,XX哥,你走了,他说了一个字,是,就进电梯了。后来也是被高薪挖走,听说到现在40岁也还没结婚。
我们公司有一位非常厉害的程序员,基本上一个人当做一个排兵力使用。也就是说一个人写代码的效率基本上抵得上10+人的能力,一年随随便便写个几十万高质量的代码。这种人对编程语言的理解已经到了登峰造极的地步,且能够灵活自如地使用。
在自己编码能力强的同时,对架构的理解能力也是超强,一个大的系统能够很快地进行模块拆分,快速的定义不同模块间的交互接口,可以快速的安排任务下去。
另外代码的质量基本上没地说,导致跟着他的测试人员几乎发现不了Bug,这哥们在写代码的同时基本上顺手就把单元测试写好了,代码质量高的简直出奇。
当然了,至于学习什么新的开源框架或者新的技术架构,基本上就是2-3天的功夫,就可以全面掌握。
目前为止,公司一直当做宝一样供着。
我见过最厉害的程序员,是在2001年入职的一间香港电路板公司的电脑部经理,他也是最值得我尊重的程序员,那他最厉害的地方在哪里呢?
编程语言只懂Foxpro DOS版本,但所有的ERP流程,英文、管理方法说得滴水不漏,有一次和财务的同事聊天,才知道他的月薪达8万多。
很多程序员最怕大老板提问题,但在他的眼里,大老板提问题就是一个商机,多多少少都要老板加工资加设备。 高情商的表现就是无论下属或老板通通管理得服服帖帖,包括我自己,甚至老板还没有说话就己经知道老板的心思了。
老板分配的编程任务应期三天完成,绝对不过4天。软件开发效率的提高,自然要依赖下属心甘情愿的加班付出才行,做到这一点,真的是难能可贵。
最厉害也是我最佩的一点就是,40多岁了头发还没有一点白的迹象,每天高效率的工作,下班后就抛开工作的烦恼,尽情桑拿按摩享受。
我认为最厉害的程序员不是编程技术,而是如何利用编程技术,不知道你认不认同?
应该是读研时的学长,精通java和python,毕业后进去微软研究院工作。
当时和他在一个项目组,他独立完成了教学平台语言分析模块,NLP 模块。我们团队任何问题都能很快给出解决方法,前端后端都擅长。
当时我刚接触linux,他就已经把Linux作为工作学习唯一的选择。经常用terminal 操作,敲起代码太帅了
诚邀,本人在杭州华为研究所工作,之前在一家创业公司工作过,公司里一个工作10年的大神,撑着整个创业公司,老板总能拿到某些项目源代码,不同语言的,c c++ .net java总之很多,给他,一礼拜就可以全懂了,所有语言基本都是1礼拜搞定(玩代码的都知道精通一门语言后学其他的特别容易,不外乎面向对象的,面向过程的,然后就是各种API )上手做项目,之前很多不懂的问题问他都可以从本质上分析得很明白,主要是基本上看几眼就可以知道哪里错了。或者大概方向,我后来去华为,都是他建议的,现在还在那公司的他听说是技术总监了,应该不怎么敲代码了。
核心的代码总是有那一两个程序员来实现的。比方说现在微信的一开始的核心代码。
比方说Linux的核心代码, 都是由林纳斯·托瓦兹编写的, 并且为了能够让开源社区的人一起进行开发, 又编写了Git版本控制。当你不满意某个软件或者系统的时候, 能够自己实现并制作出更好的也许就是厉害的程序员吧。一直到现在很多的系统分支都是来源于Linux的内核。
最后如何成为最厉害的程序员, 还是要学习基础核心的知识, 操作系统, 数据结构, 算法, 编译原理, 计算机网络, 在这个基础上学习编程都是为了更好地实现自己的心中所想。为什么这样写, 这样写会产生什么效果。 为什么Golang最近这么热, 为什么鸿蒙会被看好, 它又和其他的有什么区别, 就可以自我判断, 而不是见风就是雨。
最后希望自己也成为那个最厉害的程序员。
很久以前,我用win98的时候有次我系统崩溃了,因为我是电脑白痴,我朋友给我介绍了一个高手来帮我修电脑。
他看了一下电脑,问我有没有98的盘,我说没有。
他想了一下,叫我把固定电话拿给他,我想修电脑要电话干什么,但人家是高手,我也不好说什么,就把电话拔下来给他了。
他把电话线空着的一头接在电脑的一个插孔内,然后进入dos,就开始在电话上不停的按着键,他按键的速度异常快,但是只按0,1两个键,我搞不懂这有什么用,但也不敢问,看了半个多小时,他还是不停的按这两个键,我徐徐的有些困,我问他这东西要搞多久,他说要几个小时,我给他倒了杯茶,就一个人去隔壁睡觉了。
醒来的时候,一看已经过了4个多小时,我起身到隔壁,看见他正在98里面调试,过了一会儿,他说,你试试,我坐上椅子用了一下,真的好了,我当时也不懂电脑,谢过人家就走了。 后来我慢慢对电脑有了了解,终于了解,原来当时那位高手是用机器语言编了一个98系统,我后来问我朋友那位高手的下落,我朋友说前几年去了美国之后,杳无音讯....
五年前有幸在一家软件公司做产品经理。小的软件公司。坐标西安。招人还挺不好招的。虽然给的薪水还不错。但是真心不好招人。这种小软件公司没有名气。真正牛逼的人都不来。
百试几百人,包括做产品和前端的也算在里面。光程序员这块。有百分之六十的投简历的都是从某培训机构出来的。所以的项目经历。和待过的公司都是一模一样,有明显的人为的痕迹。
但是后来实在没有人手。招了一两个,差。差。差。真是差到极点
后来又经人推荐,招了一个,说是做安卓开发的。结果连个软件的心跳包都调不好。软件的升级这块都搞不定。最后还是我这个外行,逼着他。一点一点卡,才把软件升级这块稍微搞上路了。
说出来真是让大家笑话,华为的外包中软国际。有个孩子实在忍受不了里面的虐待,在里面工作了一年半。然后跳到我们公司。这个孩子,才是稍微让人可以用一下。就是起码。你给他的工作。他能完成。其他的人都是在摸鱼。因为这个公司的老板以前也不是做手机软件这块。没有资源,不认识人。
他是做电脑PC软件,到后面做BS系统多一点。其实这种没有技术含量,找的别人的框架。去修改。
普通人见不到最牛逼的程序员,最牛逼的程序员,一定是在最牛逼的软件或者互联网公司的深宫后院里面。还没出世的。就像当初的张小龙,史玉柱,裘伯君一样。
你现在能看的牛逼的,感觉牛逼的。都是因为你不懂这个。你才觉得牛逼。包括前几年比较活跃的黑客们,制造一些病毒。这都不是牛逼。包括熊猫烧香的李俊,普通人觉得他可牛逼了。但是真正的他出来后,去金山 360这种公司,提鞋别人都不要。
因为搞破坏不是牛逼。也不是自己水平有多牛逼。
我来讲一个我见过最厉害的程序员。
这个程序员是我第一份工作碰到的大牛,我的第一份工作在中兴通讯成都研究所,当时是做操作系统研发的。
我们当时经常会做一些培训和技术分享,那时候我才入职3个月,我发现公司里有个人每次技术分享时候,就很多人去听,并且会议室爆满,连站的地方都没有,然后我有次也去听了一下, 第一每次目睹大牛的风采,因此操作系统是最底层的研发工作,会涉及到内核这块知识,而linux内核知识特别抽象,看书根本很难看懂,但是这个大牛能把很难的东西讲的很容易理解,并且在会上面对大家的提问总是能对答如流,实在是厉害。
而后我通过公司里的老员工才了解到,这位大牛是自学成才的,他的文化程度才初中,破格录取到中兴通讯,当时是操作系统部门的技术专家,他都能自己编写操作系统,对各硬件都非常了解,也出了很多书。可见兴趣是最好的老师,让他能够在程序员中发光。
必须是ACM大神,楼天成,楼教主。不了解他的可以网络之。是个天才一般的存在。
几年前清华大学找同学玩,他那时是清华软件学院的学生,突然说要带我去见他的偶像,还说是最后的机会了,我们跑去计算机学院,当时博士正在答辩,通过在场的同学找到了他,他很腼腆的千呼万唤始出来。他们两在那里交流了半个多小时,最后互留了EMail,我跟他聊了些我专业的内容,他还蛮好说话。 后面还通过这位同学认识另一位ACM届大神,上海交大的戴文渊。我对编程略有了解,主要还是崇拜天才。
‘叁’ 35岁以上的程序员真的无法找到工作了吗
近两年,“35岁现象”成为了职场人的一道坎,大家都不敢轻易换工作了。即使留在职场中的人,每天也是惴惴不安,因为不知道哪天被辞退的事情就会降临在自己身上。
现在很多企业将35岁的人员一刀切;还有很多企业将招聘人员的年龄限制在35岁以内,甚至限制在30岁以内;种种迹象表明,35岁成为了职场人的一道分水岭。
当你仔细揣摩这些现象时发现,其实35岁只是一个年纪大的代名词,并不意味着35岁就找不到工作,那为什么企业不愿招聘年纪大的,或者要辞退年纪大的员工呢?
一、机会与稳定
在计划经济时代,大多数人一生只从事一个职业,可选择的范围有限,换工作或者换职业是一件比较困难的事情,升职靠熬年限,加薪靠技艺,为了不失去这份得之不易的工作,所以大家会尽心尽职尽责去工作,主人翁精神在员工身上体现的淋漓尽致。
到35岁积累了丰富的经验,成为了企业的主力军,可以为企业创造更多更高的价值,所以这个年龄段的人得到企业的宠爱,成为了抢手的人才。
随着改革开放,市场经济时代的来临,很多人一生可能会从事4-8个职业。
就业范围扩大,就业机会增多,人们面临的诱惑也增加。
所以在一个工作场所很难稳定发展,跳槽频率增加,不稳定因素增强,在一个职位上无法有更深的知识及经验的积累与沉淀。
到35岁除了跳槽经验丰富之外,工作经验并没有随着年龄的增长而增长,工作经验与技能可能还停留在工作的初期,但工资已经超越了为企业创造的价值,所以必然被企业淘汰。
二、浮躁与平和
在计划经济时代, 35岁正是上有老下有小的阶段,为了抚养老人,哺育下一代,经济压力很大,大家很珍惜眼前这份工作。
另外人们的心态也很平和,认为企业给我发工资,我就要干好,否则对不起这份工资,所以都会全身心投入到工作中。
而在市场经济时代,很多35岁的人虽然也是上有老下有小,但是经济压力已经没有那么大,甚至有些人没有什么经济压力,对工作的重视程度也在降低。
另外大家心态都很浮躁,认为给多少钱就干多少事,能不干就不干,傻子才会去全身心投入工作中。不能给企业创造更多价值,自然也会被企业淘汰。
三、精力与体力
35岁这个年龄要平衡家庭与工作的关系,自然会分散精力。另外随着年龄的增长,身体各项机能或多或少会出现一些问题,体力也在下降。对于加班加点的工作有点力不从心,或者因为家庭原因而无法加班或者要请假。
工资挣的比年轻人多,但是精力体力又无法与年轻人相比,另外年轻人没有家庭等的拖累,可以将更多时间用在工作中,所以结果也就不言而喻了。
按上述情况来说,是不是35岁的人就没有活路了?其实并不是,只要我们做好职业发展规划,无论是35岁,还是45岁,照样可以找到工作,也会得到企业的重用
‘肆’ 缇庡浗绉绘皯鏂板舰锷匡细绋嫔簭锻樿荡缇庡伐浣滃緢钖冮
銆銆鎹銆婄编锲芥柊闂讳笌涓栫晫鎶ラ亾銆嬶纸U.S.new sandworld reportforthe best job and the best professional survey锛夋姤阆掳纴2018骞达纴鍖荤枟淇濆仴琛屼笟镄勪紭锷挎e湪阃愭ヤ笅闄嶏纴鎴愰暱镄勬槸椤跺皷镄勮蒋浠跺紑鍙戝晢锛屼篃灏辨槸鎴戜滑镄勫浗瀹垛灭▼搴忓憳钬濄
銆銆鐪嫔埌杩欐侪璁跺悧锛熻繖瀵圭编锲戒汉𨱒ヨ翠篃鏄涓涓浠や汉闇囨侪镄勬秷鎭銆
銆銆鎹绉帮纴杩欐槸镊2015骞翠互𨱒ワ纴鍖荤枟淇濆仴涓娆℃病链夐珮灞呮滈栥傛嵁缇庡浗棰勬祴锛屾湭𨱒10骞达纴缇庡浗杞浠跺紑鍙戝伐绋嫔笀灏呜佹眰253锛400钖嶈蒋浠跺紑鍙戝伐绋嫔笀銆傜洰鍓嶏纴缇庡浗杞浠跺紑鍙戝晢镄勫钩鍧囧勾钖楂樿揪108080缇庡厓锛屽け涓氱巼涓1.6%銆
銆銆璁╂垜浠𨱒ョ湅鐪嬬洰鍓岖殑绋嫔簭锻樼姸镐併傜幇鍦锛岀敱浜庝腑锲芥敛搴滃ぇ锷涙敮鎸佽蒋浠朵骇涓氱殑鍙戝𪾢锛屸滈”鐩产pe钬濆洟阒熶笉鏂澹澶э纴鍙楀埌浜嗕腑锲藉ぇ鍨嬨佷腑鍨嬭蒋浠跺叕鍙哥殑娆㈣繋銆傛暟鎹鏄剧ず锛屼腑锲藉凡杈惧埌215浜垮厓锛岃蒋浠跺嚭鍙h勬ā杞浠跺憳宸720000浜猴纴鍦ㄤ腑锲藉崄澶IT宸ヤ綔宀椾綅锛岃蒋浠跺伐绋嫔笀涓寮濮嬶纴杞浠跺伐绋嬩汉镓嶅氨涓氩墠鏅闱炲父涔愯伞
銆銆灏界♀灭▼搴忓憳钬濈殑瑙勬ā镓╁ぇ浜嗭纴锲犱负镆愪簺铡熷洜镄勯檺鍒讹纴鍦ㄦ垜锲界殑钬灭▼搴忕尶钬濆湪寰呴亣鍜屽彂灞曟柟闱㈣繙杩滆惤钖庝簬缇庡浗銆傚湪锲藉唴锛屽傛灉浣犲潥鎸佽蛋鎶链璺绾匡纴涓鐩村湪锲藉唴绉佽惀浼佷笟锅氾纴闾e熀链涓婂氨鏄涓椤块潚骞撮愩备絾鏄鍦ㄧ编锲斤纴濡傛灉浣犲彲浠ヤ粠鎶链杞绉诲埌绠$悊锛屽捝璇锛屾垨钥呬綘鍦ㄨ法锲藉叕鍙告湁椤圭洰绠$悊缁忛獙锛屽畠浠岖劧寰埚弹娆㈣繋銆
銆銆涓庢ゅ悓镞讹纴链夎抗璞¤〃鏄庯纴鍦ㄨ繃铡20骞撮噷锛屼腑锲界Щ姘戝湪缇庡浗镄勮縼绉婚熷害涓鐩村湪缂撴参鍙桦寲锛屼粠浼犵粺镄勯愰ギ琛屼笟杞鍙树负镟寸啛鎭夌戞妧镄勮亴涓氥傝冭槛鍒拌繖涓琛屼笟锛屾病链夊繀瑕佽繘琛屼氦娴併傚湪缇庡浗锛屾湁寰埚ぇ镄勯渶姹傦纴钖姘翠篃鍙浠ユ垚涓虹编锲芥柊绉绘皯镄勬渶鐖便傛棤璁烘槸浼犵粺镄処T銆佷簰镵旂绣锛岃缮鏄鍗庡皵琛楃殑閲忓瓙閲戣瀺镄勭熆鍟嗭纴涓锲戒汉姝e湪阃愭笎鍗犻嗗竞鍦猴纴鎴愪负涓锲界Щ姘戠殑鐑闂ㄩ夋嫨銆
銆銆鐜板湪锛岃缮链夌岖被涓嶅悓镄勭Щ姘戝埌缇庡浗链鍦熺殑鏂规硶锛屼紶缁烢B5鎶曡祫绉绘皯锛屼緥濡傦纴浜х敓浜嗕竴浜涙垚锷熺殑妗堜緥锛屼絾鐢宠蜂汉镄勮祫浜ч”鐩锛岄渶姹傛洿楂桡纴椋庨橹镟村ぇ锛岀瓑寰呮椂闂村お闀匡纴闅句互婊¤冻鏅阃氢腑锲戒汉镄勯渶姹傦绂EB1瑕佹眰瀵圭Щ姘戜汉鍙h繘琛岄珮绋嫔害镄勪釜浜烘暀镶层佽瑷鍜岀ぞ浼氭垚灏憋纴骞朵笉鏄镓链夌殑浜洪兘鑳藉缑鍒版弧瓒筹纴骞朵笖浼氭嫆缁濆ぇ澶氭暟涓岖﹀悎涓ユ牸瑕佹眰镄勭敌璇疯呫
‘伍’ 如果没有了ChatWare,程序员会面临失业吗
这话题最近是真的火,看了很多博主说的,什么让它考SAT可以击败60%的真人考生,让它做LeetCode 上hard难度的题目,7~8成题目都能做对,自动给你敲出代码只需要10~20秒...又看了一下知乎里,各帖子争论激烈,什么样的观点都有,但关键点几乎都没提到:
某项技术是否需要“完全取代某职业100%的工作内容”,才能说它会导致某职业失业?
我再换句话来问,下面的情景能否得出“底层程序员会失业”的假设?
如果ChatGPT使底层程序员的敲代码效率提高100%,但程序员的工作中仍有1/3是ChatGPT完全干不了的,可以得出以下任一预测吵乎昌吗?
任何一个程序员都不会因此失业?
只有极少数程序员会因此失业?
做过老板,扛过预算,负责过阿米巴或事业群绩效,就会明白:
以上2种预测都是错的,一定比例(≥20%)的程序员被辞退几乎是必然的!
因为虽然岗位职责没有被100%替代,但如果还用眼下这些人,去完成原定工作量的任务,人效必然严重不划算!
在2/3(1-1/3)的工作能被ChatGPT赋能后提高1倍效率的情况下,也就是每个程序员可以比原来多产出1/3的工作产出。
假设公司100个程序员,每人负责100个单位的工作量,一共就是10000个单位的工作量,其中的10000*2/3≈6667的部分中有,我用原来一半的人力不就可以完成?
虽然由于前1/3的部分与ChatGPT无关,因此于等于3333的工作量还得靠原班人马完成,但我留下个70~80个人,把这些人员原本用于后2/3工作的、被ChatGPT优化出来的时间,拼拼凑凑用来完成之前100个人做的前1/3工作,不就行了?
说到这,不用细算,我想你应该已经感觉到了,实际职场是如何看待和使用劳动力的,也基本目标了所谓技术和生产力革命是怎么“一步步”颠覆某些职业的了。
从来就不是一蹴而就,一夜之间就宣布某些技术横空出世,能100%取代某个职业,而是如上述那样,看似不过“小刀割肉”(很多楼层说的“内行完全看不上!”),实则已是“大步流星”,每年能提高工作效率15%,5年就是100%,就可能有10%~30%甚至更多人要面临失业。
也要理解,这里的很多答主其实都不是本问题提到的“底层程序员”,能说出“ChatGPT能编写的代码根本不够看的!”的基本都没从“底层程序员”角度出发。
底层程序员占到了当下整个程序员升扒职业群体中的半数以上,从某个非全日制培训机构学习个半年大半年的,会个mysql、python就可以找到工作的!
有没有可能,这种如果5年后还100%没被影响到,或者换句话说,社会对这类底层程序员的总需求相比现在还没有明显下降?
有!可能是黑天鹅中的黑天鹅!小概率中的小概率!
其实程序员的职场就业下行趋势早就有迹象了,这是科技和生产力进步之下必然的,并不只是ChatGPT或别的什么造成的,现在国内几遍没有ChatGPT,程序员在劳动力市场的供需关系早就在持续失衡了:
之前我在写新书(书于21年8月出版)的时候已经写顷携到过计算机程序员相关的分析,贴在这里供参考(强调一下,这是2021年3月写的,出版书籍大家都能找到,不是我说几月写的就是几月写的,不需要互联网的记忆):
现状:计算机编程人才供给与企业需求的2:1错配
差不多从十多年前开始,随着计算机硬件时代“落幕”和互联网时代的加速发展,“学编程”开始越来越多得进入大众视野。似乎学完编程,成为一名程序员,就能与进入中关村互联网大厂拿两三万的起薪,而所需付出的代价貌似也就是发量少、头冷和996。
这当然是玩笑话,但2020年底有媒体报道,据调研统计分析显示,目前全国各类教育机构每培养出一名“合格的程序员”,能匹配的市场用人需求仅有半个。什么概念?就是人才的供需关系已达2:1错配!也就是每两个应聘程序员的求职者中只有一人最终可以找到工作!
这样的调查数据到底出自何处,准确性如何其实根本不是重点,但凡询问任何一个相关行业从业多年的资深人士该对该新闻的评价,都能得到几乎一致的认同。我们根据大量访谈了解到,不扩张的说目前全国号称具备程序员工作能力的人数在5000万以上,但这其中差不多有大几百万只掌握基础的python,大几百万只写过VB,有不少仅仅在各类在线网校里学过几个月,全都号称“合格码农”,但事实上,我们不能说他们不合格,但也绝不意味着“会编程”就能找到“编程工作”!
写本节的目的不是要偏激地告诉大家,现在学编程已经很难找到工作了,而恰恰相反,事实上,只要你学些编程,更多的情况是,类似第三节第三小节提到的商业分析一样,降低要求后找个编程工作依然难度不大,问题是在“预期”上,理想与现实的落差过大,导致最终大量找不到“预期中高薪”码农工作的求职者高不成低不就,对自身的工作不满意,对个人的职业发展也很难如意。
所以说编程类职业劳动力市场的“高端紧缺、中低端过剩”才是该行业的真实写照,而2:1错配也很好理解,假设每100个“合格码农”中只有5个高端码农,95个中低端码农,但却有50个中低端码农和这5个高端码农一起去应聘只有20个名额的高端编程岗位,结果自然就是每2个里边就有1个找不到工作,而大企业却依旧在那日日招、月月招高端编程人才。
‘陆’ 干货:什么样的人不适合做编程
软件蚕食一切。未来属于程序员。所以人人都想当程序员。但是并不是每个人都能当好程序员。在你做出决定前还是先看看自己能不能当好程序员吧。可是什么样的人不适合当程序员呢?不要喝鸡汤,我们看看Quora上面是如何回答的。
<img #0020ff"="" title="干货:什么样的人不适合做
在全栈开发者Adam Leffert看来,最重要的是态度:
我认为编程要想成功最重要的是态度。当然,最低水平的 智力 还是要的。以我这么久的经验来看,还没见过蠢到不会做的。
但是好坏程序员之间的差别几乎永远是态度。
耐心 :对我来说这是最重要的一条。写代码和调试极其令人沮丧。要想做好,你得保持冷静,至少冷静到能够保持清晰的头脑。
精力 :处理棘手问题,编写大量代码容易使得身心俱疲。最重要的是要有我朋友Joshua Wachs所谓的“坐能量(tushie power)”。也就是屁股不离座直到工作完成的能力。
逻辑思维 :这条看似明显,其实不然。一般的程序员在碰到棘手问题的时候一般是靠猜来解决的。运气好可能猜得中。但运气不好就难搞了。问题是猜并不能有效缩小可能原因的范围。好的程序员会提出猜想然后进行测试,从而排除掉一堆的可能性。比方说,屏蔽一段代码,看看问题是不是还出现。
自负 :编程不是你自己的事。这跟你的团队、代码、客户、利益攸关者等等都有关系。(eShare CEO Henry Ward说自己永远都不会要自负的人。)
曾写过不成功OS的Peter Nierop则总结出了当不好程序员的3个迹象:
讨厌用 Google :
在github、google和在线网站上面有大多数现成的解决方案。买本老教授的书学编程的日子已经过去了。现在的代码来得快去得也快。而至关重要的事情是把你的东西尽快推向市场。任何不愿每天至少使用 搜索 引擎1小时的人都应该另寻高就(编者注1:Google自己的研究也发现,开发者搜代码越来越频繁 注2:有人可能会说自己不是讨厌用而是用不了。好吧如果是这样的话,我要加最重要的一条:不懂用google的想都不要想当程序员了)。注意,这某种程度上可能是因为你什么都想自己来,想成为全世界唯一的那个纯粹的coder。
朝九晚五的心态
再强调一遍:及时发布很重要。普通的程序员往往每天工作不到8小时,好吧这就是你平庸的原因所在。不平庸的程序员连续22小时冲刺以后才能打个盹隔4天才洗次澡并在接下来的2周时间里每天要用2小时写一些报告。不能或者不愿在必要时 加班 的人最好打住。
极其糟糕的记忆 :
编程就是开很多的会,做各种各样的变更,可能脑子里面要装100页的代码。未必是每一行都要记得清清楚楚,但起码在管理层又折腾出一个变更或客户突然又冒出一个想法时要知道你的程序是干什么用的,什么地方可能会失败,怎样才能很快修好。如果你的 记忆力 实在是太糟糕的话,最好还是找份其他的工作。
我在这个行当干了这么久,碰到过各种各样的程序员,不变的一点是一旦有上面的问题这些人基本都干不久。
开发者JohnPurcell:
由于开发界总是渴望有新鲜血液进来,所以除非你实在是太差(或者你原来基本都不用工作)否则想不成功都很难。我喜欢Peter Nierop的回答,不过说到正式的付费工作,我本人总是严格遵守朝九晚五的习惯,所以那个说法应该看工作情况而定。
如果你发现编程很乏味, 学习 又总是繁琐无趣的话,那你想做好就很难了。因为你要跟已经编程上瘾的人竞争。不过我也见过几个人虽然不喜欢编程,业余时间基本也不编程,虽然称不上出色的程序员,但是的确能够借此谋生。
要记住的是,编程不是什么精英才能干的事情。这个行业永远都缺人。所以除非你一点都不喜欢编程,或者也没有准备好看在钱的份上忍住这种不喜欢,否则都可以来编程。
而享受编程乐趣的Prince Pranav提供了3个不适合编程的迹象:
因为错误而过早放弃 :
永不放弃。哪怕是简单的错误也不要放弃。这会让你的代码和心态大不同。好的程序员,在写一长串代码的时候会把代码分解出来,分段测试。如果你因为前面1个小时总是碰到同样的问题就把电脑给关掉了事,可以认为这是迹象1。最后你总会找到问题的,但一定不要放弃。
只对输出而不是质量感兴趣 :
开发出好应用是你的责任。如果你为了赶时间而牺牲应用的质量,你可以成为程序员,但不会是伟大的程序员。
乐趣不是找来的 :
你开始写代码前看了看表,13:02,然后你再看的时候变成13:09了。有的人再看表的时候已经是15:37了。真的,除非你是因为有趣才干这个时间才不会流逝(注:不得不说,这又绕到了做你所爱还是爱你所做这个问题。)
究竟什么样的人当不好程序员,你觉得呢?