从我们长期的对受众的观察和接触上看,我们总结了在平台上斩获高薪 offer 的程序员的特质:2 个基础能力,10 个通用特质和 3 个加分特质。
下面重点展开来说,首先是 2 个基础的能力:
高效的学习能力和解决问题的能力
高效的学习能力,等同于基础知识扎实、触类旁通、读英文文档不费力、有寻找前沿知识的能力、能够看到问题和技术的本质、善于思辩、能独立思考。
解决问题的能力,意味着你同时具备高效的学习能力、见过很多的场景、犯过或是处理很多错误、能够防火和救火。
以上两个能力的具备,说明你的个人价值进入了正循环增长状态:因为你学习能力强,所以你会有更多的机会解决难题;你有更多的机会解决难题,你就会学更多的东西,于是你各方面都更强,那么个人价值也就越来越大,也就有更多的选择和可能性。
其次,100offer观察,一般在我们平台上斩获高薪的程序员,还有以下一些比较通用的特质:
1. 令人印象深刻的技术技能
程序员有可能长年累月只使用一种编程语言工作,但如果他最近新增了一门编程语言认证,那么凭借多年的编程经验和新增技术技能,一定会让人印象特别深刻。
另外,优秀的程序员一般在做三件事:写框架,写算法,写库。并不是说写业务逻辑不重要,但如果你是好的程序员,总有一天你会开始做这三件事。做的事情只是表象,品质才是内因。
2. 拥有每天学习充电的自驱力
技术总是在不断发展,程序员们今天的技术和能力有可能几年后便过时。重要的是程序员要擅于找到自己感兴趣的新趋势并把握参加继续教育学习的时机,一名好的程序员真正必须了解设计程序的背后的逻辑是什么,愿意钻研内在还乐在其中。
3. 良好的代码调试能力
创建代码只是程序员的一部分工作,当软件不能正常工作时,程序员需要做的是快速有效地找到问题的根源。与其盲目花时间进行修改,程序员更喜欢仔细调查和研究可能出现的问题,直到找到答案。
4. 抽象问题善于举一反三
优秀的程序员都很懒,解决一个问题的时候,他们想的是解决所有类似的问题。他们宁可重构代码,也不愿意 copy paste。copy paste 的代码,就好像是电线杆上贴的小广告。
5. 冷静
编程不同于其他行业,它是极其紧张的职业。当项目越临近最后期限时,好像什么都是不奏效的,很容易一筹莫展。优秀的程序员往往能在最紧张的情况下冷静处理,最重要的一点是能够继续工作。
6. 合理的时间管理
一名优秀的程序员首先会学习尽可能多的了解所需要的最终产品,而不是去直接跳跃到一个新的任务上。一旦完成了分析,程序员会在编写第一行代码之前设计程序的结构。
7. 团队合作的心态
程序员很少单独工作,即使他是公司唯一的开发人员。程序员与企业用户、市场营销、销售人员和其他程序员一起有节奏,有氛围的团队协作也是优秀程序员中常见的品质。
8. 尊重最后期限
大多数程序员接手的项目都有最后期限,当然公司应该给程序员一个合理的编写新应用程序和修复程序的时间,程序员也应该尊重最后期限,尽可能满足项目的最后截止日期。
9. 有适合自己特点的职业规划
好的职业规划依靠对行业趋势的判断,对自身优势的判断以及对下一家公司发展的判断,不能短视只看当下拿了多少薪资,拥有多高职位,要着眼未来,可以理解的是程序员没有太多时间去了解市场,所以高薪程序员一般会结交一名知心的有专业能力的职业顾问,他们每天都在与企业和候选人打交道,会是在求职时给到很多建议与灵感,从而促使在最终能够选择最好的 offer。
10. 不甘平庸,注重荣誉
对好的程序员来说,好的项目胜过好的薪水,当然一般情况两样都能满足。不甘平庸是内在的动力,这也是为什么这类人更能耐得住寂寞。注重荣誉就是影响力,产生的价值,权威性,带来精神上的满足。
加分特质
1. 人际交往能力
程序员通常被理解为不是客服型人才,似乎只是整天坐在电脑前。然后,程序员其实需要与经理、同事、客户以及其他人很好地沟通交流。尤其是有时候程序员会参与客户会议,解释系统是如何工作的。
2. 商业嗅觉
程序员很容易忽视大局而专注于创造一个软件。对于优秀的程序员来说,业务和商业也是不容忽视的重点,经常思考这类问题,可以使你更能了解全局。
3. 灵活的「懒惰」
Perl 编程语言的原作者拉里·沃尔描述过一名好程序员的三大特质:懒惰,急躁和傲慢。对于任何员工来说懒惰可能不是什么好的特质,但是 IT 经理们说,「如果你想要找到做某件事的最好办法,那么就去问一个懒惰的人,没准他就有最快捷、最有效的解决方案」。如果公司的程序员能够找到一种方法来实现流程自动化,那么这样节约的不仅仅只是时间,还有金钱。
我们总结以上特质,与各位优秀的程序员共勉。