要想成为一名程序员大神是不是一定要像超人那样,每天凌晨四点起床,然后顶着凛冽的寒风跑上20公里?别紧张,事情远没有想象的那么恐怖。有能力上好大学但选择不去上大学的年轻程序媛Lydia Hallie将在这篇文章中分享她的日常,看看她会给出怎样的建议。要记住,这篇文章的重点不在于争论大学学历的重要性,而在于如何提高编程能力,不断提升自己。
我叫Lydia,今年19岁,住在瑞典的斯德哥尔摩,是一名JavaScript(React)程序员。
我从15岁开始学习编程,并在Tumblr上分享有关健康生活方式的文章,吸引了很多粉丝。也就是在这个时候,我开始尝试使用HTML、CSS和jQuery为自己的网页开发自己喜欢的样式。从那以后,我不断提升技术能力,学到了更多的知识,而在技术方面的兴趣也与日增长。不过,我并没有意识到这其实就是在编程,而且可以以此作为生计。我只是很喜欢从头开始设计自己喜欢的东西,没想到人们也喜欢我的设计,并愿意掏钱购买它们。
我在18岁的时候上的高中,但我简直恨透了高中生活。我感觉自己在很多无法给我的未来生活带来好处的科目上浪费了大量时间。不过,我仍然很努力地为毕业证书而奋斗,我开发了很多个人项目,还为别人提供帮助。他们都说我是他们见过的最勤奋又最不拘束的人。
高中毕业之后,我并没有继续上大学。这对我来说是一个相当大胆的决定,因为我身边的人都在为能够上好大学挤破脑门,他们似乎在告诉我:上好大学才有好的未来。我在高中花了那么多时间和精力努力取得好成绩,为的就是能够去一所好大学,但现在放弃不就等于浪费了好几年的大好时光吗?事已如此,我并没有感到任何遗憾!我身边的大部分人不理解我的想法,他们都觉得我的决定是错误的,只有少数人能够理解我,他们的支持对我来说就是莫大的鼓舞。
我一直很独立,我在18岁那年去了另一个国家,一路旅行,并忙于做一些能够改善未来生活的事情。虽然我没有去上大学,但我花了三个月时间在佛罗里达的坦帕湾参加了一个编程训练营。虽然我没有必要参加这样的训练营,不过它确实给我带来了一些帮助。我与其他喜欢编程的人在一起,这是我之前所没有经历过的。我努力地写代码,经常会突破我的舒适区,把很多精力放在个人项目上,以此来提升我的编码能力,并且学到了很多新技术。
让我没想到的是,在这三个月里,很多招聘者向我伸出了橄榄枝,问我能不能加入他们的公司。那会儿我把自己的资料和做过的项目放在LinkedIn上,但我是一个没有工作经验的19岁黄毛丫头啊,我只是不明白,难道他们就没有仔细阅读我的LinkedIn资料吗?我没有上过大学,为什么这么多公司想招我?
我想,那可能是因为我不是在学校里学习写代码。很多公司并不在乎你是不是在大学里学习编程,他们更在乎你是否能够展示你的编程能力,而且是否真正喜欢这个工作。
当然,如果你喜欢大学生活,当然可以继续上大学,所以不要误解了我的意思。但请不要有太大压力。编程社区不是一个轻松自在的地方:他们会为了自己钟爱的编程语言而掀起口水战,为了写代码他们每天只睡2个小时,吃着垃圾食品,这些都是家常便饭。但事实并非如此。
在结束了训练营之后,我回到了斯德哥尔摩。我要开启生活的新篇章,为此我感到十分兴奋。那么我现在日常都在做些什么呢?
我尝试在起床之后做一些身体延展练习 。这听起来似乎有点老生常谈,但它真的很重要。你每天有好几个小时坐着写代码,如果你不善待你的身体,它就会遭殃。况且,在做身体延展时心率加快,大脑获得更多的氧气,会让你神清气爽。
我尝试每天至少花两个小时观看编程视频课程 。我很喜欢观看在线视频课程,我总能从中学到新东西,还能从讲解者的编码中获得灵感。我也会照着视频开发实际的项目,但不会全盘照搬。
我尝试每天至少花四个小时在个人项目上 。这会让我感到非常的不舒服。我总是尝试之前没有用过的编程语言或技术,这样会增长我的经验。老实说,这简直糟透了!我不想说大话骗人,这不是只要努力就一定能做到的事情,我只是想强调学习新东西就像坐过山车一样,你可能会感到挫败,以致于对你的编码能力产生质疑。如果你是这样做的,那么恭喜!你是一个正常人!你正在做的事情才是最关键的,不要理会你的那些挫败感。不懂就找人问,或者在Stack Overflow上提问,总会找到解决办法。如果你没有这么做,那也没什么问题。再过一些时日,当你回头来看这些问题,或许会想“我当时怎么就理解不了这些问题呢”!
我尝试每天至少阅读两篇文章 。我非常喜欢从不同的角度看待事情。可阅读的文章类型有很多:如何解决代码问题、为什么JavaScript有时候表现很糟糕、最酷的技术是什么?总之就是不要陷进到某种特定的思维当中。
我尝试每天至少参加5场编码大战(在线编码挑战) 。在刚进入编码领域时,编码大战是一种很好的提升编码能力的方式。当然,如果你有多年的编码经验,编码大战也能助你把编码能力提升到新的高度。你会从别人的解决方案中学会如何改进你的代码,而且如果你去外面面试,他们给你的面试题目极有可能是你之前碰到过的。
我尽量不吃垃圾食品 。有营养的食物能够让我保持良好的精神状态和愉悦的心情。健康的早餐和午餐给我满满能量,在写代码时助我一臂之力。不要只顾眼前,随便乱吃东西,要看长远一点:有好身体才会有好精神,有好精神才会写出好代码!
看完这些,有没有发现我使用了“尝试”这个词?因为在我不想做某些事情的时候我不会强迫自己去做。如果我没能很好完成个人项目或者吃了垃圾食品,我不想给自己不好的感觉。百分之一百一的投入只是个目标,但我们都是凡人:有时候我也会不想写代码,会感觉到累,只想看看网络视频。这完全没有问题!我们要在娱乐和工作之间找到平衡。
我希望能够通过这篇文章让更多同样在技术世界中挣扎的人知道,技术世界并没有那么疯狂。编程不只是某些聪明人的游戏,编程属于每一个乐于创造、乐于走出舒适区、乐于提升自己的人!