全文共2738字,预计学习时长5分钟
图片来源:Unsplash
想成为软件工程师吗?必须上大学才能成为优秀的软件工程师吗?相比于漫长的大学生活,有想过上个短期网课,然后找工作吗?
如果觉得上述问题很有趣,这篇文章就能带来一些启发。
成为软件工程师
大多数人都会说,这是一个很好的职业选择,说的没错。
如今,成为一名软件工程师益处多多:
· 工作既有趣又有挑战性
· 社交活动
· 商务旅行
· 友好灵活的工作环境
· 远程工作的可能性
· 紧跟科技发展
· 优厚的薪水
· 等等
在软件公司,每天都可能学到新知识。在这个更新换代极快,充斥着各种各样技术的产业,人们无法做到无所不知。
此外,软件工程师们性格各异,爱好广泛,因此总能从同事身上学到新东西。这个道理不仅适用于IT行业,各行各业皆是如此。
与志趣相投的人相处总是趣意横生。IT部门有很多社交活动,例如团队建设、会议、编程马拉松和聚会等。
软件工程师能随时对各项流程——从开发到高级管理,提出改进建议。
该行业的首创精神体现为积极性、主动性和完美主义,这通常会给同事和经理留下好印象。当然,软件工程师也有做自己的自由,并帮助营造适合自身和同事的办公环境。
IT领域充满活力,在做自己的同时能够尝试各种各样的新鲜事物。总的来说,能给人带来无限快乐。
但要成为软件工程师,就必须掌握一些计算机科学和软件工程方面的基础知识。
可通过以下两种途径获取所需证书:
· 大学途径
· 非大学途径(线上课程和IT学院)
非大学途径
上网课
网课(如Udemy、KhanAcademy、Coursera等线上学习平台的课程)是收集高质量信息最可靠和便捷的方式。
网课提供的资料有合理的结构和清晰的解释。
但通常在自学新概念时,人们可能无法正确理解。如果周围没有人能告诉我们是否理解得准确,这将很糟糕。
网课的另一个缺点就是互动性差,在软件工程师的准备工作或其它领域中,互动性非常重要且不容错过。
社交是一个健康的习惯。
“演唱会不只是唱歌,更多的是与粉丝互动”。——Post Malone
这个道理也适用于软件工程。
“我认为软件工程不只是编码,更多的是与人互动”。——Daniel Gospodinow
老实说,网课的目的不是为谋求软件工程的职位做充分准备,而是具体教授某一主题的知识。除非当事人已经具备了一定的软件工程知识,否则这种方法效果不太好。
如果第一份工作或实习是在小软件公司,网课就足够了,这些课程可以解释一些基础知识,比如编程语言、数据结构和算法。
被录用后在工作中学习新知识也是可以的。但随之而来的问题是:“这真的足够吗?”并不完全是,因为会错过很多推荐话题。
在网课中错过的计算机科学和软件工程基础知识是很难弥补的。更严重的问题是,当事人甚至都不知道自己错过了哪些课程。
而且在某些时候,一旦人们跟不上概念更新的速度,就会有放弃的念头。
网课不是强制性的,人们也没有义务要完成,所以就很容易半途而废。相反,下面展示的途径就和网课不一样。
IT学院
就像网课和大学的混合。
学院相对较短——和网课类似,又有社交方面——和大学类似。
就像网课,这种途径要求学生积极主动。
学院课程相对集中,目的是让学生针对工作中所期望的事情有所准备。
特定的编程语言、基本算法和数据结构、特定语言的框架、单元测试、版本控制系统、项目管理系统(最终)、持续集成软件(最终)等。
此外,学院有助于提高软技能和团队合作能力,这是网课无法教授但很有用的技能。
学院为应聘软件工程师提供了万全准备,但先前的问题仍然存在:“这真的足够吗?”
这种途径提供了优秀的实践技能,但仍然没覆盖到很多的计算机科学和软件工程实践和理论基础。