程序员必备的十大基本技能及十三项软技能

新手程序员必备十项技能

拉勾导读:初出茅庐的你带着仍残留墨香的毕业证书踏上工作岗位,马上就被书上没写的规则和各种繁杂的日常事务来了个下马 威。这样的故事实在是司空见惯,编程工作也不例外。没有几个学生能 100% 为自己的第一份真正的工作做好准备(开发人员求职神器:URL)。如果你不想成为其中之一,请学学以下这 10 项无需手把手指导就能学会的基本技能:

1、版本控制系统(VCS)

VCS 也许是计算机课程最大的疏漏。这些课程光记得教如何写代码,但却往往忘记教学生如何去管理代码。每一个程序员都应该懂得利用 Git 或 Subversion 有效地创建 repository(仓库),编辑与提交代码,进行分支与合并,了解项目工作流。

2、学会写作

身为程序员要写的不只有代码。你还要写项目的发布说明,给版本控制写提交消息,在系统里面写漏洞报告。这些和许多地方都需要清晰有效的文字交流—但这个技能计算机科学却很少强调。

3、正则表达式

正则表达式本身就是一门语言,每一个现代程序员都要擅长。每一门现代语言都支持正则表达式或者有相关标准库。如果代码需要校验某字符串是否含有 5 个字符、1 个破折号和 1 个数字,你应该马上就能写出 /^[A-Z]{5}-\d$/。

4、库的使用

现在已经是 2014 年,所以没人需要用正则表达式从 URL 析取主机名了。因为每一门现代编程语言都有执行常用功能的标准库。

程序员需要明白,那些经过开发、测试和调试的代码通常要比自己重新写的代码更好。更重要的是,无需编写的代码实现起来要快得多。

5、SQL

很多人的 SQL 都是在工作中学会的。数据库怎么会是选修课呢?有不用数据库的吗?

把 数据存进平面文件的时代已经结束了。一切东西都要进出数据库,而 SQL 则是存取数据的语言。这是一门说明性语言,不是程序语言,所以用它来解决问题时需要新的思考方式。每一个程序员都应该了解数据库标准化基础,能够执行 SELECT(及 INNER、OUTER JOIN)、INSERT、UPDATE 和 DELETE。

6、会用IDE、编辑器及CLI工具

只懂用锯子的木匠永远也无法出师,所以计算机专业毕业的人只懂 Notepad 或 pico 令人惊诧。编程工具帮助操纵代码及其他数据,令程序员生活变得容易。所以每一个程序员都应该知道命令行、shell 脚本、find、grep 及 sed 的使用。

7、调试

每一个程序员都应该知道利用交互式调试器或在代码中点缀一些输出语句来调试程序。通过逐步求精来跟踪问题的能力实在是太重要了。

8、防错性编程

错误总是难免的,哪怕是明星程序员也不例外。失控是世界的常态,出错毫不奇怪。防错性编程正是理解了这个事实。如果东西不会不出错,我们就不会检查文件打开成功与否,不会检查客户 ID 是否合法数字,不用测试代码是否允许正确。

程序员需要知道,编译器告警是有用的工具,可让我们生活得更舒适,而不是要避而远之的麻烦事。每一个程序员都应该知道为什么每一个 PHP 程序都要这样开头:

1set_error_reporting(E_ALL)

每一个 Perl 程序都要写上这些语句:

1use strict; use warnings;

9、团队协作

很少编程工作会让你自己一个人完成,如果你经常这么做,智力会受损,表现会变弱。你的代码必须与别人的交互或者混合。再有才的程序员,如果无法与别人协作,都会给项目造成负面影响,并迅速成为组织的负担。

10、利用现有代码

在学校的时候,每一次作业都是一个新项目。但现实世界不是这样的。对于刚工作的人来说,所接到的第一项任务往往是修改代码漏洞。然后,再在现有代码库的基础上为现有系统增加一个小功能。设计新代码那是几个月后的事情,如果幸运的话。

做程序员,仅仅成为码农是远远不够的。下面是云和数据整理出的CTO、高层执行人员和HR共同认为程序员必备的13项技能和软技能。

1****、Java**

2016年,开发人员掌握Java绝对不会错。Java能力是目前为止被高层执行人员和HR誉为最频繁的追捧技能。Java已被证明是当今市场中高度可移植和宝贵的技能。

2****、大数据**

大数据相较于去年继续扩大,而且在这几年里也没有任何放缓的迹象。开发人员必须有全面的商业智能和分析产品,机器学习工具和其他可以转移、存储和汇总大量数据解决方案的知识。只有这样,他们才能帮助公司存储,交互和分析大数据,以便于做出更好的业务决策。

3****、掌握全栈**

现在许多顶级公司都在寻求可轻松应对各种技术和平台的全栈开发人员。

4****、涉及开发运营**

炽热的就业前景并不是考虑在简历中添加开发运营经验的唯一原因:开发运营实践会让你成为一个更优秀的开发人员和一个更有价值的合作者。
  开发运营实践还可以提高团队凝聚力和业务敏捷性,这是一种能让企业加速领先一步的边缘技能。

5****、多样化**

相比前几年,现在的企业希望寻找更丰富的技能。Java和C#仍然占据市场部分份额,但是当你去看那些在上次经济衰退之后成立的公司,那么你将看到各种类型的语言需求:Ruby on Rails,Python / Django,Node.js,以及在出现的函数式编程语言中,Scala是最普遍的。

6****、使用源**

特别是自由职业者,指向GitHub上的代码,能够表明你的工作完成得很好,并通过了同行审查。
  如果公司本身正在探索GitHub以便于添加技术到他们的堆栈,那么你不上谁上?

7****、敏捷**

敏捷开发应该成为2016年程序员的必备技能。熟悉敏捷和精益方法——将大项目分解成小故事,确定优先排序,适应变化,并提供最大价值。

8****、安全性**

根据研究报告,去年深受安全漏洞之害的公司知道2016年什么技术对他们而言是最有用的。
  随着云计算使用的增长,安全性和合规性越来越为组织所担忧,这导致了对安全,合规,治理和数据管理专家的需求热潮。

9****、移动开发**

移动开发者备受追捧,尤其是那些可以广泛发布自己作品的开发人员。要成为一个成功的移动开发者不是通过特定的技术技能来实现的,而是通过商务头脑实现的。
  编写代码仅仅是项目的第一阶段。知道如何推广移动app,如何吸引和留住客户,才是成功的推动力。

10****、云计算**

当涉及到云计算中的职业机会时,它并不全部意味着工具。TEKsystems说,企业希望招聘到有业务能力,包括项目管理和与供应商谈判能力的开发人员,并且这将成为一种持久的趋势之一。
  此外,我们需要更多“推动业务”类型的技能,但不太需要战术工作,因为云供应商现在越来越对此负责。

11****、物联网**

现在的物联网不但作为了一种雇佣需求,也是一种天才工程师想探索的技巧。
  而且这不再只针对嵌入式系统工程师,你即使是一个Java开发人员,也可以做这个。协议如Wi-Fi Halo,以及可穿戴和IoT设备开放轻量级SDK的出现,为开发人员不再局限于显示器和构建针对周围事物和环境的东西打开了很多机会。我们还可以看到由于这些工具的问世,很多硬件/软件开始协同设计。

12****、有说服力**

客户管理技能是很重要的,特别是巧妙但令人信服的推延能力,这在发布的替代品更有价值的时候很有用。也需要能够教育客户关于软件性质的口才,引导他们选择可更好满足他们长远目标的做法。

13****、变通**

如果你是团队中有着10x生产力又全栈的开发人员,那么对你的服务要求比供给更多。但是,如果你还是新手或正在转行,那么正确的态度可以让你的面试—留用—录用过程大不相同。
  作为一个优秀的团队成员,应该成为解决方案的一部分,而不是问题的一部分,愿意伸手帮助团队成员,有一种志愿服务理念,并努力提高对团队有价值的产品或文化。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,271评论 5 466
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,725评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,252评论 0 328
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,634评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,549评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,985评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,471评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,128评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,257评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,233评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,235评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,940评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,528评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,623评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,858评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,245评论 2 344
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,790评论 2 339

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,248评论 25 707
  • 本文把程序员所需掌握的关键知识总结为三大类19个关键概念,然后给出了掌握每个关键概念所需的入门书籍,必读书籍,以及...
    dle_oxio阅读 11,074评论 6 244
  • (今天好累啊,转一篇以前的吧,那个时候属于高能量状态,写的东西都是激情四射,爱意满满) 朋友圈上面“朋友”越来越多...
    candycoin阅读 393评论 0 1
  • 那时无邪,年方少 花开正好 情丝千绕 时而癫狂笑 自嘲红颜易老 皆是毒药 后来意气凌霄 藐群豪 风发桀骜 秦楼歌舞...
    白衣夜锦阅读 210评论 0 0
  • 厌倦独立博客后,很长一段时间都是依靠新浪微博来叙述我的生活,文字或图片,三言两语就好像把能说的都说出了,140个字...
    冯十八特曼阅读 179评论 0 1