编者按:这是一篇小白成功转型 程序员的励志文。当然,我们无意充当心灵鸡汤的烹饪大师,不过想给对技术、代码之类蠢蠢欲动又敬而远之的人们一些信心:编程虽然除了勤奋没什么诀窍,但也没你想的那么难。
6月份过去了,7月份也过去了。发生了很多事,我也还没有实现自己的目标。不过,我的编程能力提高了很多,并获得了Medivo的初级程序员职位。在这篇文章中,我将介绍如何在只有不到6个月编程经验的情况下,获得梦寐以求的编程工作。
这篇文章并不是介绍如何靠弄虚作假,而是尝试如何在短时间内真正取得成绩。6个月前,我没有工作,只学过一门编程课,并爱上了编程。因此,为了加强编程能力,我一周6天,每天花费至少10小时去编程。
嘿,来点信心
阅读教材
《The Pragmatic Programmers》一书将成为你的好朋友。如果你在学习Ruby,那么去看看Ruby 1.9手册和《Learn to Program》一书,并参加Pragmatic工作室的Ruby课程。尽管课程需要200美元,但物有所值。从Pragmatic工作室的视频课程开始。在学习5节课之后,你就可以进入第二步,同时继续学习视频课程。
加入当地的Ruby小组
这是必须的。如果你想要忽略我所说的其他环节,但请确保加入当地的编程小组。这样做有3个原因:首先,你见到的人可能成为你的雇主,或将把你介绍给未来的雇主。其次,这些人从事的工作可能就是你期望的工作。倾听他们的想法,记录他们所说的话。如果你不能理解,那么尝试去搜索。最后,如果你有热情,那么你将见到同样具有热情的一些人。
大量撰写代码
申请一个 GitHub帐号,每天向帐号中上传代码。一定要坚持。学习编程没有捷径,必须得写代码,而且要写很多。代码并不一定需要高质量,只要尽量练习即可。如果你觉得代码写的很烂,那么记录下这些代码和你自己的想法。
将代码公之于众
这是撰写代码过程的另一重要方面。如果你只是闭门研究,那么代码质量可能永远得不到提高。我发现,如果愿意公开,那么代码的每一行都将有防御机制,即使你的想法存在缺陷。如果能明确每行代码撰写的原因,你将更容易调整工作方式。
在博客中记录你遭遇的挑战
你将会像其他所有人一样遭遇挑战。在博客中将这些记录下来。除非你主动寻求帮助,否则将很难变得更好。此外,记录下你的成绩将有助于你未来找工作。请确保也在博客中记录下你的成功。当你取得一定成绩时,你会很有成就感。告诉所有人你的感受,以及你是如何做到的。
找到工作
现在,你已经略懂编程,因此可以大胆尝试找工作,这将花费一段时间。市场对程序员的需求很大,而你有可能给自己的未来和开发者社区帮倒忙。通过找工作,你将有更专注的目标。
以下还有一些建议,能帮助你更顺利的找到工作:
学会程序员的说话方式
你可以从与他人的接触中学会这一点,当然也有其他方式。首先,收听相关播客( 视频分享),我建议收听每一期的Ruby Rogues,随后去收听Rails Casts和Destroy all Software。播客中的一些内容将会被记住。这样做是为了学习程序员的说话方式,当你参加面试时,这将会是有用的技能。
广泛撒网
我向纽约的Ruby开发社区发送了以下这封邮件,从而得到了现在的工作。
Hey,纽约的Ruby社区:
我是一名自学程序员,去年7月从佛罗里达州Tampa来到纽约。Tampa的Ruby社区激励我将Ruby作为第一门语言去学习,我很高兴加入纽约的Ruby社区。
几周后,我将从南佛罗里达大学商业和企业专业毕业,但我在受雇于一家企业期间发现自己的兴趣是编程。
我正在寻找这一地区的实习生/学徒/初级程序员职位。如果有人知道这样的职位,那么我很乐意在6月份见面,届时我将在GoRuCo。
我精通Ruby,并了解Javascript、HTML和CSS的基本知识,目前正在Rails工作。我将快速学习并努力工作。
你可以通过GitHub了解我的技能,我也在learnwithjeff.com上记录了我的学习过程。很欢迎任何反馈或建议。
我期待与你们中的一些人见面,并参与纽约的Ruby社区。
Jeff
在18个小时内,我收到了超过40封回信。我还了解到了纽约每一家从事Ruby开发的公司。随后,我列出了10家首选公司,并前往其中一些公司面试。我还与团队中的一些人进行公开讨论。
不要低估你的价值
当我开始找工作时,我想我可以承担扫厕所的工作,并在晚上看代码。尽管有这样的决心是好事,但市场目前有利于程序员。不要低估自己的价值。
总之
努力工作、大量撰写代码,保持开放的心态和热情。
2012年2月时,我没有写过任何一行代码。但到7月11日时,我成为一名全职的Ruby程序员。你也可以做到。
本文编译自博客 Learn With Jeff
英文原文: How to Get a Job as a Developer in Less Than Six Months