为什么成为软件工程师的最佳途径是读大学?

 想成为软件工程师吗?必须上大学才能成为优秀的软件工程师吗?相比于漫长的大学生活,有想过上个短期网课,然后找工作吗?

如果觉得上述问题很有趣,这篇文章就能带来一些启发。

成为软件工程师

大多数人都会说,这是一个很好的职业选择,说的没错。

如今,成为一名软件工程师益处多多:

· 工作既有趣又有挑战性

· 社交活动

· 商务旅行

· 友好灵活的工作环境

· 远程工作的可能性

· 紧跟科技发展

· 优厚的薪水

· 等等

在软件公司,每天都可能学到新知识。在这个更新换代极快,充斥着各种各样技术的产业,人们无法做到无所不知。

此外,软件工程师们性格各异,爱好广泛,因此总能从同事身上学到新东西。这个道理不仅适用于IT行业,各行各业皆是如此。

与志趣相投的人相处总是趣意横生。IT部门有很多社交活动,例如团队建设、会议、编程马拉松和聚会等。

软件工程师能随时对各项流程——从开发到高级管理,提出改进建议。

该行业的首创精神体现为积极性、主动性和完美主义,这通常会给同事和经理留下好印象。当然,软件工程师也有做自己的自由,并帮助营造适合自身和同事的办公环境。

IT领域充满活力,在做自己的同时能够尝试各种各样的新鲜事物。总的来说,能给人带来无限快乐。

但要成为软件工程师,就必须掌握一些计算机科学和软件工程方面的基础知识。

可通过以下两种途径获取所需证书:

· 大学途径

· 非大学途径(线上课程和IT学院)


非大学途径

上网课

网课(如Udemy、KhanAcademy、Coursera等线上学习平台的课程)是收集高质量信息最可靠和便捷的方式。

网课提供的资料有合理的结构和清晰的解释。

但通常在自学新概念时,人们可能无法正确理解。如果周围没有人能告诉我们是否理解得准确,这将很糟糕。

网课的另一个缺点就是互动性差,在软件工程师的准备工作或其它领域中,互动性非常重要且不容错过。

社交是一个健康的习惯。

“演唱会不只是唱歌,更多的是与粉丝互动”。——Post Malone

这个道理也适用于软件工程。

“我认为软件工程不只是编码,更多的是与人互动”。——Daniel Gospodinow

老实说,网课的目的不是为谋求软件工程的职位做充分准备,而是具体教授某一主题的知识。除非当事人已经具备了一定的软件工程知识,否则这种方法效果不太好。

如果第一份工作或实习是在小软件公司,网课就足够了,这些课程可以解释一些基础知识,比如编程语言、数据结构和算法。

被录用后在工作中学习新知识也是可以的。但随之而来的问题是:“这真的足够吗?”并不完全是,因为会错过很多推荐话题。

在网课中错过的计算机科学和软件工程基础知识是很难弥补的。更严重的问题是,当事人甚至都不知道自己错过了哪些课程。

而且在某些时候,一旦人们跟不上概念更新的速度,就会有放弃的念头。

网课不是强制性的,人们也没有义务要完成,所以就很容易半途而废。相反,下面展示的途径就和网课不一样。


IT学院

就像网课和大学的混合。

学院相对较短——和网课类似,又有社交方面——和大学类似。

就像网课,这种途径要求学生积极主动。

学院课程相对集中,目的是让学生针对工作中所期望的事情有所准备。

特定的编程语言、基本算法和数据结构、特定语言的框架、单元测试、版本控制系统、项目管理系统(最终)、持续集成软件(最终)等。

此外,学院有助于提高软技能和团队合作能力,这是网课无法教授但很有用的技能。

学院为应聘软件工程师提供了万全准备,但先前的问题仍然存在:“这真的足够吗?”

这种途径提供了优秀的实践技能,但仍然没覆盖到很多的计算机科学和软件工程实践和理论基础。


大学途径

有些人讨厌大学,觉得是一个炼狱般的旅程——艰难,漫长,甚至在某些时刻毫无用处。

有些科目和讲师非常糟糕,这会在一段时间内毁掉学生的生活。但不管怎样,大学的优势绝对大于劣势。

谈论到大学里讨厌的事情时,除了计算机科学学位,斩获冠军的是——数学。


图片来源:Unsplash

大家讨厌数学的理由各不相同,但是,数学是获得计算机科学学位的基础,在将来的某个时刻,数学总会派上用场。

可能有人会说:“希望在必要的时刻再学习这些科目。”但不要低估数学,大家都是过来人。

数学是机器学习、人工智能、计算机图形学、密码学等领域的必备技能。

数学还能提高解决问题的能力,这种能力也是成为软件工程师的基础。还有许多其它科目被多数人讨厌,但总的来说,它们都必不可少。

如果还没有从事过软件工程师的工作,就很难看出哪些是值得了解的,哪些不是。

大学学习是软件工程师的坚实后盾,其中囊括了他们应掌握的所有知识——数学,操作系统,计算机架构,计算机网络,计算机图形学,功能编程,软件架构,软件工程过程等。

更棒的是,很多大学还提供额外课程——物联网、机器学习、密码学等等。这些领域的基础知识有助于学生成为一名优秀的软件工程师。

涉猎计算机科学和软件工程众多领域能让学生最终找到感兴趣的领域并乐在其中。

学生也会明白自己该应聘什么公司的什么职位,如开发人员、质量管理人员、系统管理员等。

除此之外,大学还提供了广泛领域的基础知识,如果想换工作,大学的学习也有所助益。

社交。毫无疑问,这是大学最重要的益处,和聪明且有抱负的人交朋友总是益处多多。

和一群有抱负的人在一起必定前途无量,很多软件初创公司都是由大学生创办的。

许多著名的软件库、框架、语言甚至整个产品都是从大学项目开始的。

一般来说,很多开创性的、改变世界的想法都是由一群雄心勃勃的大学生提出的。

另一个加分项就是,多年来,许多个人和团队项目都向学生提出了未来工作中可能遇到的实际问题。

这些项目都能使学生的简历增光添彩,提高了被录用的可能性。

拥有计算机科学学位的学生在应聘软件工程职位时是一个与众不同的应聘者,对公司来说也是一个很不错的选择。

这个学位本身就表明,该学生了解核心的计算机科学主题,社交技能水平相对较高,这已然是胜券在握了。

如果真的想成为一个拥有广泛知识基础的优秀软件工程师,大学是更好的选择。

“好事多磨,在长跑中更是如此。”——Bill Dellinger

相关产品

评论