百科问答小站 logo
百科问答小站 font logo



你做程序员真的是因为热爱吗? 第1页

  

user avatar   huangzhe 网友的相关建议: 
      

编程于我,最初是星辰大海,进而如获至宝,也曾不胜其烦,最后如影随形。我对编程的热爱,起于对编程本身的热爱,终于(但非止于)对探索世界的热爱。

星辰大海

小时候家里穷,没有钱买电脑,更没机会学习编程,看着别人的小孩都在熟练的玩电脑,在漂亮的软件上面点来点去,于是我再心中种下一颗种子,有朝一日我要自豪的告诉别人,你们正在用的软件,是我开发的(不过至今仍未实现这个心愿)。于是在一个十几岁少年的心中,有了一片星辰大海。

我接触编程是2007年,当时在读高中。那时候,没有什么培训班,也没有课外加分,有的仅仅是一个中学老师,以及其因兴趣开设的编程兴趣小组。那时候,我学习编程的主要途径不是网络,而是一本1996年清华大学出版社出版的《Pascal程序设计》。

当然,选择pascal并不是我本意,因为我当时的兴趣是GUI编程,也就是编写那些在windows系统里很多按钮很多功能的软件。于是我上机时,除了要迅速完成老师布置的就像做数学题一样枯燥的编程任务后,就把时间花在VB上了。尽管是2007年,但我用的还是97年发行的Visual Basic 5.0,毕竟学校机房的电脑也是够老的。

2008年,开始和同学混网吧。不过惭愧的是,我同学打游戏的水平越来越厉害,而我并没有进步,因为当同学在打魔兽,红警时,我在安装VB,在拖拽UI,编写逻辑。其实那时候我真不知道要写什么软件,但我还是喜欢恶作剧的,写了很多奇怪的程序,例如点击某个exe,一个对话框弹出来然后到处飞,你得点到按钮才能把它关闭。还试过把这个程序带到课室的电脑去,设置好老师上课时弹出来到处飞,然后10秒后自动关闭,然后我暗地里观察老师懵圈的反应。


如获至宝

2009年高中毕业,选了「信息工程」专业,一个偏通信类的专业。原因是当时媒体都在渲染3G时代马上来临,我当时的志向是:我要给手机编写程序。但实际上我当时太嫩了,这个专业从来不教手机编程知识,也不教你组装手机,教的是傅里叶变化,信号处理等纯数学知识。当然,这些当时我看起来没用的知识,虽然日后确实也没直接用上,但也训练了我的思维,让我知道,技术世界从来就不是拖拽UI编写功能。

大一结束了,编程相关的课只学了一门C语言,于是为了把自己扳回「正道」,我跑去隔壁计算机学院选课。当时的政策是,我们系也承认其他学院的选修课,只要有技术相关性就行。于是我又修了操作系统原理,Linux,Java,C++等多门我们系没开的课。这时候的我如获至宝,我的技术视野得到了提升,例如面向对象这个概念,是从java课学回来的;系统调度,线程等概念,是从操作系统课学回来的。这时候我后悔当时报专业时为啥不直接报计算机专业,而要自以为是的去读个通信类专业。

学了这些课程后,我已经基本可以独立开发很多程序了,甚至开始接外包了。


不胜其烦

毕业后,凭借着自己「多年」搞GUI程序的经验,找到了一个游戏公司的程序员工作,开始了朝九晚九的生活。2013年,移动互联网刚兴起没多久,3G时代即将结束,4G时代即将来临,那时候雷军说「站在风口上,猪都能飞起来」,于是,我们这些「猪」都在天天加班,希望赶紧追上风口。整个行业都打了鸡血,尽管那时候还没有996的概念,但每周六天甚至偶尔通宵真的是业界常态。

刚进入游戏公司,一切都是新鲜的,新的技术,新的UI框架,还是让我挺兴奋的。第一款游戏是一款儿童页游,上线一段时间就运营不下去了。当时觉得很惋惜,因为技术上是能容纳更多玩家同时在线的,但公司财务情况使得游戏没法运营下去,于是和几个朋友一起出来,成立了一家新的公司,不听老板指挥了,自己开发新游戏。

刚开始出来前,很兴奋,感觉手脚放开了,想法变多了,大家工作也很积极,加班也比以前多了。可是,工作了一年后发现,我们似乎太乐观了,不仅对市场太乐观,也对自己项目管理水平太乐观。首先说项目管理水平。渠道那边和我们约定的内测版本上线时间,我们基本都要跳票,或者即使上线了,也出一些奇怪的bug。市场方面,玩家似乎不太买账,七日留存水平很低,达不到正式上线的要求,于是我们反复修改玩法,想方设法让玩家多留存点,但收效甚微。

慢慢的,大家开始失去耐心,我开始讨厌每天都在修改UI,修改逻辑和功能,写代码于我而言,变得不胜其烦,由于长期996,加上没得到预期的回报,我感觉整个人burn out了。于是谋划着考虑其他机会。恰好深圳有家公司给我三倍的工资让我去带技术团队,于是我毫不犹豫的去了,周五离开旧公司,周六去深圳找房子,周日回广州打包行李,周一就到深圳上班了。

但事实上,这次跳槽并不能解决我内心的迷茫与烦躁。我在这个行业混了三年,感觉资源越来越向大公司集中,而且就好像我前面说的,我在网吧里没怎么玩过游戏,我对游戏的理解很浅,于是我越来越感受到自己在这个行业的天花板了。虽然我热爱技术,但我对游戏是没有热情的。于是我在工作的同时,开始考虑出国留学,换个环境。当时其实工作很忙,也没找留学中介帮忙,所以最后只申请了新加坡南洋理工大学一个学校。结果还录取上了,于是毫不犹豫的辞掉工作,开始了每天固定负收入的生活。


如影随形

别看我硕士读的是「数字媒体技术」这个专业,但这不是搞媒体的专业,而是真的技术专业,每天都在研究媒体编码和压缩,图像分割等课题。我又像本科时一样,不安分的跑去选其他专业的课,学了门《计算生物学》,打开了机器学习的世界。于是技术视野又进一步开阔了。这时候,我的技术兴趣更多的从前台转向后台。

事实上,随着我工作年限增加,我花在写代码上的时间变少了。这不是因为我走向了管理岗位,而是因为我把更多的时间用在了理解业务上。我开始开悟,我学习技术,是为了解决问题,而不是为了像电影里的黑客耍酷。技术是手段,而不是目的。

这个阶段,技术对我来说如影随形,就像是自己的手脚一样,未必每时每刻都在用,没有了又不行;而且偶尔还要锻炼一下,以防止肌肉萎缩。

随着年龄增长,我变得对世界越来越有好奇心。这里不是说我走过了多少国家看过了多少风景,而是说我思考了多少问题,拟订了多少方案。而在这些方案里,技术不是全部,却能画龙点睛。

举个例子。反洗钱这个事是非常难的,你要做个智能的反洗钱系统,你需要连续几天都花在和业务人员沟通上,花半个月时间在看案例上,这样你才能构建有效的特征,从而识别出真正可疑的交易。在这之中,特征工程代码和机器学习代码,其实没多少行,但确实起到了画龙点睛之功效。


所以,如果你对技术失去兴趣,或者你可以考虑下,是不是你用技术这个手段,在做一些无趣的或者与你价值观不符的东西。如果价值观与你不符,你可以继续专研目前的技术,但换个行业,用你喜欢的技术解决你觉得有趣的问题;如果你觉得无趣,试试激发你内心的兴趣,例如走出去,和用户或者客户谈谈,或许能找到你解决问题的动力。




  

相关话题

  程序员把工作完全自动化了是什么体验? 
  如何解读支付宝利用区块链做到了跨境汇款秒到账? 
  打算考小县城公务员,然后平平稳稳过一辈子是一种没志气的选择吗? 
  「程序猿」相亲遇到「程序媛」会是怎样的场景? 
  如何和程序员谈一场没有bug的恋爱? 
  目前中国程序员和美国程序员的差距在哪里? 
  有没有当了程序员发现自己水平很菜经常怀疑自己不适合干程序员工作? 
  如何看待京东到家程序员离职删库被判刑 10 个月?「删库」会给公司造成什么影响? 
  你在写程序的时候经历过哪些有趣的事? 
  电子工程师的能力有多可怕? 

前一个讨论
如何评价移动端吊打一切万众期待的商汤深度学习推理框架PPL开源了却没有支持移动端?
下一个讨论
怎么判断一个人是不是理想主义者?





© 2024-05-26 - tinynew.org. All Rights Reserved.
© 2024-05-26 - tinynew.org. 保留所有权利