成为开发人员的方法不止一种
最近我听到很多关于成为开发者的最佳途径的讨论。不幸的是,这些讨论往往集中在贬低某条途径。例如,我看到有人评论说训练营浪费时间和金钱,也看到过类似的关于从大学获得计算机科学学位的讨论。
这正符合开发者社区中一种常见的令人遗憾的模式:有些人认为一个问题只有一个“正确”的解决方案。其实,每条路径都有其优缺点,哪条路径最适合你,很大程度上取决于你的目标(包括短期和长期目标)、你的财务状况、你的时间和兴趣。在我看来,没有绝对错误的方法,但或许存在更符合你特定需求的选项。
重要的是要考虑到每个人成为开发者的动机各不相同。例如,Evans Data发现,平均而言,女性更有可能受到“发展技能、挑战自我”的激励,而男性则更有可能表示希望获得技能来支持初创企业或新业务。这两种动机都是合理的,但会影响个人的教育方式。
在这篇文章中,我将从广义上列出成为开发人员的三种最常见的教育途径,并尝试从我的角度公正地看待每种途径的优缺点。
大学学位
拥有计算机科学或类似专业学位是成为开发人员最传统的途径。
优点
- 很多工作都需要学位——你必须拥有学位才能成为开发人员吗?不是。但仍然有很多公司对学位有基本要求——通常要求拥有计算机科学或相关领域的学士学位。许多知名公司已经取消了这一要求,但即使不再要求,也经常将其列为“优先”。
- 全面的教育——大学学位的意义在于它不仅仅是编程。年轻的时候,这似乎浪费时间,但在我看来,它的好处会持续到你的职业生涯中。以我的经验来说,你可能不知道你的职业生涯会给你带来什么,而你在大学里学到的一些技能和培养的兴趣从长远来看是有益的(例如,我在大学学习历史和创意写作,这提升了我的写作能力,并为我以后的职业生涯带来了机会)。
缺点
- 这是最昂贵的选择——根据美国大学理事会的数据,2018-19学年美国大学的平均学费为10,230美元,这意味着四年制学位将花费超过4万美元。值得注意的是,大约四分之三的学生获得了助学金和奖学金,这意味着他们无需支付全额学费,但学费仍然可能非常昂贵,这笔费用可能超出你的承受范围。
- 耗时较长——当然,你也可以在不到4年的时间里完成,但4年是常态。如果你已经在工作养活自己或家人,这只会延长你以非全日制学生身份完成学位所需的时间。
请记住,另一种选择是学习一个不相关的领域,但仍然可以找到一份开发人员的工作——我见过很多业内拥有非计算机科学学位的开发人员(包括我自己)。但是,你可能需要将你的学位与以下其他途径之一结合起来。
训练营
训练营在开发者教育中是一个相对较新的概念,最早的训练营成立于 2011-2012 年。虽然训练营没有公认的定义,但它们通常持续 2 到 6 个月(平均约为 14 周)。
优点
- 它们是最快的选择——即使是为期六个月的训练营也比大学学位短得多。它也很可能比你投入自学课程的时间要短,因为你遵循设计好的课程,通常是全日制学习,而且你会获得某种形式的证书,而自学需要你投入时间以其他方式证明你的资格(例如建立作品集)。
- 专注于代码——由于训练营的设计理念是快速推进,因此非常注重让你尽早并经常地进行代码实践。大多数项目都包含项目,学生可以在项目结束后将其作为作品集进行展示。
缺点
- 价格昂贵——根据2018年编码训练营市场规模研究,训练营的平均价格为11,906美元(平均时长14.3周,每周超过800美元)。虽然训练营证书的总体成本远低于大学学位,但其价值却远低于大学学位,尤其是从长远来看。
- 就业安置可能很困难——最近的调查显示,虽然大多数毕业生(56.8%)在12周内找到了工作,但只有约75%的非大学毕业生最终找到了工作(虽然其他数字更高,但我以此作为比较点,因为我们讨论的是训练营作为大学学位的替代)。需要注意的是,大多数主要的训练营项目都提供某种形式的就业安置援助。
全国有超过100个不同的训练营项目。考虑到成本和时间投入,值得研究一下每个项目在就业安置和课程安排方面的成功率。
自学
自学是一个广泛的类别,因为它涵盖了从在线课程到书籍以及人们可以找到的任何数量的替代学习方法。
优点
- 这是最便宜的选择——费用显然取决于你选择的学习路径。如果你利用各种免费的在线学习资源,费用可能为零,而订阅Udemy、CodeAcademy或Pluralsight等热门平台的课程则需要花费数百美元(基于年度订阅或多门课程)。
- 一切尽在掌握——如果你是一个专注、积极上进的人,那么无需设定特定的课程或完成时间反而会对你大有裨益。“课程”由你决定,可以专注于你感兴趣的特定领域。学习时间长短,实际上取决于你的时间和投入程度,你可以根据自己的时间安排,既能兼顾工作,又能兼顾家庭。
缺点
- 没有就业援助——自学成才的开发者需要具备哪些资格才能获得工作?目前没有明确的指导方针,而且这些指导方针可能会根据公司情况而变化。由于就业安置需要自行解决,而大学和训练营拥有资源和招聘合作伙伴来帮助你寻找工作,因此情况会变得更加复杂。
- 一切尽在掌握——这既是优点,也可能是缺点。课程安排是什么?由你决定。需要花多少时间?由你决定。需要多长时间?这不太明确。如果你缺乏动力,或者找不到时间独立完成培训和课程,你可能永远无法获得开启职业生涯所需的动力。
值得一提的是,自学可以与其他任何学习方式相结合,尤其是在成本较低的情况下。事实上,无论你从事开发工作多少年,自学都应该成为任何开发人员职业生涯中继续教育的一部分。
分享你的经验
虽然我确实分享了一些研究成果,但其中大部分内容是基于我个人的观点和经验,并有意进行概括。你的观点和经验可能有所不同。我很想听听你成为开发者的学习历程——请在评论区分享!
鏂囩珷鏉ユ簮锛�https://dev.to/remotesynth/there-s-more-than-one-way-to-become-a-developer-3h09