编
程式设计派的听众中,有不少是想透过自学 Python 改行当开发人员的,所以在此之前没程式设计基础。我他们虽然没最终跨出这一步棋,但是希望透过撷取今天的这首诗,能对她们的改行成功之路有
假如你想知道怎样自学程式设计和改行,所以你不是在出师不利。随著信息技术风潮对应用软件技师和应用软件工程家需求的增加,许多从业者早已开始争相将他们的生涯迁移到一条更著重控制技术的康庄大道上。
2016年,Glassdoor公布的前25种组织工作中,控制技术职务名列第一。随著源自于白宫的 TechHire 专业人才计划的颁布,那个趋势不仅没暂停的征兆,所以位数黄金时代正在以流星般速率行进。不过,许多应用软件工程和程式设计组织工作仍然空在那里,即使企业招不到能让她们加速雇佣的符合要求参选人。
所以,在没传统应用软件工程的大背景下,好不好才能成为两个畅销的开发人员呢?
许多人认为,对于这样的职务是不能专业专业技能的,尤其是——假如你没专科文凭的话。或许你有两个非导演系,或者你早已踏进理工学院正门极短一两年却没课堂教学过曾自学的专业技能。值得称赞遗憾的是,现在有许多资源容许你回到那个高架道路上,改变生涯。
确定目标&早已开始解决问题
首先要明晰的是,程式设计就是补救。
训练有素的开发人员能自学任何人词汇、解决任何人问题,即使她们的基础教育和生涯早已历经过怎样最差地补救。训练有素的开发人员会使用这么十多年课堂教学中发展出来的多种不同方法和流程。她们会从多种不同程式设计词汇,不同的数学概念和函数中选择,以便找到有效的解决方案。
问题时,她们调查研究,制定计划,然后才早已开始编码。
一早已开始,你的主要目标应该是建立两个补救的系统。当你自学你的第一门程式设计词汇的时候,有许多需要自学的东西,但是在自学基础知识的时候,你需要制定简单和直接的项目目标。
从小项目早已开始,这将有助于你自学逻辑思维;帮助你了解计算机系统的组织工作方式。不要去一步棋登天地想着创建大网站,制作复杂的app,以及3D视频游戏,即使这些是未来某一天的最终目标。网上的资源很丰富,如GitHub上充满了新手开发人员可以上手使用的小而简单的项目。这些都是你在传统的数据结构教科书上可以发现的各种问题——这是另两个选择的途径。小小的课堂教学练习可以帮助你自学程式设计词汇,并训练你用这些词汇解决与应用软件工程相关的问题。
还在怀疑他们是否能改变职业进入程式设计行业吗?有两个关于Reddit的故事,源自于两个原本对程式设计一无所知但在一年后却被雇佣了的开发人员。她们他们也承认,她们花了许多时间专注于他们的专业技能,所以那个过程所需要的时间可能会更长,假如你只在晚上和周末自学的话。另两个例子是Colin Cross,两个MPCS毕业生,在他决定得到必要的基础教育以便于追求全职事业之前,仅仅只是涉猎过应用软件工程。
说明一下,我们并没贬低常规基础教育的意思。自学怎样补救是你成功的第一步棋。常规基础教育需要更长的时间。首先你应该先看看他们是否能静下心来坐在电脑前编码问题的解决办法。假如不行,所以你会觉得自学程式设计和改行很难。透过培养补救的专业技能并看看他们是否喜欢这种类型的组织工作,你才能更好地判断他们是否适合吃控制技术这碗饭。
透过小型项目攀登这座高峰
对于绝大多数开发者而言,程式设计围绕着World Wide Web展开。两个动态响应用户输入的网站可能在你的浏览器上看上去简简单单,但是它需要大量富有控制技术含量的设计和工程,才能使其以这种方式组织工作。
有部分代码涉及给你的浏览器信息以显示并收到你的输入,这通常被称为前端开发。还有部分是处理所有这些信息,并执行一些繁重的任务。这是所谓的后端开发。当代很大一部分开发人员组织工作于web开发,并且她们使用的程式设计词汇被设计得不仅易于使用,所以具有强大的能力。
自学简单网站是怎样组织工作的是你早已开始自学的好地方,并且有无数在线资源可帮助你。
就拿Odin Project为例。Odin Project是两个免费资源,旨在尽可能温柔地给你介绍web程式设计。它用一种足够简单的词汇来介绍许多从业者使用的程式设计词汇,同样适合初学者。你可能以前曾听说过JavaScript,Ruby on Rails,和HTML。这些都是可以早已开始自学的好起点,并且最终可以成为你日常使用的工具。
EarlGrey:怎么能不提 Python呢?!
材料比时间表更重要,所以启动比担心不能在承诺的时间提交更重要。
我需要更多基础教育吗?
编码是两个行业,所以和任何人行业一样,它要求课堂教学、勤奋和专注,以便于真正掌握概念。在线资源可以帮助你启动并取胜。假如你透过自导的项目和工具组织工作,所以你当然可以早已开始认为他们是正处于生涯早期阶段的两个开发人员。
既然程式设计是一种行业,所以让我们看一看其他的行业——例如建筑和结构。早期的开发人员会认为他们是一名造房子的建筑工人。造房子,并且造得很好,这非常有价值。接受指令和规格,用适合的专业技能打造一些东西。
但是,或许你也会想要设计房子。或者想要了解是什么使得房子更有效或更强壮?所以你需要做什么呢?
假如是程式设计,或许你会想要设计他们的应用软件,为新的功能构建蓝图,或者从根本上改善系统的速率、效率和准确性。
这些类型的目标在追求更加正式的基础教育时可以给你额外的步骤,去真正成为该领域的领导者。文凭会帮助你发展事业和打造声誉,声誉可以带给你中级的,高级的甚至是行政管理的专业机会。
假如你想要有那种程度的程式设计和应用软件开发水平,就像许多开发人员做的那样的话,所以你最好认真考虑基础教育课程。文凭会给予你教导和指导,以及显示你透过高层次严格训练的文凭证书。
对于转职业的正式基础教育有两个选择,即训练营和硕士课程。下面让我们来看看两者之间的差异。
训练营vs.硕士课程
现在美国的训练营和密集课程被设计得会带给你最新的一系列特定的专业技能。通常就像全职组织工作一样,所以你可能每周需要花40小时,用上几个月的时间来与其他的学生一起自学。可以认为这种课程类似于前面提到的自学,只不过它有一些额外的工具和动机来帮助你保持专注。许多人都表示这种课程更好,学完出来你就会有满脑子的知识,以及有着类似专业技能集的新的朋友圈。
这些课程并不等同于理工学院文凭,所以不要认为它们是一回事。课程计划可以填补专业人才短缺的差距,但你学到的会相对比较具体和有限。她们提供的信息可能会和例如The Odin Project这样的项目非常相似,因此它更多的是自学材料而不是理工学院材料。
训练营肯定可以让你胜任具体职务,即使她们传授的是实用的计算机系统程式设计专业技能。缺点是,她们没时间深入到传统的应用软件工程,也没时间对行为规则有两个基本的认识。因此,这可能会限制你未来几年内的发展潜力,并且在看到任何人要求文凭课程的角色时排除掉你。
追求应用软件工程硕士文凭是对于那些想要上升到行业顶端,并有机会进入那个行业可以提供的顶级公司,拿到高额薪水和高级机会的人而言的。旨在重定向你的生涯的硕士文凭对于大数人而言是长期的,并且是最有利的目标。许多人会在职业培训早已开始之前去上强化课程,类似于训练营,以便于加加速率。
拥有计算机系统科学文凭,或MSCS,对于那些拥有长期目标的人是最全面的方法。自学算法和域,范围从计算机系统图形到联网到用大数据组织工作。它也可以为你提供接触行业中备受推崇的教师和导师的机会,并且给你一些顶级高信息技术公司的强大校友圈子。
EarlGrey:假如你早已失去了攻读计算机系统文凭的机会,所以可以借助国外理工学院的公开课弥补,如哈佛的CS 50
这是你可以做的最大投资,包括时间和金钱,并且只要你了解前因后果并准备充分利用它的话,就应该投入进来。在获得文凭的同时你用源自学的时间越多,你用来磨砺编码和补救的专业技能的时间越多,你在学校时拿到的实习岗位以及毕业时拿到的offer岗位越好。
写在最后的话
高信息技术产业正在不断壮大,所以聪明和有志于此的人完全有机会改行。有大量的免费在线资源可帮助你跨出第一步棋。
在历经过一些项目,或启动和运行一些交互式网页之后,问问他们这是否能让你足够喜欢并且保持决心坚定不移。假如你的回答是yes,并且想要加速理解的话,你可以考虑追求更多的正规基础教育。
译文链接:http://www.codeceo.com/article/how-to-programming-change-career.html
英文原文:How to Learn Programming and Change Careers
翻译作者:码农网 – 小峰
【近期热文推荐】
Anaconda:最差的Python个人应用解决方案