How I learned to code in my 30s
本文是作者 30 岁之后开始学习编程并作为全职程序员进入 Udacity 的故事。
目前他在 Udacity 带领着一个 10 人的工程师团队,支持成千上万的学生在线学习免费课程和付费的纳米学位课程,课程内容涉及 AI 领域,机器学习,自动驾驶工程以及主流的 React, iOS, Android 开发课程。
他的第一份工作持续了七年,但是对那份职业没有热爱,感觉看不到自己的未来。
他突然决定想要成为一名软件开发工程师,去创造新鲜事物。但面临的困境也很多,比如数学不好,不认识程序员朋友,不知道自己是否真的热爱软件开发,自己年龄太大。
2014 年 1 月,辞职开始第一次参加线下的 Ruby/Rails 开发培训班,培训完之后作为独立工程师接一些简单的 Javascript 外包小项目。作为初级独立开发者一段时间后他意识到:1. 收入不稳定 2. 得不到技术方面的积极反馈 3. 没人告诉你正在学习的方向是否正确。
他觉得这样并不能真正学到技术,必须要找一份全职开发的工作,但是所有招聘初级工程师的岗位都要求计算机学位或者两年相关工作经验。他开始海投简历,整整六个月,耗费掉所有积蓄也没有成功,最后只能放弃,找了一个跟之前工作经验相关的职位。
继续工作一年之后,意识到自己不能就这么轻易放弃,真的想继续写代码,即使作为志愿者,暂时不要报酬,能收获经验也行。他通过朋友的关系,去到 Udacity 作为实习生开始学习编程。
最后总结道:你必须要花费大量时间在编程上面,才能进步神速。要完全沉浸在编程这件事情上,沉浸意味着专注,不社交,不喝酒,不看电视,只写代码。如果你连做梦都没有梦到编程的话,意味着你其实还不够沉浸其中。
作者发现自己身边的很多朋友想要成长,但是没有任何进展,于是帮助他们制定了一个个人成长体系。
嗯,这篇文章特别鸡汤,我就不打算详细说它的内容了,从收获了一千多个赞这个结果来看,全球人民都爱鸡汤。
我本人是特别烦鸡汤的,刚好最近在看巨婴国,里面有写到鸡汤的一段文字,摘抄如下:
曾经以及现在,鸡汤文横行天下,它们的共同特点是:在幻想层面把别人的故事替换成自己的故事,用别人的成功掩盖自己的失败;一味突出所谓的正能量,使阅读者丧失对现实世界的整体感;忽略对之所以是现在这个状态的原因的思考,用虚幻的未来麻醉自己对当下的感受。从行文上来说,鸡汤文里每一个高频词都是一粒兴奋剂,有治标的欺骗性却无治本的实际效果,被称为鸡汤文的确实至名归。
作者是 Trello 联合创始人,StackOverflow CEO。
他决定放弃使用 Twitter 和 Facebook,因为它们总是让人感到愤怒不安。
Twitter 由于 140 个字符的限制,上面都是一些未经深思熟虑的信息,容易被别人误解,断章取义造成误会,你作为发推的人发现自己的观点被误解了,本能的会产生愤怒情绪。
Facebook 就更严重了,它用上机器学习算法,唯一目的就是让用户上瘾,不断的回到这里来。
作者列举了一个训练宠物狗的例子:你叫它过来,它过来了,然后给它一块肉作为奖励,它很开心,训练几次之后知道过来就会得到肉吃,如果某一次你叫他过来,忘记给肉了,它会想原来听话也不一定有肉吃啊,会感到失落和不开心,但即使是这样,它意识到这仍然是可以得到肉吃的最有效方式,所以每次叫它,仍然会乖乖听话地跑过来,只是没有肉吃会不开心而已。
Facebook 对待用户就是这样,它的机器学习算法总是让你的时间线充满很多你并不需要的垃圾信息,但是偶尔也会给你真正有价值的信息,比如朋友的真实动态,Facebook 是你目前可以获得这些信息的最有效方式,所以你仍然会不断回来刷新你的时间线。
作者呼吁软件的开发者和设计者们,当你创造一个软件的时候,有责任使它让世界变得更好,至少不能比当前更差。如果你发现自己发明的软件失控了,你有责任找出它失控的原因,并且修复它。
本文探讨了你作为一名创意工作者,如果要在工作时间之外做自己的业余项目,这个业余项目的所有权是不是真的是你的?
当然这跟每个国家的法律相关,作者只说了美国的情况。
在美国,如果你作为老板雇佣了一名全职程序员,尽管你付给他薪水,但是他仍然拥有自己代码的所有权。举个例子,如果你让摄影师给你拍了婚纱照,你得到的只是这些照片的一份拷贝,摄影师仍然拥有这些照片的所有权,他可以合法地再随意做出这些拷贝。
这只是法律的一个默认形式,基本上没有公司是按照这种默认条款签合同的,他们会要求员工签合同的时候再签一份协议指出作为薪水的交换,你的代码所有权必须归公司所有。
也有一些相对宽松的法律规定,比如加州:
Anything you do on your own time, with your own equipment, that is not related to your employer’s line of work is yours, even if the contract you signed says otherwise.
但是这个 related 也没有明确的定义,不好区别。
所以想要做个人项目且所有权是自己所有的最好方式是成为一名独立开发者。
THE NEXT BIG BLUE-COLLAR JOB IS CODING
本文是 WIRED 连线杂志的一篇文章,它提出了一个大胆的观点:未来,程序员这个职业是一个新的蓝领职业。
未来人们应该花更少的时间在昂贵的四年大学计算机学位的学习上面,应该从高中开始就去接触代码,学习编程,使自己达到职业水平。
这些程序员不需要去研究神经网络的新算法,毕竟那种专家级别的工程师即使是在实际工作中占比也很少。蓝领程序员应该去做那些技术含量不那么高的工作,并且足够应付大部分 IT 开发岗位。
举个例子,一个在肯塔基州的煤矿工人,联合创办了一家叫 Bit Source 的公司,目的就是培训煤矿工人成为蓝领程序员,学员们的热情非常高,由于煤矿工人的职业习惯他们注意力高度集中,擅于团队合作,能很快学习到一些基础的编程工作。与此同时,田纳西州的一个非营利组织 CodeTN 也在推动高中生去社区大学学习编程技术。
毫无疑问,这个领域是需要一些超级巨星和技术专家去发掘像机器学习这一类的前沿技术,但那实际上不是 IT 领域里的主流,主流人群还是那些每天按时上班,创造美好事物的普通程序员,他们不需要有多么高级的编程技能也能胜任每天的工作,他们就是未来的蓝领程序员。