Jocs / jocs.github.io

💯 This is my blog, I will update the latest articles and resumes on it, and feel free to contact me
https://www.jocs.cc
960 stars 67 forks source link

非科班出身,如何成为程序员? #18

Open Jocs opened 6 years ago

Jocs commented 6 years ago

本文是知乎的一篇回答

身边有很多非科班出身的程序员,比如 sofish、粽神。当然我也是,所以决定结合自身经历强答一波。

关于我

我本科学习的是「生物科学」,大学四年无非就是拿着 eppendorf 的实验枪,在超净台旁养着各种知名或不知名的微生物,有广为人知的「海拉细胞」有很多人没有听过的「毕赤酵母」,每逢寒暑假可能还会去山里或者某个海滨城市实习,在鸟巢旁边装一个微型摄像头,记录下喂食雏鸟的频率,去海边抓一些招潮蟹或者海月水母,也算乐在其中。我很享受大学这段时光,因为毕竟是我儿时的梦想,成为一个生物学家。

毕业后,进入了北京水产科学研究所,主要工作是「养鱼」,每天固定时间给「小西伯利亚鲟」喂点吃的,给鱼缸换水。很不幸…,在一次换水的过程中水龙头我忘关了,结果水沿着鱼缸溢了出来,小鲟鱼也在想「外面的世界那么大,我想去看看」,都顺着鱼缸溢出的水推力,游到了鱼缸外面,等我发现时,这些小生命都散落在鱼缸周围,也不跳了。主任没有批评我把一缸鱼都养死了,但是也再让我去喂鱼了,给了我一份新的差事,通过毕赤酵母来表达出促性腺激素,促进鲟鱼快速性成熟。实验做了大概一年,有一些成果,毕竟在一年中成功过一次。后来觉得愧对这份工作,就跟主任请辞了,主任就介绍了上海的一份工作给我,去欧莱雅研发中心做实验。现在想想主任真是难得的人生导师。

在欧莱雅工作了三年,每天也是重复相同的工作,工作内容只是从以前的养各种微生物变成了养「人造皮肤」,然后再把化妆品涂在人造皮肤上,看看化妆品对皮肤的效果,其实和大学拿老鼠、兔子做实验没什么区别,只是欧洲那边不让在活体上做化妆品实验。在欧莱雅的三年,慢慢消磨了我对「生物科学」的热情,重复的工作让我麻痹了我的思想。我决定做一些改变,那是2014年,我已经27了。

学习编程的动机

还得从 13 年年底说起,在欧莱雅工作期间,命运多舛,出了一次车祸,右胫腓骨粉碎骨折,当时还是女朋友的老婆放弃了东京的工作回国来照顾我,在床上躺了三四个月,老婆回上海后也找了一份广告公司的工作,做 SEM。到了14年,腿伤基本恢复,我重新回到欧莱雅工作,经历了人生变故(车祸),住院期间把这一生中的生离死别都看完了,开始思考起人生,更加热爱生命。

老婆是做 SEM 工作的,其中很大一部分工作是做 SEO,也就是搜索引擎优化,文科出生的她(日语系)自然对 HTML标记语言、JS代码感到陌生,学习起来也有些吃苦,在区分 CSS 属性 color 和 background 也会疑惑。出于对她回国照顾我的感恩,以及责任。我从图书馆借了一本书「15天掌握HTML\CSS\JS」,开始学习起前端来,那时候我还不知道有前端这个职业,也不是为了转行做前端,仅仅是想自己学会了,然后帮她解决问题。

也许看了这本书,让我对当时欧莱雅的工作有了更深入的思考,在欧莱雅,我每天工作内容相同,做实验、处理实验数据,写 report。实验之余看看 paper。而学习 HTML\CSS\JS 可以创造不同网站,然后分享给世界各地浏览你网站的人。写网站比做实验似乎更能够给我带来成就感和满足感。于是我决定正式学习 web development,成为一个前端工程师,那是2014年八月,我已经27岁了。

非科班出身怎么学习编程

才发现,写到这儿才进入正题,正式开始学习编程是在2014年九月,我并没有辞掉当时的工作,我是白天工作,晚上回家学习,周一到周五每天大概学习5~6个小时左右,周末全天学习。我习惯每个月给自己制定一些任务和目标,然后按照自己的目标前进,比如下面是我2014年九月份制定的一些计划:

九月份:《javascript》高级程序设计 + 慕课网练习(每天保证两小时coding)

十月份:学习 CSS2 和 CSS3,并对 javascript 的学习做个回顾,教材包括《精通CSS》,《javascript DOM编程艺术》,《javascript语言精粹》外加慕课网每天至少两小时coding!

十一月份:学习javascript库,jquery、prototype、html5。主要学习书籍《Javascript模式》、《锋利的jQuery》、《html5程序设计》、photoshop学习。

十二月份:主要任务是设计个人网站,主要书籍《精通javascript》、《编写可维护的Javascript》。

这儿我并不是向大家推荐学习书籍,以及个人的计划,因为那是 2014 年制定的,可能已经不再适合现在入门学习者了,再者,推荐前端书籍的知乎问题不胜枚举。

周末的时候习惯带个电脑去普陀区图书馆,上海市的图书馆周末也挺多人的,所以不得不很早就去占座,突然又有了回到大学的感觉,关于电脑当时也是下了血本,游说当时还是女朋友的老婆,把他从日本带回来的十几万日元去中国银行换了人民币,然后买了一台 Macbook Pro。

2015年,我决定转行了,做一个前端工程师,那一年工作也忙了,学习的时间少了许多,为了找工作,我用 NodeJs + jQuery 搭建了一个多人博客系统,然后将自己的实现思路和技术栈连同博客地址发到了知乎和 NodeJs 社区,当然也附上了个人简历和邮箱地址,主要想看看以现在的水平,能不能够找到一份前端工作了。

那是15年八月,当时小鱼 sofish,推荐我去饿了么面试(估计是在 Nodejs 社区看到我发的帖子),但是由于知识体系的不健全,面试官可能觉得学习曲线会太陡,最终没有过初试,因为当时我还不知道 Promise,也不懂 Angular,更不会 Loopback。

于是我决定先找一份实习的工作,很幸运一家做 CRM 的公司愿意收留我,开的工资是4.5k,一下回到了刚毕业的水平,但是我很感谢这家公司,它给了我很大的学习空间,因为在这之前,我都是一个人在摸索,自学。甚至不知道真正的前端工程师到底做什么工作,而这家公司给了我机会,给我分配了导师,甚至在入职三个月内不用做任何业务,而是全身心学习。正是这三个月,我构建前自己的前端知识体系,从 JS 基础到 Angular 框架,从 HTML 到 CSS,从 Grunt 到 webpack,从NodeJs 到 Mongodb。在这三个月的学习期间,每天坚持早上九点到公司,晚上十点下班,每天坚持写日报,总结一天的学习,每个月完成一个小项目,三个月期间,自己写了一个所输及所得的 markdown 编辑器,写了一个 CSS selector 的 parser,通过 websocket 做了一个聊天工具。

当然,这三个月我也放弃了很多,因为刚入职,我放弃了和刚结婚老婆去度蜜月,两个人的蜜月,变成了她独自旅游。到现在也感到愧疚,争取明年补上。

三个月后,评级转正,当时的职级是 P5,我感到很欣慰,三个月的努力学习有了回报。和之前边工作边学习的离散学习完全不同,当然全职的效率更高,当然薪资也从4.5k 涨到了12k,说实话,对于刚入门的我,我很满意这薪资了。在这公司我工作了两年,合作和独立完成了几个项目,职级后来也再升了两级。在今年七月,我选择了离开,主要原因还是考虑个人发展,以及对饿了么的眷顾。

对的,我又参加了饿了么的面试,顺利入职饿了么前端工程师,感到很欣慰。好像实现了一个长久的夙愿。

我为什么感到焦虑

转行后,我无时不感到焦虑,毕竟是一个大龄转行程序员,身边的同事都是九零后甚至九五后,我无时不刻不在想我怎么规划我的职业,怎么做得更好,怎么缩短与科班出身的同事之间的差距。我没有后悔过转行,也没有后悔过那八年生物生涯(大学四年工作四年),毕竟那八年的生物学习,我快乐过,我不完整实现了儿时的梦想。

jsm1003 commented 6 years ago

向大佬学习!

galenyuan commented 6 years ago

牛逼。

Leopoldthecoder commented 6 years ago

大佬真厉害。我们好像岁数一样,而且我也是 14 年学前端的。

Jocs commented 6 years ago

@Leopoldthecoder 杨老师过奖了,我应该向杨老师多多学习。

Jocs commented 6 years ago

@galenyuan

Leopoldthecoder commented 6 years ago

向罗老师学习!

ziveen commented 6 years ago

同样是生物专业转行的前端, 七年年生物生涯(大学四年工作三年).

Jocs commented 6 years ago

@Luefeng 可以交流一波

kinglisky commented 6 years ago

厉害了我的哥!

txs1992 commented 6 years ago

johnsoncheg commented 6 years ago

大佬的故事真的励志,值得学习

ziveen commented 6 years ago

@Jocs 好啊

xxxgitone commented 6 years ago

为大佬点赞!同时告诫自己得好好努力

sofish commented 6 years ago

向罗老师学习

Jocs commented 6 years ago

@sofish 还是要谢谢老板当初(两年前)给了我面试饿了么大前端的机会,让我知道有这么优秀的团队,后来也一直想着成为其中一员。

zsakvo commented 6 years ago

同生物科学……刚做完海拉细胞的传代培养😂

Jocs commented 6 years ago

@zsakvo 💪

Jocs commented 6 years ago

@zsakvo 你是在自学编程吗?

zsakvo commented 6 years ago

对啊,也是自学的 ,一点点摸索,看到您的这篇文章的时候简直倍感亲切。

Jocs commented 6 years ago

@zsakvo 😆,你还在上学吧?💪上学时间比较多,学起来应该比较快

zsakvo commented 6 years ago

@Jocs 嗯,正在上学,不过准备考研了,准备跨专业呢。

Jocs commented 6 years ago

@zsakvo 我是赞成在学校系统学习 计算机科学的,所以,考研是个很好的选择。

zsakvo commented 6 years ago

@Jocs 嗯嗯,谢谢前辈,会努力的

xiaoliutongxue commented 6 years ago

路过,刚注册Git不久,在Git的第一条评论奉上。计算机专业但是本科四年都荒费了,今年毕业找不到合适的技术工作,无奈转行做销售,但是决心不放弃技术。看完后深受启发,真是印证了那句老话功夫不负有心人...点赞

LiangRenDev commented 6 years ago

@Jocs 很厉害,有梦想,能努力什么时候都不晚,学习了

fangjiale commented 5 years ago

想了解下本科是哪读的呀

Jocs commented 5 years ago

@fangjiale 北京

YinanZhaoXometry commented 5 years ago

裸辞学习编程快3个月了,核工程专业,之前也有零零散散的学习一些, @Jocs 博主的故事很燃,让我看到了奋斗的希望~

Jocs commented 5 years ago

@zhaoyn7 努力

Neo42 commented 5 years ago

@Jocs 我是先找到Mark Text之后顺着摸过来的。 不得不说很佩服老哥。我也是非科班文科出身,因为工作原因正在自学。你的故事对我很有启发。谢谢啦!

顺便有个请求。我看Mark Text目前没有被记录在Product Hunt上。这个网站是个产品推荐平台,挺适合推广Mark Text的。我希望作为推荐人把Mark Text挂到这个网站上,不知道老哥介不介意~

Jocs commented 5 years ago

@Neo42

顺便有个请求。我看Mark Text目前没有被记录在Product Hunt上。这个网站是个产品推荐平台,挺适合推广Mark Text的。我希望作为推荐人把Mark Text挂到这个网站上,不知道老哥介不介意~

好啊,谢谢了

aliyoge commented 5 years ago

你现在去石墨文档了吗?

Jocs commented 5 years ago

@aliyoge 嗯,目前在石墨上海。

funnycoderstar commented 5 years ago

同非科班出身的程序员,很多时候也是感觉很焦虑,感觉自己比科班出身的人差距很多,只能靠比别人更加努力来补上来了,所以看到这边文章很亲切😄

AdamFu commented 4 years ago

厉害。

Dmedu commented 4 years ago

感同身受,我也有同样的经历,看惯了生死,也许昨天还和你在同一个病房,今天人就没了,离死亡越近越能明白生命的意义。后知后觉,我现在才明白编程的意义不是为了去大公司,或者挣更多的钱,而是它能给社会带来一些什么。

Jocs commented 4 years ago

我现在才明白编程的意义不是为了去大公司,或者挣更多的钱,而是它能给社会带来一些什么。

是的,一样的感受,之后能给这个世界留下点什么。

rookie125 commented 3 years ago

曾经的小伙伴,你很棒

lifeodyssey commented 2 years ago

水产渔业相关专业,看到这个感觉真的很亲切了。 希望我也能转行成功。

huruji commented 2 years ago

牛逼

nuo-promise commented 1 year ago

大佬牛

make17better commented 1 year ago

共勉!