“不要误会,我不是针对个人,我是说在座的都是垃圾”
每次打开HR邮箱看到应聘开发的简历时,脑子里浮现都是这句话。我不需要招大牛,我只是想招一名合格的程序员。
在很多人的眼里,程序员既然属于工科,那他就是靠掌握一门技术吃饭的人,就像学校门口修自行车的老师傅一样,只要学会基本的自行车构造,和常见问题的解决方案,就能靠这门手艺谋生,再加上嘴巴甜一点少点歪心思做人厚道点基本能垄断附近几条街的市场。
但实际上,程序员更像是设计行业从业者,不是每个能熟练使用PS的美工都能称之为设计师。同样的一个LOGO设计,有些人只能收500,有些人能收50万,更有些人免费做的别人也不要。
说说我选择程序员的标准
1.非极端情况,一本以下的不要
2.有编程素养,具备程序思维
3.了解这个行业文化和最近两年技术发展趋势
4.至少掌握一门编程语言
就这4点,不要求项目经验,不要求掌握特定语言,这4条刷掉了HR邮箱的所有简历,让我一度深刻意识到以我公司的水平想招到这样的程序员有点癞蛤蟆想吃天鹅肉
我相信每个过来人,应该是认同第一个条件的,不用怀疑,这就是偏见。好的大学并不一定能教会你什么,但是在一个相对优秀的文化环境下,这个人的综合能力和基础是高于平均水平的,在工作的表现突出在学习速度,工作态度,责任心,自知之明和主观能动性上。尤其是学习速度,技术学习的快慢绝对不是勤奋影响的,而是文化基础。
第二条,编程素养和程序思维。编程素养是一个没办法被量化的指标,它需要通过非常多工作不需要的基础学科知识的熏陶,潜移默化建立的。
我和CTO打过一个比方,这个行业是一个江湖,每个程序员都是习武之人,编程语言就是门派,技术框架就是一套招式,编程工具就是各类兵器。现在满大街的程序员培训机构都是带一个人拜一个门派(Java),学一套这个门派的武功(Android),给你一件兵器(Eclipse/Android Studio),第一周教你基本的外功招式(JAVA 基本语法),从第二周开始教你武功第一式(搭建项目),第二式(界面搭建)一直到你能有模有样打一套,然后让你到村口接两个杀山贼的新手任务(天气预报,星座占卜,食品电商),你噼里啪啦交了任务感觉此刻自己也是江湖人了,可事实上,这类人小说里都是成批扑街连名字都不会有的下场。
这样说可能太刻薄了,但希望我这个刻薄的比方能打消你去培训机构学习编程成为程序员的念头,希望我的刻薄能提前扼杀你未来无尽的失望。
回到这个比方,既然是习武之人,不管你师从少林武当还是明教丐帮,每一个有名字的角色都是从扎马步练起来的,下盘不稳的打架根本站不住,所有能给你用特效的招式都是需要内功深厚才能练的,张无忌没练过九阳神功抄十遍乾坤大挪移也没用。
编程素养就是内功心法,裘千仞一掌打穿桌子碗里的水波澜不起,你一掌下去手肿了,就是这么直观的区别。
回到现实,编程素养在实际编程工作中如下区别:
1.效率敏感,资源敏感!!效率敏感,资源敏感!!效率敏感,资源敏感!!重要的事情我说三遍都嫌少。对于同样的一个数据查询,效率敏感的人可以几何级提升执行效率。资源敏感的最直观体现就是图片瀑布流显示效果,不懂得动态释放资源写出来的界面滑起来卡,而且还很容易崩溃。最可怕的是写代码的人认识不到自己的问题,"我代码没问题啊,把要显示的图片都显示到listview空间上了啊,机器性能不够怪我喽?"
2.代码结构,项目框架。不是学过一点OO的思想,按照直观判断划分出一坨class就叫代码结构。准确的模块切割需要考虑接口耦合性,继承关系,可维护性,尤其在多人协同开发的过程中,项目框架决定未来3个月后会不会听到此起彼伏的“这一块需要花几天重构”
3.设计模式,这一块很难讲好坏,很多人都只知道MVC设计模式,最多再加一个单例模式。这个东西属于学起来抽象无用,做起来没有相关知识做铺垫,写出来的就是一团毛线。
4.可阅读性。代码其实只是文本,用记事本写代码不只是传说。良好的编程素养能帮助程序员构建逻辑清晰的代码,一眼望去是一块一块而不是一坨一坨的。代码风格不只是编写习惯,更多体现一个程序员在编写代码过程中注重的细节程度。
第三条,了解这个行业文化和最近两年技术发展趋势。这也是掌握单一技术很难在这个行业立足的原因,互联网行业技术淘汰是非常快的,别看php,jsp,asp这么多年还是占据半壁江山,其框架上的大调整每年都有。技术开源和敏捷开发,在这两个词的带动下,每年都有热门技术被推到台前,你可以不用,不学,但你一定要了解。知道每个新鲜技术解决了什么历史问题,在哪个领域有突出表现。做不到这一点你会发现你能做的事情越来越少,身边谈论的技术方案你越来越陌生。比如现在移动端很火的混合开发,不是简单的在原生webview下请求一个H5网页就一概而过的。
第四条,如果一个人满足前三条而不满足第四条。我都不知道怎么科学的理解这个人。
本来还想写很多,但写到这感觉已经偏离了自己打开文档时的初衷,言辞不当之处看官也别包涵了。
欢迎来喷。
这个月会再写一篇关于创业本身发展模型的文字。
———————————————————————————————————————————————————————————————
看到大家的评论,我觉得还是要补充几句。
最近因为公司拓展需要而苦苦招不到满意的程序员而苦恼,半夜有感而发写下此文,次日醒来再读很多地方自感言过其实。但如果再次讨论这个话题,楼主还会这么说,所以我不会修改原文。
楼主公司在魔都,创业2年多,核心开发都是从公司创立初期一路跟着我打拼到现在的,按照这个标准他们当初也多数不符合,但他们对公司的贡献巨大,自身的工作能力也很优秀,我非常感激他们。
看下来大家对于234都大体认同,对条件1的学历门槛有敌视情绪,也有朋友举例比尔盖茨和王江民先生。的确盖茨辍学创办微软,王江民先生据说初中文化水平毕业,36岁开始接触计算机并迅速成为国内安全领域专家。
首先,此文的背景是因为招聘,楼主相信盖茨如果想找工作就不会辍学了,王江民先生36岁自学计算机的年月是1989年,那个时候楼主还没出生,96年在中关村创业,也就是win98还没发布,整体环境和现在是天壤之别,那个年代的程序员都是真才实学的,受制于早期计算机处理性能,不深入理解程序运行的背后机制,写不出能用的程序。楼主相信那个年代的程序员对于数据结构,基础算法,内存管理机制都是当基本功看待,而对比如今越来越低的技术门槛,不可同日而语。
对于技术本身而言,学历的高低并不能代表其技术水平如何,楼主毕业于上海某985高校计算机系, 毕业时同班同学不会写代码的也大有人在。我也相信高手在民间,很多二本三本甚至中专大专的学生比所谓的名校毕业生强太多,但从一般情况上客观看待这件事,高校毕业起码一半是靠谱的,后者只有少数突出的。招聘和相亲本质上是一码事,大部分人相亲的时候都很在乎对方的学历和工作情况,高校毕业的一般综合素质高,一般学校毕业的也不乏很多社会精英,但概率上前者更普遍,所以取一个相对普遍适用的标准我并不觉得有何不妥,虽然最终影响两个人是否在一起的是性格,对于招聘就是能力。
门槛的作用从来不是挡住不适合的人,而是让适合的人进来的更容易。
每一个发给过我第二封求职邮件的人,我都会给他面试机会,希望他是有能力而需要机会的人,但至今我还没缘分遇到。
我很希望招聘到应届大学生,对于社招我反而没什么兴趣,我说的条件,本科就达到的太多了,我身边就一票,可惜均匀分布BAT不愿意在自己事业上升期跳槽,也可能是对楼主太熟悉,知道楼主不靠谱。
最后我要申明一点,楼主自己是程序员,虽然现在写代码的时间越来越少,但我深爱这个行业,编程带来的乐趣,成就,幸福感无与伦比。
——————————————————————————
评论看的伤神,为不影响工作状态,关评论。
网友评论
推荐下,源码圈 300 胖友的书单整理:http://t.cn/R0Uflld
诺
C9学生都去BAT 或者留学了。
1. 以上许多人通过特例反驳楼主,其实并不合适。并非学历低的一定不如学历高的,而是时间成本问题。哪怕你有个小学毕业成为技术领袖的例子,又能说明什么呢?日常高频率发生的现实,依然是高学历人员更多的表现出优势能力。花一年时间,筛选成千上万份简历,才能从低起点中找到一个特例,也许只要一周就能从高起点中选出一个。投资者考虑的是成本问题,而不是公平问题。
2. 作者关于招人的观点,也不合适。工作关系,只能说彼此是否合适需求。术业有专攻,问道有先后,别人达不到你需求的水准,可人家也不欠你的,你不能出言不逊,侮辱他人。其次,楼主自己也明白,能符合此标准的,即使本科应届生,都有很多。可为什么还招不到人?筛选条件没问题,候选资源也很充足,可是投简历的都是你期望之下的,你是否想过原因?多半你为他们提供的待遇和你的筛选条件,也让他人不满意。
3. 筛选是一回事,评价是另一回事。每个人都是独立的个体,不要以个人观点归类他人,给予定性。地图炮是很不负责任的行为。
饵了吗?
看见太多一本出来的以为自己牛到不行的,但是技术又差到要命的人,比所谓二本,三本,甚至专科的都差。
如果你已经工作几年,还抱有这样的态度,只能说那几年经验真是喂了狗了。
如果楼主意欲挑起这些讨论,相信好多大牛分分钟教你做人。
不负责任的夸张:不是针对你,除了 Google Facebook LinkedIn,在座的创业者都是XX
2. 从0培养
二:你是有多有钱,能给这样的人满意的工资?
三:拜托吹牛逼之前,先审视下自己。
第一条说白了就是团队DNA 没必要争议
希望给位别太激动 因为怎么说呢 哪怕是个饭店里面端盘子的 饭店经理在招聘的时候 也希望服务员自己 勤奋 努力端更多的盘子 我自己找工作的时候 也希望公司能够谅解我的学历
理解我是自学 不是培训班出生 给我机会让大家都试试 立场不同 但是必须要承认的是 LZ的要求并不过分 甚至说是 合情合理 但是就正如你要求官员 清正廉洁一样 你可以要求 别人不一定做得到
2.这种人为什么要跟你干?
3.简主将如何驾驭这种人?
如果说楼主有学历歧视,层主或许也有,歧视的方向不同而已。
比如说种族歧视,一般都说的是歧视有色人种,但我就有轻微的白种人歧视,我嫌他们体味大、皮肤粗糙、毛多……
))))
不清楚楼主的标准是什么,是有意识的往那方面靠近,还是已经具备这样的条件了。
如果是第二点,我就呵呵呵呵呵呵呵呵呵呵。
还有关于培训(我本人在公司也面试了大量人),如果你是要招一个能工作的,培训的可能反而比应届的更合适。
关于设计模式,如果每个人都深谙此道,要构架师干嘛,所以我认为公司的结构应该还是以平庸的人为主,而总监级应该是大师级别。
看楼主的描述想来是要招一个CTO了…
很多时候是要合适的人,而不是完美的
技术只是一部分,学习能力也同等重要,尤其是初创企业。兴趣,激情,主动,合作,