「程序君,昨天知乎日报上呈现的那篇《为啥我国的程序员都被称为码农》(以下简称「码农」),看完真实心酸,作为一名还在大学校园行将走向“码农”大军的愣头青,想请教您,你对那篇文章有啥观点?上面的说法事实吗?我国程序员的现状大体是如何?费事点拨」
我大约看了一下那篇文章,说的有些道理。但程序君以为:他人是不是码农与你无关,你不应成为那篇文章作者眼里的码农。作者说码农一词强调程序员「位置低下、单调和劳累」。作为一个程序员,我也来随便说说。
收入和位置
一般来说,程序员的收入水平不低。我没有具体的数据,但在一线城市,程序员的平均收入应当都能到达该市的中上水平 —— 我猜top 30%左右。2012年,咱们在校园招聘的时分,许多面试后十分心仪的同学(清华,北大,中科院等)终究都拿着十几到二十万的薪资去了B,T等公司,有一个咱们格外中意的iOS工程师,被咱们追了好久,但后来终究仍是被某著名游戏公司招安,拿了二十好几万的薪水 —— 这但是程序君作业了好几年后才能拿到的package啊。
所以你说程序员的收入低么?为何你的收入会低?为何你怕你将来的收入会低?
程序君有个兄弟,也是途客圈的前职工,本科来实习前已经有许多独立的项目经验,把握了python/django和iOS的开发才能。他聪明好学,上手才能十分快,稍加点拨就能从事首要功用的开发,勤勉程度又不输于程序君,所以前进神速。后来途客圈的许多中心功用都交由他来负责,某些功用程序君都自以为无法做得比他好。一年半后他从途客圈「结业」时,已经是各大公司争相想引起麾下的「面霸」,一起拿到了好几份offer,终究去了某查找公司,如今前途一片光亮。
我想这是一个很有学习含义的比方,特别关于在校学生。就像之前的『软件开发升级打怪之路』所讲的那样,咱们身边有那么多很有意思的疑问能够经过软件来处理,你愿意抛弃一部分打dota的时刻和精力去处理么?你愿意在处理的过程中排除万难,啃下一个个硬骨头么?
假如你在学生年代就有许多拿得出手的项目,那么在如今互联网如火如荼,人才缺口很大的年代,找一份薪水不低的作业仍是难事么?
程序员可能是国际上仅有一份不必太靠学历,不必太靠爹娘,甚至都不必太靠熬日子出面的工种。有人臆造了这么个故事:
说Python之父Guido van Rossum有天跑去谷歌面试,说了三个词:"I wrote python",就被录用了。
当然像Guido这么的大牛犯不着自动去找作业的,就像球场上的超级明星,给猎头打个电话,说我想挪个窝了,作业机会就会像雪片相同飞来。这个故事虽为臆造,但不失一个极好的比方阐明程序员「不靠天,不靠地,就靠自个一双手」的实质。你的薪水取决于你能做出啥来。
至于位置,我觉得除了权贵阶级,其他人的位置都差不多。假如不做公务员,没事别老揣摩位置,那玩意说来就来,说走就走。我倒觉得程序员应当多进步自个的品尝 —— 最少多学学装扮自个,别拿着中产的收入过得像无产阶级。
别的,主张妹子们也多重视重视程序员这个集体 —— 究竟能够改动国际的几类人中,程序员算是最佳挨近,在对比年青的时分就能看出潜力,也最佳戏弄于股掌中的。^_^
作业单调
作业单调这事诚心和你自个的感触有关。首先不是一切人都合适做程序员的,假如你换了不少团队或公司,做啥都觉得单调,自个又没爱好做pet project,那你要好好思考下自个是不是合适这条路。不然走下去,就真成了「码农」一文中的码农了。
有人从前给我留言说自个不想做事务有关的事,没意思,想做「真实的程序员」做的作业。托付,咱们做的是商品,哪个商品不是和事务有关的呢?脱离了事务的软件,要么是朴实个人爱好,要么只能在象牙塔里生计。
有人说作业特么没劲,每天干的都是琐碎边缘的活儿,单调死了。好吧,你以为程序君做得老是巨大上的作业么?程序君最近两周干的活也琐碎得要命,其中一个使命类似于「从linux kernel的源代码里,把一切.c引证的.h文件摘一摘,只留下真实有用的(但体系还能正常编译运转)」。
作业中这么的活不少,单调是有点单调,遇到了与其自怨自艾,不如想方法快点将它完结。程序君花了大半天时刻,在走了许多弯路写了两个程序后,总算找到一个奇妙的方法,只是写了五十多行python代码就将其完结。作用从开始的计划减少了25%的.h文件一直到减少了95%的.h文件。
我对比不理解有程序员说自个总不得不做重复劳作,所以感受作业反常单调。想想「程序员」这顶帽子带在头上意味着啥?它意味着全国际任何集体都有理由说自个的劳作是重复劳作,唯独程序员这个集体不能。为何?程序员据守的信条是DRY(Don't Repeat Yourself),一件事当你发现你需求重复第2次时,就要思考将其自动化。做不到这一点的请尽力,由于这决议了你的功率和效能。
还举我自个的比方吧。前些日子我要测试几个开发环境,流程大约是下载代码,编译,运转UT。由于开发环境有点疑问,所以在下载完代码后我需求对代码打个patch。这活第一遍我是手艺做的,为了验证全部流程的正确性,调整patch等等。第二遍今后我就写了个脚本将其自动化。虽然在我写这个脚本的时刻里,我完全能够对一切的开发环境都一一验证,但脚本化的好处是,我能够让他人用这个脚本也进行独立验证,我也能够在今后几天的作业中重复运用。
单调是你看待使命的片面心情。许多看起来表面光鲜的互联网公司或者软件公司,真实分到你手上的使命就不见得光鲜靓丽。大数据?那是对外夸姣的商业表述。你真实做的作业也许是对海量日志进行或手动或半自动分析,单调不?操作体系?好吧,你去了今后发现首要做的是本地化,单调不?虚拟化?好吧,那里很大的团队在做驱动开发,单调不?
没那么多单调。软件即是一个个完成起来十分单调的功用有机地组合在一起,为用户(客户)供给价值。无法认清这一点,总以为自个干的即是最单调的,那你只能持续单调下去,也只能成为「码农」作者眼里的码农。
辛苦劳累
辛苦劳累却是真的。不过要看你怎样个辛苦法。
假如你在一家各种限制你自由发挥,还以你作业时长为作业态度和作业才能的鉴定规范,那么,除非你有其它主意,不然应当挑选脱离。记住我结业后作业的第一家公司,有天黑夜就餐,老板问我对team里两个女孩有啥评估,我说她们作业得挺好,合作愉快啊(潜台词是男女搭配,干活不累^_^)。老板努了撅嘴,说:可她们一下班就回家,作业态度不活跃啊。我听着不是味道,心里就萌生了脱离的念头。
程序员的作业绝对不应当用作业时刻,是不是加班来衡量。假如你的老板给你的鉴定是「该职作业业活跃尽力,自动加班,blablabla」,你还愿意这么呆着,那你就别诉苦辛苦劳累。
不过现状的确是是许多程序员都在加班,包含我在内。
有些人加班是真忙。但其实有许多职业比程序员忙得多,比方四大地点的管帐(审计)职业,比方投行,咨询。
也有些人加班是刷存在感。
但更多的人加班是为了有一个喧嚣的环境,能做点啥。
要说辛苦劳累,我觉得一个很首要的原因是:这个工种需求你不断更新夯实自个的技能。
假如被逼承受,那身心俱疲;假如自动出击,身体累了点,心灵上的成就感仍是不小的。(文章来自南京欣才PHP培训课程)