在IT世界里,程序猿是苦逼的,是熬夜写代码的,是围绕一个Bug就要费尽半天的。更悲剧的是,美国五角大楼的疯狂科学部门——美国莱斯大学日前发布称,美国国防部计划投千万美元开发能帮电脑自动写代码工具。若研发成功,一大拨程序员的饭碗就要不保了,即使这只是一碗“青春饭”。尽管如此,,似乎也无法阻止大家报考计算机专业或者投身IT界的激情。在工作中或生活中被一个想法牵动从而开始学习编程、“半路出家”的程序员也越来越多,科班出身的程序员不再是主流,各职业之间的界定也不再那么明确。

程序员style

请对号入座!

在广州,乃至全中国,就我们的IT产业而言,程序员们可谓是形形色色,只能感慨:林子大了……以下5种不同类型的程序员,看看你是哪种?

“胶带型”程序员  代码不漂亮,但是管他呢,能用就行!

这类型的人一般是公司的基石。当什么事情搞砸时,他会很快的修正,以后也不用怎么操心了。无需关心代码是否好看,好用,或其相关的方面做得漂亮,他就是能搞掂,不需要唧唧歪歪的废话。用这样的兄弟,你只需要指出问题所在,然后闪人就好了。

“完美主义型”程序员

我的代码已经很完美,还需要做什么?

这一类型的程序员对项目截止日期和预算满不在乎,和编程的艺术相比,这些玩意算什么。不过,一般当你终于收到他们完成的作品时,都会不得不折服于它变现的完美格式,哦不,是漂亮得无可挑剔的精美代码,你能做的只是赞服,这就是大师的手笔。他是唯一那个有资格改动他自己代码的人。

“半桶水型”程序员

你还想要什么?程序能跑了不是?

这个家伙不太关心程序质量,那是其他人的工作。他只是迅速地完成交给他的任务。你可能不太喜欢他干的活儿,其他的程序员甚至鄙视他,但是老板和客户喜欢就行了。未来他可能会让你头疼,但他的确独立地在档期内干完了工作,你没办法鄙视他(虽然你真的很想)。

反编程型”程序员

我是程序员,我TMD的不写代码。

他的世界只有一条准则:写代码太傻了。如果需要自己动手写东西的话,那就不对啦。别人早都做过这些工作了,拿来用就好了么。他会告诉你,这样的拿来主义是最快的,尽管他老人家用的时间和其他人一样多,或者还要长。最后当你拿到他干的活儿时,里面可能就20行实际代码,简单易读。这样的方式不一定快,有效,或者向前兼容,但是他至少用最少的代价完成了项目。

“理论家型”程序员

嗯,那是个可能性,不过是不是实际上这样做会更好呢?

这个兄弟着迷于探寻各种方法大于脚踏实地干活。他老人家80%的时间是在空洞地盯着电脑,想着应该如何干完一件事情,15%的时间是在抱怨截止期限是多么不合理,5%的时间是在修正他选择的干活方式,最后1%的时间才是在写代码。当你终于拿到他的作品时,总是会听到他的评语是:“如果给我多点时间,我会干得更漂亮的。”

(整理自译言网)

现状

工资不给力,优秀程序员人才最终流向他方

北京一个工作两年的程序员可以拿到15-20k,但在广州可能10K都不到

过去,程序员这个群体在北京、上海较为庞大,而广州则是在近两年得益于人力资源成本低,IT业逐渐在壮大,但仍然远远不及几乎10个人就有1个程序员的深圳,这个以人数取胜,甚至已经开始代表深圳气质的庞大群体,以高薪的待遇和蓬勃的发展环境,吸引着优质程序员的流向。

这就好像广州是程序员的孵化器,深圳、北京是发展目标。“广州一个刚毕业的程序员小鲜肉工资水平大概是3-5K,但在深圳可以拿到6-7K甚至更高,北京一个工作两年的程序员可以拿到15-20k,但在这里可能10K都不到。”这就造成了人才最终流向他方,本地程序员对自己将来可能发展的城市也要有所考虑。

Hpho告诉记者,其实,他曾经有个伟大的“理想”——从小学到初中,他都想成为漫画家。不过,电脑在家中的出现让他见异思迁了,他考上了大学的计算机专业,“可是直到大学毕业前,我都没有想过自己会成为程序员”。毕业后,恰巧在软件开发公司里工作的朋友建议Hpho去面试公司里的程序员岗位,他才发现,这份工作异常地适合自己。再后来,有了软件开发底子的Hpho因为薪酬原因转战到硬件售前,这份新工作里包含了Hpho并不喜欢的销售和出差:“可是目前我又找不到比这个更高薪、时间更自由的工作。”找不到跳槽方向的Hpho索性与同事一起兼职搞公司,在闲时接一些小项目写代码、开发软件。“我更想专注在开发上,就像最初的程序员一样。”但互联网发展的步速不允许他这么单纯地专注下去。

未来

吃完“青春饭”,程序员的下一碗“饭”在哪里?

在中国,程序员不能超过35岁,似乎已经是不争的事实,软件开发工作被看作是青春饭,于是转型就成为国内程序员曾经一度关注的话题之一。顶多靠毕业这十年的时间,超过这个年龄,要不成功跃身成为管理者,要不转行进入其他领域,好像再没有更好的选择,即使偶有继续坚持作开发的,也被看成另类一族。

Hpho表示,其实在外国不乏60岁高龄的程序员,不存在“年龄歧视”,但在国内就存在。“这也是我为什么会接兼职来做的原因之一,不是因为我真的那么喜欢写代码,而是因为想通过兼职来保持这份写代码的技能。”可惜中国程序员的现状就是以码农状态居多:写代码变成一种低级劳动力,按照设计要求去实施,缺乏了创造力。“因此就出现了‘青春饭’的说法。”Hpho介绍,在国外,产品和软件是密不可分的,这就需要程序员有创造力,而不是像机器一样——“要求他们做什么就做什么,产品经理要怎么改就怎么改”。再者公司也不允许程序员有个性化的东西存在,这在一定程度上限制了程序员的发展。

Vincent则认为程序员不必太担心下一碗“饭”在哪里。“在过去,‘青春饭’这个问题在行内确实会常被提及,但随着互联网、特别是移动互联网的兴起,其实我觉得这种说法已经成为一种‘个案’。” 随着时代的变迁,世界观由1和0组成的程序员,开始有了系统化的发展,发展之路也越来越多元化。“现在协同开发的网站有很多,程序员在上面根据需求方的要求,来走出自己特色的路,可以和不同的人完成不同的项目。”

对于程序员的“35定律”, Vincent更多地觉得,是因为程序员到了35岁这个年纪的时候,他的经验或他所接触的项目会导致他有一些新的想法产生。“所以这应该不算叫一种转型,只是35岁正好是在积累经验和积累项目方面比较圆满的、比较有想法的一个年纪。”

如果你想成为程序员

入行前,这些“潜规则”你必须懂

1

隔行如隔山,

很少人有重头再来的勇气

新快报CBD记者发现,很多行业里都有程序员的职位,金融业、游戏业、电信业……但同时每一个行业的程序都有其特定的规则,所以程序员一旦进入到某一个行业里,以后就不能轻易转行业了。“假如你一直是做游戏行业的程序员,想跳到金融业去,即使你写代码的手法已经炉火纯青,人家也不会招你的。”Hpho介绍到。

在雄性激素过度旺盛的计算机科学界,女性程序员对自己职业规划的眼光往往需要比男性程序员更长远,首先大部分IT公司在招人的时候已经有一定的性别指向,其次就是计算机语言更新得实在太快。“大部分男性程序员下班后回家还会继续看和编程有关的书籍,因为这是他们的兴趣点所在,而女性程序员可能更多是由于专业原因进入了这个行业,下班之后就不会再花太多时间来钻研了。”因此,作为女性程序员的Kathy,一直以来都倾向于自己往管理和技术结合的项目经理方向发展,并且选择了工作压力不会太大的零售连锁企业作为发展平台。“因为这些程序员在过去写的每一行代码都是为原来那个行业量身定制的,转行业往往意味着要重新开始,程序员大多数比较高薪,所以要他们放弃已有的待遇或成就更难了,很少人有重头再来的勇气。”对于码农生涯更短的女性程序员来说,入行前认清自己想要发展的领域与方向,更加重要。

相对而言,已经在IT界混了十年的Vincent则表示出对这方面比较乐观。“如果一个程序员真的可以算得上是这个行业里的人了,我想他也已经有很强烈的发展明确性了,既然在入行之前就已经有了自己的兴趣点,基本上都能够很好地发展下去。”

2

加班成平常饭,不加班也要熬到加班的点

在多数人的眼中,程序员就是加班的代名词,其实在如今的城市里,加班实在是司空见惯的事,不过,某些公司的程序员确实在承受着高负荷的加班工作。“加班在我们公司倒是很少,但据我所知这需要看公司性质,例如这两年微信发展的速度迅猛,在与其相关业务公司里,时间是第一位,那加班就是肯定的,要赶产品。”Vincent说。

或许是高负荷的加班让这一部分程序员失去了生活的热情,才会导致他们在穿着打扮上表现得出奇一致,而不是故意不在意的。

采访中,不少从事程序员的受访者强调,即使不用加班,但软件行业技术日新月异,需要保持一颗进取心,学习新的东西。但是在这上面的时间花费很多情况下是来自于万籁无声、伸手不见五指的月黑风高夜,自然而然的,不加班也要熬到了加班的点,休息好像也离他们越来越远了……

3

大公司培养“专才”,小公司锻炼“多才”

对于大学生来说,无论进入到哪一个行业里当程序员,他都是一张白纸,不会一下子就接触到一个完整的项目,所以暂时不会和行业性质发生太大的粘性关系,但选择在大公司还是小公司开展自己的程序员生涯,却是入行前需要关键考虑的。

“专攻某个行业的大公司程序员,需要更长的学习时间,甚至是要有相关业务的底子,才能把行业的知识变成代码,而小公司就要‘周身刀’,什么都要学,但接触面也就广了。”Vincent支招,大公司更擅长培养“专才”,而小公司可以锻炼出“多才”,已经选定自己想要发展的行业的程序员不妨选择大公司作为起步。Hpho则提示,小公司程序员的转型之路相对大公司里的,要容易一些。“我曾经参加过一场面试,其中一位应聘者是华为出来的,但在华为工作的这三年里他都是做数据库的,所以他只会这门和数据库有关的语言。”Hpho分析,这类人也许在初试筛选简历阶段会因为强大的前企业背景被选入,但到了最后关卡的时候,面试官还是主要看你的技能面。

4

你所做的事情,

未必能被公司

准确量化

程序员也是个吃青春饭的行业。因为程序员都是用生命在工作,这毫不夸张,但换来的,却未必是理解和赞颂。

一位已经从事了IT公司5年之久的资深程序员Jerry告诉记者:“我是在公司里做维护方面的工作,同时也会接触到一些在线的系统。”他说,公司里,懂这方面技术的人员并不多,而程序员的思维方式是要不断精简代码,让机制更加快更加有效。不过,问题来了,“可是偏偏那家公司是用数量去衡量每个人业绩的,所以当这个程序员在交代码方面也越来越少,甚至只有一两行,公司就以为他没干活。”