25 岁推倒重来

2015-08-03 02:05:16 +08:00
 wohenyingyu01
23个月之前,24岁的我第一次用python写下了hello world。而如今我竟然是一个安卓fullstack工程师,而且iOS也在接手中。这个安卓项目在百万行代码左右,1.5g源代码,c语言和java用ndk交叉编译,是个通讯软件,只有我一个人负责开发。iOS平台也一样。突然想写一篇攻略,教大家怎么在25岁后推倒重来。

在大学之前,我对计算机没有任何基础。上大学之后,还是没有。大学学的是会计与法律,唯一和计算机有关的课是教我们怎么使用office 2003写简历。我本科学了5年会计,3年国内,2年国外。本科毕业在我24岁的时候我成功成为了英国top 20的计算机postgraduate,开始实现小时候的梦想。我之所以不翻译为研究生,是因为它只有一年,扣去毕业设计和放假的时间,只有7个月。作为一个对计算机零基础的我,7个月能到什么程度,大家可想而知。这7个月一共6门课,我觉得真正有用的是三门,第一门基础,教一些类似intel 8086的构架,汇编语言,加法器电路,半导体原理,二进制转换等,让我明白计算机的底层是怎么运行起来的。我当时写了800行的汇编对一个数组进行排序,还不支持3位数,最后发现其他人只写了300行,因为老师还提供了一个库我不知道= =。第二门python入门,教会我什么是编程,以及一些算法,比如冒泡法,从一本百万字的书中找出使用频率最高的前10个单词等,十分有意思。但是我当时还没有编译这个概念,还不知道高级的语言是怎么在底层执行的。第三门是java,虽然只有se这个部分,但是让我明白了面向对象的概念,明白了和脚本语言的区别,明白了编译这个概念,从此一发不可收拾。但是我当时特别痴迷与写出一个界面来(以为那样才算是一个程序),除了学校教的awt,swing,我还去官网自学了javaFX。其他三科,一个软件工程,只讲一些项目管理和开发模型的,UML之类,我没什么兴趣(我连代码还不会写呢)。还有一个电子商务,教你怎么在kickstarter上集资,怎么写规划,怎么申请创业资金,怎么开公司,基本没啥用。最后一科特别神奇,感觉是讲人机交互体验的,也没有教代码,只是空讲理论,界面应该怎么设计,系统应该怎么设计,按钮应该放那个位置,统计图应该选哪种。

这6科学完我的计算机学习生涯就结束了。今年2月我研究生毕业的时候,不知道什么是html,没听过mysql,没接触过c语言。最欠缺的是网络web这块,我甚至不知道什么是端口。我以first class最高学分等级毕业,回国过了年就开始找工作了。英国top 20计算机研究生一等荣誉学位,事实证明金光闪闪的学历确实有用。

今年4月的时候我开始了国内第一份实习工作,java安卓开发,百万级代码,我一个人。c语言的部分就几十万行,别说我没学过c语言,就算是安卓我也没接触过。没人带我怎么办?我先花了一周过了一遍c语言,到指针那块。然后翻墙从谷歌安卓官网的how to get started开始看起。当时我根本不知道我第一天学的东西在国内叫“安卓四大组件”。又过了2周的时候我基本可以开始开发了。但是当时公司有一个网管系统急需后端,又临时叫我去了,又是我一个人。这个项目其实算是外包的,但是由于配合这个系统的云平台在不断地改协议,所以需要一个人能够维护网管系统同步更新。这个网管系统是基于SNMP协议的,基于eclipse rap开发,osgi框架支持组件热插拔,代码1g左右。这是我第一次用eclipse(学校都是netbeans)。最搞笑的是,这个项目代码不对我们开放,在eclipse里面以一种target platform的形式存在。如果需要修改则直接继承父类过来重写。外包公司写了一个demo给我,没有文档,没有注释,没有源代码,完全一抓瞎,很多方法都不知道是干嘛的,只能照着写。参数都叫param,变量都叫value。后来开发完需要打包部署到服务器,我在eclipse的help里面找到的打包war包的流程,然后通过谷歌我第一次知道tomcat可以用来部署(顺带了解阿帕奇),第一次知道端口的含义,第一次见到了公司服务器,学会了许多Linux命令,第一次知道ssh可以远程,第一次用mysql数据库来存放网管的数据,第一次学了jdbc,第一次知道java的单例模式,没有任何人教我。这两个月有了我太多的第一次,每天都能发现新大陆。

现在我又回到了移动端项目,开始按照产品经理的设计文档开发。之前刚看完安卓的content provider,现在打算看animation这块。iOS也等着我开发,可是我还不会用swift写hello world。比起之前会计的枯燥无味,每天都能过的很有激情,也是在追随小时候的梦想。发出来希望和每一个想推倒重来的人共勉,只要你想学计算机,多晚都不迟。
6163 次点击
所在节点    随想
159 条回复
Tankpt
2015-08-04 09:18:48 +08:00
首先确实。表达下楼主的学习能力很厉害。。比不过。。但是这个帖子的内容。让人看完总有一种在说自己好厉害的样子,可能确实因为言语的表达不合适把。仅仅感觉而已。。
shakoon
2015-08-04 09:20:08 +08:00
感觉计算机是当前门槛最低的行业了,各行各业转行过来的而且混得不错的人好多
allan888
2015-08-04 09:21:02 +08:00
@zj299792458 “我通篇都贬低自己成装逼了”
那我比你委屈,我才说了两句大实话就被你说装逼。
我说你too young你觉得我装逼不?我说你学的门都没入你信不?
allan888
2015-08-04 09:22:33 +08:00
话说楼主先指责我装逼的,怎么跑来问我“通篇都贬低自己成装逼了,你教教我怎么不装逼呗”。
我也想问问我我怎么就装逼了?
wohenyingyu01
2015-08-04 09:22:41 +08:00
@nikoukou 手机回的,没换号不好意思。上马甲就是出国白出了,你真幽默。
cxe2v
2015-08-04 09:36:57 +08:00
佩服楼主每天都能有激情
zj299792458
2015-08-04 09:40:44 +08:00
@allan888 搜了下,发现确实是我说太重,先说句对不起。因为被你楼下的人气到,有点上火。。。
zj299792458
2015-08-04 09:43:22 +08:00
@allan888 因为我们那的phd都是本科直升的,确实没人会去先读master
Laforet
2015-08-04 10:11:26 +08:00
@zj299792458 我说的是楼主,你又何苦跳出来挡枪呢?

楼主现在又改口说自己是MSc了,那么为什么之前非要藏着不说还来一句“我相当于Master呢”

还有就是本科直博这个不能算是普遍现象,除非有好的老板支持。大部分人还是从BSc-MSc-PhD这样一步一步读上来的。
wohenyingyu01
2015-08-04 10:37:41 +08:00
@Laforet 那个是我手机回的,就是我了。我之前以为master就是postgraduate,因为我们学校网页postgraduate下面都是MSc,恕我不知道他们的区别,没有改口这一说。第二点因为我认识的人都是直博,所以不懂这到底是不是普遍的,只是以我的视角把这个现象说出来而已,也可能是我见得不够多,井底之蛙了。
jsyangwenjie
2015-08-04 12:20:09 +08:00
@zj299792458 我自己就是本科直接到PhD的,我身边有不少是在美国读了一个master才申到的PhD来读。能被一个买腐国水校文凭的人嘲讽水我也就呵呵了:)
cnnblike
2015-08-04 13:24:35 +08:00
@jsyangwenjie 本科申请到phd的都是神级大牛啊,本科发论文了吧?
jsyangwenjie
2015-08-04 13:39:20 +08:00
@cnnblike 运气好,方向比较小众,套对了瓷。
wohenyingyu01
2015-08-04 14:50:56 +08:00
@jsyangwenjie 之前是被第一个人气到了,有点上火,不好意思。我也申请过phd,瓷也是套对了,在其帮助下投了一篇给什么ICOST 2015之类的机构吧,我也不太懂,主要是写了一个热成像的跟踪算法,第一作者,后来是被邀请去瑞士做conference。学校一般,但是因为不给全奖(我这种学历和论文资历基本没有希望,proposal写得再好都没用),就回来工作了,感觉我连最基础的东西都不懂,phd可能不太适合我。
xieyudi1990
2015-08-05 04:26:59 +08:00
@zj299792458 只是感觉你刚开始有点吹过头了. 你要真想转行就从头再来嘛. 不过你对自己的定位就是高中毕业 + 英语比那种六级过不了的要强. 大家只是在吐嘈你把那个学位太当回事了.

学校野不野鸡, 每个人的标准都略微不同, 但一般来讲, 那种只需要托福/雅思成绩的研究生项目, 其余什么都不要的, 或者双录取什么的, 就是公认的野鸡学校的水项目.

研究生就应该看专排, 清华的工科在usnews上可是MIT级别的 (没关注过CS, 因为我现在不是CS的). 你腐国除了那几个top学校, 有几个在单子里边. 还有腐国那几个排名你确定不是搞笑的? 武科都排在华科前面... 电风扇排名么...

所以腐国 "top20" 这个说法也不太好. 美国四五十来个州, 每个州至少有几个不错的公立和私立, 况且这行基本所有的计算机方面的研究都是美国的, "top20" 那能叫做 "top" 也名副其实, . 腐国才多大, 计算机方面有多少研究? 到20了也能算 "top"? 我还说我本科那个野鸡学校是湖北 "top20" 的呢.

我就看你那几门课, 写个汇编还给算法库 (给接口库可以理解, 算法库都给, 那还要你写什么, 胶水一下么). 要是这样, 我真觉得这个教育质量的确不如我以前那个野鸡学校的三本分校.

我最好奇那种东西怎么会耗你800行代码, 而且还只能算 "三位数". 这样算下来用C写也差不多得几百行了, 什么排序算法这么复杂. 还是说你只是 cat * | wc -l, 把头文件, 编译脚本, log, README 都算进去了, 得到"800多行"这个数据?
xieyudi1990
2015-08-05 04:28:48 +08:00
@wohenyingyu01 show me the code.
magstse
2015-08-05 18:09:32 +08:00
看起来,好像还是什么都不会。C语言我还不止学到指针那一块呢。python还会几个游戏的完整代码呢。

反正我还是什么都不会。我一直都说我是废物..........
wohenyingyu01
2015-08-05 20:50:52 +08:00
@xieyudi1990 说的不错。关于那个800行是这样的,前面我花了300行把输入的数字转为二进制,后面又花了200行把二进制变为数字输出,其他地方和别人一样差不多300行。README是什么鬼。。。
so898
2015-08-06 14:27:07 +08:00
当你还在用行数计算你的代码量,你的编程之路就处于还没入门的阶段
等你以后再来看这个帖子,估计会羞愧的无地自容吧……(我当年就是的……)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://tanronggui.xyz/t/210329

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX