那些初高中甚至小学就接触编程的人最后到了什么样的境界?

关注者
3482
被浏览
497068

326 个回答

2015年02月19日更新:第一次过百赞的回答,为了不误人子弟,特此声明: 本文出于娱乐目的,有艺术加工成分,文中提到的工资水平和技术水平跟实际可能有出入。非专业人士请勿模仿,以免造成不必要的损失。
--------------------------
请勿转载。

情人节前夕干完正事还要赶回公司继续填坑,这家公司其实几乎没人加班,就是自己犯贱乱挖坑。填坑前认真展开一下,看本楼风格是比惨,于是我也来说说自己的伤心事让大家开心一下,重点黑体高亮。
@黑白异象 所言,一路走来乱点技能树,现在属于万金油,一无所长。

学生时代:
@赵劼 同年。初中写QB,会HTML,CSS,参加网页编程大赛拿三等奖,老师评语“加载速度快只因内容少。” 拜托,我可是DreamWeaver写的网页,还是手动写css的,怎么不是那些FrontPage的对手。
用Flash写生日贺卡给女生,编程带下雪效果(当时Flash还不是Adobe的),放软盘送出,没然后
初三第一次参加NOIP,认识Y君(后面提及),我们赛区人少,就我们2人,我2分(满分100),他0分。

高中Pascal,NOIP省二等,实际上培训时间都用跟培训老师来打星际了,高三无心听课,看C#。与此同时,Y君NOIP两次省一等,保送top 10某校,毕业后入百度。

复读过一年,高考两次,两次都是二本。在一线城市二本读大学,荒废天天折腾Linux 3D桌面,装各种发行版。专业非CS,电子类。

工作
大四因为有照着文档安装Gentoo Linux手艺,进入一家创业公司实习,装装系统,编编内核,配配服务器,1500实习工资,当时傻兮兮想每天打车来回还能有700剩,赞。
毕业前被老师几个班批量拉去某三流手机软件公司面试,笔试第一,被一同去的女研究生留手机号码(后来多次纯技术交流,因她已有男友)。最后对方开出4500月薪(按研究生报价),我以同样报价向创业公司老板要价,接受,留创业公司。
创业公司做了一年,同时用脚本和某静态语言,从一开始装系统,到后来研究简单3D算法,图算法(也就是最短路径Dijkstra撑死了)为主,后任Web Lead,薪资最终到6000,公司倒闭离职。

离职后拿到4家公司offer,某BAT之一前端工程师(别问我为什么我居然还会前端,我也很意外),某游戏大公司,某银行软件,某外资人力资源公司,都是11K左右。最后去了某游戏公司,因为不想穿西装,想玩某函数式语言(又乱点了)。跟Y君商量offer时,Y君答,“11K?毕业生都不止啊。” 后Y君去了Google,哎~

又一年后从游戏公司离职,随几位前辈创业,降薪到7500,后任某静态语言服务器主程,也写一点脚本。写脚本的同事嘲笑我代码风格像静态语言,因为我用很多类,写静态语言的同事嘲笑我风格很脚本,因为我喜欢用函数式写法、异常和Tuple。
1年半后公司无起色,半数元老出让股份离职,我也出让离职。此时14k薪资。

后拿到某游戏大公司服务器主程和某银行C++ XML 处理专员(WTF,这职位,面试时还带问WPF,MVVM和双向绑定?!)的offer,都20K不到。入前者,入职后负责推广新技术,NoSQL,各种传教,外加负责面试。此时发现自己长处主要是半吊子的算法和半吊子的多语言,门槛题目是给出根,返回二叉树的节点数(这就是一行代码的事情)。离题一下,面试时我会针对应聘者熟悉的语言提问,发现有些程序员对自己的主用语言还没我熟,比如某企业级开发语言,连我这种靠刷微博拾人牙慧来积累知识的三脚猫面试都过不了(我最多就是问,HashMap底下是什么数据结构)。

一年后公司人事动荡,不得志,离职。进入某据说以ACM获奖者为主体的公司,待了三个月,心态从开始的自卑+崇拜,一直转变到离开时的(对烂代码的)无力回天和对加班和洗脑的厌恶。知道自己实践水平有明显缺陷,眼高手低,看不惯烂代码,又没能力短期内重构。

面Google,挂,死在排序算法题上;
面百姓网,挂,不会编译原理,还有“让你在MySQL 的B tree上实现xxx类锁,你会怎么做”;

后进入某大数据创业小公司,25k,一开始在公司是看paper,跟top 2的教授讨论case,各种高大上,后来公司方向一转,变成统计小作坊,后因天天迟到(11点左右),老板认为工作无太大产出被辞退(人生低谷有没有)。

后进入某企业级开发公司,30K。继续天天迟到。虽然“被看好”,但是日常工作最复杂的内容也就是存储过程里用用WHILE循环。饱食终日,无所事事。唯一乐趣就是帮一群QA少妇Debug她们的脚本。

前几天拿到某国外创业公司offer,对技术无大要求,英语能沟通即可,负责外围开发和接本地运营商SDK的活,开价5200刀(后加到6500刀),另有期权;昨天到一个喜欢用小学数学题面试的创业公司面试,8道题3道做不出来,做不出的包括用5,5,5,1凑24点,还有给一列数让你找规律。薪资40K,年终另算,不提期权。

技能总结:
  • 知识全靠刷微博,twitter,infoq,Google,SO;
  • 无任何Star过20的开源项目;
  • 无任何阅读数过100博文,总博文数小于5篇,最后一篇都是2年前的了;
  • 熟练3种语言,了解8种语言,精通零;
  • 算法只会常用几种,写红黑树是极限,平衡旋转不一定写对;
  • 编译原理没学过,最多写四则运算的parser,遇到括号用递归;
  • 听过(且仅限于听)多种数据库,infoQ上看过他们的原理,实际只会读写,实践全赖ORM,无ORM会死,公司不让用就先自己写一个(Deadline是什么?能吃吗?);
  • 就是喜欢写短代码,除非有人投诉否则从来不管效率问题

给自己一副对联:Web、统计、图形学样样能吹,算法、网络、数据库一无所长。(请用互文来理解)
横批:有心无力

看知乎,什么刚毕业20万的,什么刚毕业去微软拿9k刀的,看多了也就惯了。
其实我身边的人也是,Y君是一个。
我今年30了,女朋友换了几个一直没稳定下来,各种跑输大盘的感觉。

下面一段话与大家共勉:
不要计较一城一池的得失,刚毕业二十多岁,工资有点小差距没什么。心态放平,这样等到三十多岁工资差距越来越大的时候你就慢慢习惯了。

但是我真的喜欢编程,发自内心的喜欢。

别转载,谢谢。
-----------------
2015年02月19日更新:再次重复强调:本文出于娱乐目的,有艺术加工成分,文中提到的工资水平和技术水平跟实际可能有出入。非专业人士请勿模仿,以免造成不必要的损失。
过完新年,终于把这篇写完了,无营养的流水帐,轻拍。

从小就中邪,没来由地喜欢那个可以敲敲打打的键盘。小学三四年级时缠着家里给买了台小霸王学习机(几百块,当时我爸大半个月工资),型号叫486,因为那时最尖端的家用电脑CPU是Intel 486。厌倦了五笔打字和玩游戏之后,有一天终于开始研究里面那个叫G-BASIC的进去之后黑乎乎一片的东西。当时学习机的说明书很有良心,里面有完整的一份BASIC语言手册,从此我就上了贼船。那个BASIC环境最关键的一点是提供了与游戏手柄的接口,还有一些内置的卡通人物,所以可以写出有点像真正游戏的程序,不然的话大概我也不会那么感兴趣。从玩游戏变成自己写游戏,这对当时的我来说简直是妙不可言。坑爹的是那学习机不能存盘,断电就丢,于是我就得关机前把写好的程序抄到本子上,下回开机先把上次的都打进去,再接着写。写了厚厚一大本。当时写过的最像样的记得是一个桌球游戏,可能有上千行。我那里是个中游省份的小县城,周围没人懂我在干啥,也完全没有网络,最宝贵的资料是有个亲戚家里有一个功能更强大的“裕兴”学习机,附带一本有大量示例BASIC程序的说明书,反正他们也没人看我就直接霸占了,从里面学到了很多。

初二的时候终于有了自己的电脑,和老爸一起从省城坐绿皮车扛回来的,买来当晚兴奋地睡不着。没网,到处买盗版光盘来装,被VB和Delphi闪瞎狗眼,整天瞎装些新奇控件什么的,但是从来也没有真正系统学过Object Pascal或C++这样的语言。后来能上网了,接触到了更广阔的世界,于是中二病发作,开始鼓捣软件破解,觉得这才是大牛应该干的事。盯着SoftICE跟踪那些汇编指令,一盯就是一天,装各种莫名其妙的共享软件,破掉了就卸载。在刚成立不太久的看雪论坛灌水,骗了一大堆精华贴。

高中时的上的学校完全没有OI传统,全校只有一个计算机课老师,有一天说谁想参加计算机竞赛的来报名啊。大家以为很好玩,呼啦啦报了一大堆,讲了一节课的pascal,下次再上课就没几个人了。老师也不给力,讲完pascal语法就没啥能讲的了。我自己上网搜,才知道有那么多好玩的算法,才知道有Ural, UVa可以刷题,苦逼兮兮地在Ural刷了几十道最简单的题,就要参赛了。结果全校就我一个人过了NOIP的初赛,去省城复赛。因为主办方都没听说过我校,想当然地以为是个初中,所以我做的是初中组的题,成绩无效,挂。(我在考场上只看到试卷上写着“普及组”,心想还不错哦知道我水平挫……你说初中组不叫初中组非得写“普及组”是闹哪样!)后来想算了反正参加了提高组也屁名次都轮不着,还是高考要紧。

高考报志愿出了点小失误,因为无论如何想学计算机,但那时计算机专业分数线仍偏高,本来想报个稍稳点的学校确保能上计算机系,结果大家报得扎堆了,勉强压着学校提档线被录取,但第一志愿专业就没戏了,被弄到了英语专业。同宿舍的英语专业室友后来跟我讲,第一天看到我桌上全是编程书,就想抽我这个装逼犯,哈哈。看到学校BBS上有计算机学院办的编程比赛,就去参加了,结果居然被我这个英语专业的大一新生拿了冠军。那比赛是ACM队出的题,当然当时的队员是不允许参赛的,不然第一也不可能轮到我。总之就是因此和学校的ACM队接上了头,贼船又上了一步。这时开始真正系统地学习算法,发现高中时刷的那几十道题其实连门都没入。从算法里开始领略到计算机科学的美,也知道了人外有人天外有天,中二病基本痊愈。我校那时ACM实力中游,离总决赛总是有点距离,这也成了老师和学长的一个执念。坚持了好几年,大四的时候终于实现了突破,让我们学校在历史上第一次进了世界总决赛,激动得不行。因为这个比赛收获了很多,也放弃了很多,但从没后悔过。(ps. 大二时候就转到了软件工程专业,因为那时我校软件工程专业刚成立,学费也贵,总被人误以为是三本,没什么人愿意去,所以转专业还是蛮容易。)

研究生留在本科学校读的。导师是理论派,玄玄乎乎的数学公式推得满天飞,而且总选一些比较小众的方向。我和导师气场不太搭,自己也比较颓废,没搞出什么有意思的东西来。毕业至今,不敢跟别人说我也是搞过机器学习的,算是一个遗憾。现在也偶尔翻一些论文什么的,希望以后还有机会拾起来。

毕业后找工作时被Google北京摆了一道,一直跟我说很有希望,拖了我很久,在我拒了别几家offer或面试之后,Google的总部HC把我毙了。还好留了个腾讯offer作备胎,做搜索。干了一年多,老大给的评价倒是还不错,不过高层变动,组织结构调整,整个搜索部门都散伙了。恰好当时硅谷的大公司开始从中国直接招人,报着试试看的心理投了一下简历,人品爆发,拿了facebook的offer,就来美国了。来美国之后接触到各种传说中的人物,一直处于跪地不起的姿势。英语捉急,智商更捉急。在FB待了两年多点,最近刚刚离职,去了个不知名小创业公司,一是希望能赌对,上市的话小发一笔,二是觉得在小公司可以施展的空间也许更大些。前路如何,尚未可知。

境界谈不上,感触倒是有几点:

1。年轻的时候技能树真的是乱点,点开了就一头扎进去好几年,效率很低,但却真的能有收获。现在想研究一个什么东西,反复考虑值不值得投入时间,反复研究最合理的学习路线,结果却往往不如人意。这事情可能真的没有什么捷径,21年从入门到精通。
2。自己实在是太幸运了。从来没有为选什么专业、找什么行业的工作发愁过,喜欢的恰巧是擅长的,居然还是可以有体面的收入的,居然还是可以站着把钱挣了的。我不信神,但我非常感激到目前为止命运对我的安排:不是出生在城市但也不是在偏远的山村,家境非常一般但也不至于为生存疲于奔命,智商不高但尚在努力可以弥补的范围。我专心去做过的事,竟然基本都有超出预料的成果,但还没来得及沾沾自喜,又被扔到更广阔的天地里被新的大神们全方位碾压。世界在我面前竟然像一个精心设计的RPG游戏,这真是太神奇了。
3。具体到技术方面,我现在其实处在恐慌中,感觉没有核心竞争力能让我区别于他人,我懂的那些东西都是没有什么门槛的。我曾经仔细梳理过自己不懂但又非常感兴趣的方面,排前面的大概有三个:数据库与分布式系统、编译与计算机语言理论、机器学习。现在工作之外的业余时间也在学习相关的东西,希望能在任一方面有所突破吧。
4。我非常确定我到40岁以后还在写程序。
为什么?