科技新报/新手软体工程师要知道的十个基本技能

图、文/科技新报

到了毕业季,许多刚学校毕业的学生也开始进入职场,进入职场后,很多事情可能与原本想像不同,没有人有把握一开始就百分之能掌握工作的全部项目,软体工程师行业也是如此,与上个世代相比,软体撰写这个行业也经过许多的转变,New Relic 特别列举了十个新手网路工程师应注意的相关技能,让初出茅庐的新手也能掌握成为达人的关键。1、版本控制管理

未涉及版本控制管理可能是现代电脑相关课程中最大的疏漏,这些课程只着重要如何撰写程式码,但却没有于程式码的管理却支字未提。其实每一个软体工程师都应该懂得利用 Git 或 Subversion 有效地创建程式库(repository),编辑、送出程式码,创建与合并分支,并利用版本控制组织化整个工作流程。2、学会清楚的写作

软体工程师要撰写的可不只有程式码,还有针对专案写下说明、给版本控制写送出注解、写下系统漏洞报告。这些都需要清晰有效的文字交流,不过这个基础的技能程式语言相关课程也一样都被忽略不提了。3、正规描述法

正规描述法本身就几乎是一门语言学了,每个现代软体工程师都要学会如何使用它。现代的各式程式语言本身有其标准格式可供运用,举例来说,如果在程式中要校验字串是否含有 5 个字元、1 个破折号和 1 个数字,软体工程式应该马上就能写出「/^[A-Z]{5}-d$/」这样的描述字句

4、善用程式库

在 2014 年的今日,再也没人还要正规描述法从 URL 析取主机名称了,因为每个现代程式语言都有执行常用功能的标准程式库可供运用。软体工程师更需要了解,现今的程式语言在经过开发、测试调校下的标准程式码通常要比自己重新写的程式码更快、更好。更重要的是,无需再花时间重新撰写的程式码,利用起来总是快得多了。5、SQL

近来有人表示,多数人的 SQL 都是在工作中才学会的,为何资料库居然然是选修课?还有人不用资料库的吗?把资料以书面存放的时代已经结束,现在一切数据都要进入资料库了,而 SQL 则是其常用来检索的进出资料库。同时 SQL 也成了一种说明性语言而不是程序语言,所以用它来解决问题时需要新的思考方式。每一个软体工程师也都应了解资料库标准化基础,能够使用 SELECT(以及 INNER、OUTER JOIN)、INSERT、UPDATE 和 DELETE 等指令。6、会用 IDE、编辑器与 CLI 等工具

只会用锯子木匠永远出不了师,若以电脑科学专业毕业的人却只懂得使用记事本或 pico 也同样让人感到吃惊。若能熟练的运用这些工具掌控程式码与其他电脑中的资料,会让软体工程师的日子更好过,所以诸如种种 UNIX 的指令,如 shell script、find、grep 及 sed 都是软体工程师要能熟悉运用的。7、调校除虫

每一个软体工程师都应该能用各式互动式除错软体,让工程师能透过逐步追踪问题,得以从经验中来精益求精寻求改善之道的能力实在是太重要了。8、预防性编程

就算是明星级的软体工程师也不能完全不发生失误,失控、出错方是世界的常态。预防性编程只是了解这事实所做的预防措施正是理解了这个事实。如果东西不会不出错,人们不会检查文件是否能正常开启、检查客户 ID 是否为合理整数,也不用测试程式执行是否正确。软体工程师也要知道编译器中的警告都是有实际功效,可让日子好过一点,而不是要人避而远之的麻烦事。软体工程师也都应该知道为什么 PHP 程式的开头都要写着「set_error_reporting(E_ALL)」,而每个 Perl 程式则都写着「use strict; use warnings;」。

9、团队合作

很少程式撰写的工作会单独由一人完成,如果你经常如此,那么往住脑力会受损、程式撰写技巧也会每况愈下。程式码必须与他人交互混合与交换撰写,无论再有才华的工程师,若无法与其他人合作,那么都早晚都会成为一个组织的负担。10、运用已有的程式码

在学校时,每个作业都是一个新专案,但现实的工作场合不是如此。对于刚出社会的人来说,一开始接到的项任务多半是追踪修改程式漏洞。接下来,可能有机会在现有的程式中添加一些功能来进行修补,如果够幸运的话,在几个月后方有机会设计撰写新程式。

10 Secrets You Should Have Learned with Your Software Engineering Degree – But Probably Didn’t

首图图片来源:Flickr/Alper Çuğun)

【本文章由科技新报授权提供,更多精彩内容请详科技新报官网