程序员的入职门槛和工作环境一直是我们津津乐道的话题,最近就有报道说,在IT技术最发达的美国,人人都可以成为程序员,即使你不是从正规的计算机专业毕业的;即使你之前从没接触过计算机;即使你,只是为了糊口养家而选择编程工作。程序员的世界都是欢迎你的。那么,我们不经要拿外国的程序员工作环境、入职条件等等在我们看来很有魅力的条件和我们国内程序员的条件相对比一下,可是从哪些方面进行对比呢? 一叶知秋,很多IT“专家”其实都只是“砖家”linghu9990在博客中写到:最近面试了数十个应聘内核开发职位的求职者。这些求职者都来自于芯片或嵌入式操作系统领域出名的非常好的大公司。他们大都声称他们在内核开发领域有至少十年经验。他们的简历看起来闪闪发光,充满着相关项目经验,各种时髦的技术词和奖项等等。 但是他们大部分无法回答一个基础的问题:当你调用标准的malloc函数时,内核里面发生了什么? 不要吃惊。当让一位求职者写一个基于 glib 哈希函数的简单 LRU 缓存框架时,他首先说他从没用过 glib,这是我预料之中的。我把 glib 手册给他并给他详细讲解了接口,接着一个多小时以后他只写出了几行糟糕的代码。 事件的原因分析: 相信导致这种现象的不仅是他们自己的原因,更要归咎于他们就职的公司。这些公司会给他们大量的数年不会有重要修改的稳定的代码。有技术含量的东西都被封装进了这些代码,所以他们只能因循守旧,不再创新。一旦走到招聘市场,他们这些所谓的“专家”将毫无竞争力可言。这就是程序员的困境:我们以代码为生,但供养我们的大公司却慢慢摧毁我们谋生的能力。 如何摆脱这种困境: 我觉得,事件的出现都是有两面性的,孤掌难鸣。所以解决方案当然既有针对个人的,也有针对企业/用人单位的。 针对个人:首先,做你自己的项目。你需要不断”磨快你的刀”。工作之余挑一些自己感兴趣的任务去做,并且用自己的时间克服遇到的难题。这样做,你肯定会学到新东西。假如你在Github上发布自己的项目,你可能会有机会认识把你拉出当前位置的人。 另外,不要在一个团队里呆的时间超过两年。试着每18个月进行一些面试。你不一定要换你的工作,但是你要看一下市场上需要什么,而自己如何适应需求。 针对团队/公司:给你的员工压力与挑战。轮换岗位,让”专家”有机会去拓展技能。开启新的项目,给战士们提供战场。定期举办”编程马拉松”。这将建立一种改革与创新的文化。 美国“程序员世界”无门槛,人人都可当程序员想在美国当程序员?可能没你想象的那么难。就算没钱去正经大学念个计算机科学,也有其他出路。最近,越来越多的在线学习编程学校在美国火了起来。许多真实的案例都为一些有志于此的人指出了一条光明大道:无论你是想找工作的穷学生,还是想改行的中年危机男,程序员的世界都欢迎你。 “闪电战”编程课程 西雅图的“代码伙伴”(Code Fellows)学校,就非常确信他们能够帮助学生找到工作。他们为学生提供六个星期的“闪电战”编程课程,让学生能够完成从零基础达到基本入门状态,收费1.2万美元——如果还是找不到工作,学费可以全退。 类似学校的兴起背后,是美国互联网市场的日渐繁荣,这导致了程序员供不应求的局面。据美国劳工部的数据预测,2020年美国大约会空出100万个程序员职位。而且许多传统高校对计算机课程的不怎么上心,正在让这个缺口越来越大。 比如今年华盛顿大学的计算机系,就只招了1/4完全够格的申请者。对于那些没能成功申请上一个计算机课程的学生来说,好在在程序员的世界里,学位并不是通向工作的唯一途径。 比如业界标杆谷歌公司里,一些团队就有14%的程序员没有相关正式学位。放大到全美来看,67%的编程岗位都是来自非科技类公司,这就意味着编程之外,还需要其他正常商业技能。 从这个角度来看,和焊接工或者木匠一样,编程其实就是一门手艺。是一门任何人都可以在几周或者几个月内稍加学习就具备基础技能的手艺。而且一旦那些刚刚开始的编程菜鸟们靠着这些基本技能混到了第一个工作,此后的职业发展道路上,他们就和其他正规学校出来的程序员同行们获得了相等的机会,只要各凭本事就好。 以脸谱网(Facebook)为例,每一个工程师在进入该公司要做的第一件事,就是6个星期的集中训练,大部分的课程自然都和编程相关。公司设立这个规定流程,是因为在大部分的高校里,计算机系都更注重理论学习而不是实打实的编程。后者其实包括了各种最流行的编程语言、项目管理与合作等一系列庞杂知识,这意味着一个合格的程序员往往需要和几十个其他程序员以及几百万运行程序同时打交道。 |