返回介绍

第34章 你需要一个学位吗,还是可以对此忽略不计

发布于 2024-08-21 21:40:05 字数 3605 浏览 0 评论 0 收藏 0

关于大学学位对于软件开发人员的价值,长期以来存在各种争论。没有学位的软件开发人员在职业生涯中和生活中能取得成功,又或者他们注定就是要搜遍每个角落还是找不到工作?

在本章中,我们会探讨高等教育的优势和弊端。当你没能走上学术之路的时候,你该如何获得成功?对此我会给你一些提示。

获得成功必须要有学位吗

我敢肯定,你知道这是一个很棘手的问题。如果你问的是一个有学位的人,他们很可能会说是。如果你问的是一个没有学位的人,答案可能是不——除非他们当时正好处于失业的状态。但是,真相到底是什么?你到底是否需要一个学位?

好吧,我碰巧有一个计算机科学的学位,但是我刚开始工作的时候我还没有学位,所以我刚好处于两大阵营的中间。虽然这并不能让我的答案无懈可击,但是无论如何,这种经历确实可以让我以两个阵营中任何一方的视角来看待有关求职和晋升的问题。

以我的经验,我发现,拥有学位并不是成功所必需的,但它肯定是一个限制性因素,它限制了可以提供给你的职位数量,并且某种程度上也限制了你的晋升,特别是在大公司中。没有学位可能会让你的简历被过滤掉,连被人看到的机会都没有。许多公司,特别是大公司,会根据受教育水平来过滤求职申请。事实上,一些公司的招聘政策中明确要求软件开发人员拥有大学学位。当然,这并不意味着你就不能从这些公司获得工作机会,总有一些例外,但是肯定会难上加难。

我不想在这里过分强调学位的重要性,但我希望你能明白,没有学位会限制你的选择。在这个大前提下,我确信,学位并不是成功的必备条件。

我知道有许多成功的软件开发人员并没有拿到学位,比尔·盖茨就是一个很好的例子。他没有完成学业,但是看看他现在的成就。在我软件开发职业生涯的大部分时间里,我并没有学位,我也做得很好。在软件开发领域,能力最为重要。与一纸学历证明相比,如果你能写好代码,能解决问题,能证明自己有此能力,你就能走得更远。

与其他行业相比,软件开发最大的不同就是:该领域总是不断变化。每天都有新的框架和技术问世。在教育机构中培养能适应真实工作环境的软件开发人员几乎是不可能的。等到教材出版、课表排好的时候,很多东西已经改变。

但是,这并不意味着,在软件开发中不存在永恒不变的核心领域。许多计算机科学课程中包含的算法、操作系统、关系型数据库理论和其他主题都是永恒的。然而最简单的事实是,当你坐在办公桌前开始写代码的时候,你极少会用到在学校学到的技能。身为软件开发人员,我们所做的大部分工作,都是如何使用新技术,学会如何用它们完成工作。我们很少需要回溯到计算机科学的本源。

同样,这并不意味基础的计算机科学教育毫无价值。能够深入挖掘问题并理解问题(而不是停留在表面上)的能力更具价值。对大多数软件开发人员来说,在工作中取得成功的更直接因素还是相关工作经验。

拥有学历的优势

我们已经讨论了拥有学历的一些优势,现在让我们更深入地探讨一下这个问题。

首先,学历教育可以确保你在软件开发方面获得全面的教育。计算机科学方面的学位或者其他与软件开发相关的学位,不会给你带来成为优秀的软件开发人员所需的全部教育,但是大多数学位课程能给你打下坚实的基础。

你当然也可以自学这些东西,但如果你选择自学,最终会在你的知识体系中留有漏洞,将来这些漏洞有可能会在你的职业生涯中会伤害到你。计算机科学或相关学位的教育让你学习高等数学,了解编程语言、操作系统和算法,以及一些并非日常工作所必需的核心主题;这能让你拥有良好的基础,能够让你更深入的理解自己在做什么,以及各种工作原理。

拥有一个学位也可以帮你即使毫无经验也能踏入职场。软件开发领域很难闯入,特别是缺乏任何经验的话。在这种情况下,有个学位就大不相同。如果从来就没有从事过相关工作又没有接受过正规教育,你就很难让别人相信你会写代码。

学位还可以给你更多的选择。如果你没有获得过相关学位,有一些职位你是永远不会得到的,尤其是在大公司中。没有学位,做到一定的行政岗位之后就会有一个困难期。如果你决定要转到管理岗位,你可能得获得MBA学位,而这会要求你必须先拥有一个较低的学位。表34-1列出了学位的几个好处和缺点。

表34-1 学位的好处和缺点

学位的好处

学位的缺点

接受有关软件开发方面的全面的系统教育

花费原本可以赚钱的时间去学习

无需经验就可以入行

可能会受困于思维定势,难以打破

有更多选择,更容易转到行政或管理岗位

没有学历又当如何

显然,拥有学历不仅对你无害反而能帮到你。但是如果没有学历你该怎么做呢?

如果没有学历,你就不得不更多地依靠经验来证明自己的能力。学位至少可以让雇主相信你具了解某些软件开发的知识,那么如果你没有学位的话,你就要能够证明自己有这些能力。

证明自己的能力的最好的办法就是以往的工作经验。如果在过去五年中你一直从事软件开发的工作,那么即使没有学位也能说明你会写代码。但是,如果你刚刚踏入职场,那你的求职之路会很艰难,你不得不去证明自己确实能够做到你自己所说的那些。因此准备一份作品集是最好的方法。

不管你是拥有学位还是拥有经验,我都建议你将自己的工作成果总结为作品集。如果你既没有工作经验也没有学位的话,你最好能够展示一些自己写的代码。现在,做到这一点的最好的办法就是在GitHub(http://github.com )这样的代码托管网站上创建或者参与一个开源项目。GitHub上托管着许多开源项目,人们可以通过你的GitHub页面看到你的贡献。

你也可以把自己创建的网站或者应用程序整理出来,带着这些源代码去面试。我一直推荐开发人员(特别是刚入行的开发人员)创建一个移动应用,Android或iOS应用均可。这是向未来雇主展示能力的好办法——让他了解你具有开发并部署一个完整应用的能力。

现在,花点时间想想:你能创建哪些应用,如何创建一套能带去面试的作品集。你有能带去面试的代码或项目吗?

另一个要考虑的是,如果你目前没有学位,你是否想将来去获得一个?我刚开始工作的时候,我并没有学位。我费了很大的劲才得到第一份工作,但我有了足够经验之后,我明白了一点:学位并不是那么重要。尽管如此,工作了几年后,我还是决定继续完成学业,从而得到一纸文凭。在接受教育的同时,我仍然坚持正常工作,所以最后我不但比我的同龄人多了4年工作经验,还获得了学位。这么做唯一的缺点就是,在这几年里,我都不得不在晚上学习。因为函授大学和夜大的学费比普通大学便宜,所以费用不是问题。当你有了工作,读书的开支也少了很多,你也无需借贷。不仅如此,有些公司还会部分或全额支付你的学费。

如果你目前还没有学位,你可以采用类似的路线。你可以通过业余时间上课的方式,在工作的同时获得学位。这是一个非常好的支持计划,能在以后助你一臂之力。

另一种方法就是获得专业认证。虽然不如学位那么有用,但是它们没学位那么贵,也能证明你在某领域的专业能力,如微软和Java的专业技术认证、Scrum方法认证。你通常可以自学这些认证课程,通过考试获得认证。考试的费用相当便宜。

采取行动

- 如果你没有学位,看看有哪些网上课程或者业余课程可以参加。看看它会花费多少,多久会让你毕业。

- 如果你决定完全放弃学位教育,那么一定要确保自己有一个非常出色的作品集。花时间把写过的代码整理一下,证明你了解你所做的工作。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文