技术为本,行业为先
丙申岁月将逝,尚未嗅尽冬日芬芳,却要迎接来年春日的阳光。回望这一度春秋,从象牙塔中依依不舍的离开,经历社会的洗礼。有些收获,也有失落。勿忘初心,不负梦想。或许,世间的嘈杂会打扰心田的恬静,但坚守自己的本心,没有什么可以阻挡你的前行,打败你的永远是你自己!
没来得及收拾好过年的喜悦,3月份早早来到了学校,踏上了找实习的路途。当时也不知道哪里来的勇气,投了A公司,因为经验不足和实力太弱,3月份电话面试,人生第一次实习面试,没经验。答的自我感觉良好,可惜语速有点快,然后就渺无音讯了……。4月份A公司笔试很惊险的过了,5月份现场面试。面试官问gc算法,答对60%。他问Object方法,答了tostring他说不对……。最后一面没过,就提示面试行程结束,A公司之路暂停。
不得不提的是牛客网,这是一个专门用来刷面试题的网站,非常强大,一直用它来巩固基础。但是今年9月份,竟然被牛客网神奇的内推到A。虽然自己太菜而落选……唉,没办法,技不如人赶上A的拥抱变化。短短一句话概括心情,“三晋弟子多才俊,卷土重来未可知”…
H公司每年3月份会来软院这边进行实习生校园招聘,而且非常重视软院这边的研究生。面试就相对来说不太难,当时问的是Kmeans聚类算法和一些数据处理相关的问题,还好这块是对口专业知识,最后Boss说愿意给我一个实习的机会,安排一个博士来带我。还对我的职业规划进行了指导,缺少这是第一次接触企业,给的是大数据的口头Offer,非常适合。但是外界对H公司加班的吐槽以及后来去那边同学的反馈让我对其望而却步……
经历了一段时间的准备后,拿到了B公司的实习机会,去手机助手部门搞老本行安卓,5月份便欢欢喜喜的去帝都了。
第一份实习,非常认真的对待。一开始并没有什么开发的活,也就是看看WIKI,熟悉工作流程,当时差点怀疑人生了。不过过了半个月,终于参与一个监控内存泄露的插件开发流程中。忽然发现,自己之前的安卓都白学了。技术再牛也是一种工具,只有产品化才能发挥它的价值。以前开发的软件,发现性能都有很大问题。高性能编程,提升流畅度、减少卡顿,甚至到省电,每一个方面都要考虑,不是做出来满足一下个人成就感就算完事了。做的东西大家都喜欢,才是最好。
B公司生活确实不错,每天下午都有各种各样的小水果吃,每月月底最后周五在食堂还有为当月员工过生日准备的小蛋糕,确实很温馨。我们还参加了码神集训营,获得了小组第一,确实很有收获。但是我们工作内容和自己的兴趣很不符合。整个产品只有一层楼,QA权利很大,尤其是QA组长,把RD批评的很厉害。
最让人诟病的是B公司的管理,过度注重绩效,有些忽略员工的成长。也许也是我渴望公司的导师能像学校里边的导师一样,关心学生的成长。最后发现,其实人家关心的是你能不能给人家带来利益。有些书生意气的我,看不惯这种作风,7月份便愤愤离职,去了T公司。
来T公司之前,我尝试在B公司内部转岗,于是就有了以下经历:
a.安卓研发工程师,问的基础算法,单链表转置(都忘的差不多了),最后一句“经理去吃饭”打发了(第一次心痛)
b.大数据研发,问的是SQL和Hadoop,也答的不好,心慌慌。不过这次不是经理吃饭,而是“经理开会”,这次确实表现不好,心情一般。
c.大数据开发,一面电面水水过(主要是不紧张),二面直接上来做题,隐约记得有以下几道,一个文件有10G,不用Linux,不用 MapReduce,做排序;用MR求文件里的回文数;有一个用户表,有id,date两个字段,求相邻两天内用户的活跃天数。用 Hive,Sql写;统计用户一个月内的点击次数。面试官说我深度不够,算法写的太简单(还好这次做过一点准备,不然一道也写不出来)。
内部转岗失败,看来是自己数据相关的动手能力太差了,心顿就凉了一截。
来T公司也是很出乎意料的,当时有个在T公司实习的同学说部门缺安卓实习生一枚,当时正好时英雄无用武之地的处境,欣喜的投了简历过去。4号一面,问的Hashmap和内存泄露一些关于性能优化相关的问题,答得还不错。5号接着就二面了,这一面主要是压力面,面试官一直在给我施压,还好我一直一来就不怕压力,终于挺过去了。
T公司相隔2000多公里,经历了一天一夜的绿皮车硬座煎熬之后,没来得及休息,20号便入职了。说实话,T公司比B公司更为开放,更为关心新人的发展。进来之后,从简单的语法Bug到业务需求,高效流畅的开发流程,让每个人都有条不紊的发挥自己的价值。而且导师也非常好,比我大不了几岁,处着处着就成了朋友。而且公司内部有自己的类似于知乎的平台,有什么问题可以发帖子,最后会有大神给你回应。而且也有非常牛的技术文章,可以说随时都可以去充电。
公司还会定期开一些技术讲座,请各路大神分享经验。个人的发展空间得到了很大的提升。印象最深的是有一次一个PM给leader打电话,说算法推荐准确度没有达到很高,然后我们组长这样回答“准确度太高会让用户害怕的,有点窥探用户隐私的嫌疑……”。要知道,他可是技术开发出身,竟然能如此深谙用户心理,瞬间觉得仰慕崇拜。更令人值得学习的是,项目对安装包的体积要求非常苛刻,每个功能只给固定限额的体积增量,宁愿砍掉一个功能也不愿意让apk体积增长过大,让使用的人抱怨,真心觉得钦佩。好的技术是一把好剑,倘若让不会使用的人来操控,不注重用户体验,最后只能落得个助纣为虐的名声。最终,实习转正,成为T公司的员工……所以,个人觉得,“技术为本,行业为先”。提升能力的时候也要让自己做的东西接地气,不然最后总会被束之高阁,人人唾弃。
当然,做好的产品也是有待价的,就是技术要为产品服务。我的工作从一开始的安卓,到NLP,再到一些性能的优化,一直没有固定住。或许会有些不适应,感觉做非所学。感觉到技术深度应该在学校时光中去沉淀,精通一门,触类旁通,才是王道。而且IT行业本身就是一个处在变化的过程,从移动互联网,到大数据、云计算,再到最近金融届的宠儿“区块链”,无时无刻不在变化。比如当你精通了了Java和数据库,你可以搞安卓,搞hadoop、spark。你掌握了Python,可以搞云计算和AI;你熟练了C/C++,Go语言也类似,你可以搞区块链……。
区块链最近非常火,具体请移步http://blog.csdn.net/pangjiuzala/article/details/52851908
所以,其实看似高大上,非常触不可及,其实只需要你掌握一门。编程预言说到底也是一种语言,人类的语言都是通用的。
技术总是要适应社会发展的,很难说精通一门技术就可以一劳永逸。所以,做好互联网时代的弄潮儿,首先得具备学习能力,虽然一开始很难,但是坚持下去,你会发现,一切都是触类旁通的,艺不压身,永远保持学习状态,你就不会落后。
[聊聊IT」主编Star先生是一名IT人士,通过亲身经历和对行业动态的关注,发表一些对行业的个人见解。
微信号:startalkit
长按上图,弹出“识别二维码”后关注