文章来自:博客
http://www.nowamagic.net/librarys/news/detail/2237
如果你想知道如何学习编程和转行,那么你不是在单骑作战。随着科技热潮对软件工程师和计算机科学家需求的增加,很多专业人士开始纷纷将自己的职业生涯转移到一条更注重技术的康庄大道上。
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。这些都是可以开始自学的好起点,并且最终可以成为你日常使用的工具。
材料比时间表更重要,所以启动比担心不能在承诺的时间提交更重要。
我需要更多教育吗?
编码是一个行业,所以和任何行业一样,它要求实践、勤奋和专注,以便于真正掌握概念。在线资源可以帮助你启动并取胜。如果你通过自导的项目和工具工作,那么你当然可以开始认为自己是正处于职业生涯早期阶段的一个程序员。
既然编程是一种行业,那么让我们看一看其他的行业——例如建筑和结构。早期的程序员会认为自己是一名造房子的建筑工人。造房子,并且造得很好,这非常有价值。接受指令和规格,用适合的技能打造一些东西。
但是,也许你也会想要设计房子。或者想要了解是什么使得房子更有效或更强壮?那么你需要做什么呢?
如果是编程,也许你会想要设计自己的软件,为新的功能构建蓝图,或者从根本上改善系统的速度、效率和准确性。
这些类型的目标在追求更加正式的教育时可以给你额外的步骤,去真正成为该领域的领导者。学位会帮助你发展事业和打造声誉,声誉可以带给你中级的,高级的甚至是行政管理的专业机会。
如果你想要有那种程度的编程和软件开发水平,就像很多程序员做的那样的话,那么你最好认真考虑教育课程。学位会给予你教导和指导,以及显示你通过高层次严格训练的文凭证书。
要成就一代大神,首先得先学好各门语言,大家可以来看看这些视频教程,初学者的青睐,新手们的最爱!
我在这里也给大家推荐一个人,也是业内的大咖,对我的技术也有不少帮助,相信对你们的帮助也应该不小。我也看了他给我推荐的不少视频资料,学习资料,非常的全面!应该都是最前沿的了,你在网上其他任何地方都找不到的,全是实战。其实看了他给的这些资料以后,拒绝花钱报名培训班。【下面是他给我的资料部分截图】
本文来自企鹅号 - PHP自学中心媒体
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文来自企鹅号 - PHP自学中心媒体
如有侵权,请联系 cloudcommunity@tencent.com 删除。