我于2007年来到北京,在北京工作这些年,先后在NEC、风行、百度几家公司担任软件工程师的职务。NEC是一家具有百年历史的传统日企,在知春路的分公司叫日电电子,我们部门主要从事机顶盒、数字电视上嵌入式软件的研发。风行是一家成立于2005年的在线视频公司,主要做P2P视频点播的业务,而我主要从事P2P后台服务器的开发。百度是一家在纳斯达克上市的互联网公司,我主要在客户端部门的百度影音项目组从事P2P后台服务器开发。

这些年,在这些不同类型的公司的工作经验,教会了我很多东西,技能上的,做人做事上的;也让我收获了很多东西,例如志同道合的朋友们。作为员工,作为用户,最近有冲动回顾过往,并总结分享一下自己的经历、教训,希望对自己,以及互联网这个围城内外的朋友们有所帮助。

NEC岁月

外界对日企有很多误会,其中最大一个,恐怕就是认为日企都很变态,疯狂的加班,低廉的工资等。也许是第一份工作,NEC给我的整体印象不是变态,而是是温馨。入职培训时,公司的技术总监这样对我们说:不论你们在那个行业,都要争做这个行业的Number One! 这句话,随时想到,都让我振奋不已。也许正是这样的勇气,才让NEC屹立百年不倒(虽然现在有些江河日下了)。入职培训时,还学习了很多社交礼仪,例如如何互换名片(把印有自己名字的名片,面向对方等),同期的学员,在当年合作了据称是有史以来最成功的春晚,而很多学员,以后的关系都还不错。

NEC 的加班工资(晚上和周末加班都有法定工资)、弹性工作制(真正的弹性,早上8点到下午5点就可以下班)、出差补助(出差通常都会安排不错的酒店)、学习氛围浓厚(每周的日语课堂;每天中午15分钟的轮流演讲等)、每年一次的国内旅游(一般都有4个左右的目的地可供选择,2008年的旅游地是武夷山、庐山、苏杭等)、超多的假日(入职就有12天;法定节假日通常要多放一天假)、法定之外的个人保险办理,这些都很让人怀念。说起来,作为一家日企,还是非常人性化的。例如某个飘雪的冬天,公司为了照顾员工,特意允许下午4点全体职员下班回家。

都说大公司学做人。我在NEC学会的一个做人原则就是:不要不懂装懂,坦然承认自己不会的,然后努力去学习。不懂装懂的人不会在这个集体中得到尊重和认可。NEC的李San、凌San作为领导,对我这样初出校门、不谙世事的青年人提供了很多机会,他们的宽容让我至今难忘;而亦师亦友的刘San,是我所见过的真正的hacker,对技术的痴迷,给新手的帮助,以及天真的为人,让我钦佩又向往;才华横溢的小站、小张,作为同期学员,可是我心中追赶的目标和竞争对象;而老吕、华仔和我,则是最佳三人组,我们带头成立的饭团,当年就开风气之先,一时间部门饭团林立。

很多人都说NEC就像大学,但是大学就有毕业。很多人在学到差不多的时候,就选择了离开。因为作为一家日企分公司,业务严重依赖日方,而分配的业务,在我们一群年轻小伙看来,既没有挑战,也没有意义(没有用户)。没有激情,工资偏低,上升空间非常有限,这些恐怕是大家选择离开的主要原因。

风行岁月

在离开NEC之前,我、老吕、华仔三个曾想过做一个火车票订票系统。春运一票难求是众所皆知的问题,华仔用Perl写了个简单的爬虫,抓火车票网的倒票信息,很快就买到车票。以这个原型为起点,我们认为有大量用户,而定向抓取难度不大,因此开工。虽然这个计划,短期内就夭折了,原因很多,但给我印象深刻的是,在NEC,我是学习不到如何在互联网这个浪潮中,捞到属于自己的一桶金的。大多数离开NEC的人,都选择了如汤姆逊、T3G等同类型公司,而我,以及之后的华仔,都选择了互联网。

虽然还有其他选择,但到风行的理由很简单,风行所在的锦秋国际也在知春路上,离我住的地方很近。待遇虽然很一般,但毕竟让我迈入了互联网的大门。刚到风行时,风行的用户量是280万左右,离开时,有550万左右;离开半年后,用户量猛涨,有900万左右。作为一个软件工程师,维系一个百万人在线系统,还是颇有挑战的,尤其对我这样没有什么经验的人而言。

在风行的岁月,技能有了大幅度的上升,与此同时,兴趣也是多种多样。最有激情的时候,会在每天下班就打印一份技术文档,等公交车时,就在昏暗的灯光下学习,回家拔完饭就开始实践,从Linux系统/网络编程、到各种命令行工具、到网络协议研究、算法、开源项目,以及一些稀奇古怪乏人问津的东西(例如用LaTex写作文档、Metapost绘制矢量图、 graphviz绘图)。计算机相关的书,不论温故知新的,如《Unix编程艺术》、《C++对象模型》,还是一见如故的,如《程序员的修炼之道》、《编程珠玑》、《Python源码剖析》、《卓有成效的程序员》、《敏捷软件开发》、《重构》,还是装饰书柜的,如《怎样解题》、《如何求解问题》等等,见一本买一本。多次搬家的痛苦,并没有消弱我购书与阅读的兴趣。

除了出自兴趣的自修,在工作上遇到的很多事情,例如流量异常分析、程序崩溃、用了很多时间才找到的bug、算法调优、运营学习、一时无法解决的问题等等,也都事无巨细的记录在案。再离开风行时,差不多积累了10万字左右的笔记。我记录笔记的方法,也比较原始,只用Vim+记事本,很少发到网上,因为是写给自己的,行文简单精炼,给其他人的话,就要修饰文辞、制作插图等,这是不同的价值。记笔记是个初级的习惯,只要强迫一段时间,就能让自己终身受益。我从风行记录到百度,经常都会翻出笔记,给同事发邮件,解释某个问题。

然而,兴趣驱动的学习,也是一把双刃剑,让你快乐,也让你痛苦。因为兴趣的泛滥(技术之外的诸多兴趣是技术兴趣本身的2倍以上),让我深陷困惑,不知道自己是否真的适合做技术;也正因为兴趣泛滥,所以真正精通,拿得出手的东西不多,或者说在任何一个领域,都不能做到Number One这样的自我期许。后来和公司的大Boss聊过我的困惑,但却终未释怀。此后不久,就离开风行,希望到一个更大的空间,看看这个世界。

当然,离开前,还是要浓墨重彩的说说我的那些朋友们。HZ是另一个亦师亦友的大拿,是他最先让我关注行业本身,而不是仅仅关注于技术。很多技术人员容易范的一个错,就是懂技术不懂行业。对行业的了解,意味着,要大量的使用这个行业已有的产品、了解他们的运行规律(例如Qvod的运作模式就明显和风行、 PPS、奇艺、优酷不同),谁在用你的产品,怎么用的?以及非常重要的对统计数据的理解。另一个好友是HR,哦,HR不是Human Resources的缩写,而是他鼎鼎大名的缩写。说来HR大我有十来岁吧,虎背熊腰,中东恐怖分子的造型。每次公司出游,我们都住一间房(呵呵,莫误会,是标准间双人床),找人玩杀人,以及天南海北的瞎扯。HR最让我受不了的是他的磨叽和拖拉,最让我受得了的是我调侃和嘲讽他时毫不介意的风范。YZ是我在风行最强有力的竞争对手,年龄相仿,到公司也是前后脚,虽然他做客户端我做服务器,但当时风行研发也就二三十号人,YZ对工作本身的专注与一丝不苟,相比我的随意和三心二意,就形成了鲜明的对比,再加上此人精力旺盛,战斗力强劲,又是数学出身,因此一直是我追赶的对象。此外,公司的两位大Boss,罗总和唐总也对我关照有加,偶尔的对话,总让我事后深思许久。

总的来说,在风行比在NEC有了更大的成长,教训也更多,大概有这几点吧:
* 解决产品线上的实际问题,比学习新技术更重要。
* 帮助别人解决问题,是提高能力的捷径。所谓专家,就是在一个有限的领域里,把所有的错误都犯过一次。
* 拓展兴趣,坚持学习。不要囿于技术一隅。和提高技术能力同等重要的是,深入学习、理解你所在的行业。技术是为市场服务的,理解产业链的上下游、公司的运营方式、产品的赢利模式。这些“功夫在诗外”的努力,都有助于推进项目、改善产品、提高技能。
* 无知并不可笑。无知但又不去学习才可笑。
* 但管努力,莫问前程。不要浪费时间怨天尤人,攀比工资高低,争论物价房价涨跌。相信功不唐捐。

百度岁月

相比NEC、风行,在百度时光短暂,因此技能和交际的提高都很有限。但从战斗力这个层面上说,却有相当的长进。百度的产品线生命期相当短,如果短期内没有成效,就有被砍掉的风险。用百度一个VP的话来讲,就是“只认功劳,不认苦劳”。很多产品线都加班到相当晚,像百度影音这个产品线,我们组内的成员,很多人到了晚上12点,还在讨论问题和解决方案,还在改进产品,而这些都是自发,没有硬性规定的行为。在风行,我有不少时间是在为公为私的学习,但在百度,几乎没有时间可以腾出手来学习。当然,也许是和百度客户端在公司的处境相关。

虽然说百度的项目非常紧张,但还是有大量高质量的培训课程、教材、技术文档可以学习。尤其刚毕业的学生,在这种高压的环境下,能够得以快速成长。内部的BIT培训、公司和部门的各种讲座,以及com平台的资料,都会让渴望知识的人欣喜若狂。新发布的产品线,用户数很快就会激增到几万,十几万,几十万,百万,千万这个量级,对于希望挑战自己的人,是个好平台。在这里,个人的成功是和团队的成功绑定在一起的,因此大家都非常努力的朝着一个目标工作,至少在我们产品线是这样。

在百度最有成就感的事,就是坐在屏幕前,运指如飞的用Vim模式的命令行,管道连接一堆命令,背后站一群人,看你怎么分析日志,抓出异常。追踪异常,就如同侦探破案一般,把现场还原出来,找出是自己的程序搞鬼,还是有恶意用户。让你吐血的经历,就是最宝贵的财富。因为RD、QA、PM都非常专业,所以可以学习到各种不同层面的知识,要加以应用也很简单,只要你为产品线献谋献策,并实现它,就可以了,有大量的用户,会成为你的试金石。

结语

在百度的最后一段时间,我想也许我准备好了,可以独立行事。离职后,和曾经视为竞争对手的YZ以及几个朋友,开发一款叫做“淘奇桌面”的软件,目的是做软件、文档类的搜索。做了些时候,感觉困难重重,履步维艰。失败并不可怖,真正强悍的人不是没有失败的人,而是快速从失败中成长的人。不过,谁负谁胜出天知晓,回到自我总结的话中,就是,但管努力,莫问前程,事在人为,功不唐捐。

年轻的却是一笔最好的财富,而多数时候,我们不知道如何运用这笔最宝贵的财富,将之挥霍一空了。所有平凡的日子加起来,就将汇集成了你的一生。如果不希望平淡的生活下去,就要更加努力的去拼搏。找到自己的偶像,追赶他,榜样的力量是无穷的;找到自己的竞争对手加朋友,与之一起战斗,你能走多远,在于你和谁一起同行。虽然现实残酷,时常迷茫,不知所措,但我总提醒自己,要乐观的生活,也许,机会就在眼前。

我在北京工作这几年 – 一个软件工程师的反省相关推荐

  1. 在北京工作这几年 – 一个软件工程师的反省

    程序人生之八:在北京工作这几年 – 一个软件工程师的反省 我于2007年来到北京,在北京工作这些年,先后在NEC.风行.百度几家公司担任软件工程师的职务.NEC是一家具有百年历史的传统日企,在知春路的 ...

  2. 一个软件工程师的反省

    我于2007年来到北京,在北京工作这些年,先后在NEC.风行.百度几家公司担任软件工程师的职务.NEC是一家具有百年历史的传统日企,在知春路的分 公司叫日电电子,我们部门主要从事机顶盒.数字电视上嵌入 ...

  3. 做一个软件工程师是什么感觉,工作过程中是否觉得开心?

    首先在这里谈一下做一个软件工程师的感觉: 1.开发完系统的成就感 当你完成了整个系统的开发,软件功能都完成的时候,你是很有成就感的,觉得终于完成的了感觉 2.系统稳定运行的成就感 当你开发完系统,经过 ...

  4. 一个软件工程师的7年工作经验总结

    前言 这是在网上看到的一篇文章,写的是一个从事软件工程开发的大牛对从业七年的一些经验总结.感觉挺不错,转来与大家分享了,下面是正文. 分享 1.分享第一条经验:"学历代表过去,能力代表现在, ...

  5. 一个软件工程师的职业规划

    [1] 好好规划自己的路,不要跟着感觉走!根据个人的理想决策安排,绝大部分人并不指望成为什么院士或教授,而是希望活得滋润一些,爽一些.那么,就需要慎重安排自己的轨迹.从哪个行业入手,逐渐对该行业深入了 ...

  6. 北京 Java软件工程师薪资_【北京京东工资】java高级软件工程师待遇-看准网

    京东2021校招,投了两个岗位,一个是物流方向管培生,一个是物流规划,管培生当时未参加一面(形式群面),后来面了物流规划这个.1.初试(通过)一面为一对一专业面试,形式为线上视频面试,问了一些实习经历 ...

  7. 一个软件工程师必须是一个好的雕刻师

    做软件开发已有6个年头了,涉足环保安全领域的信息化软件一双手也数过不来,虽然技术平平,我感觉想要做好一款软件,两个必须要具备的前提是:(1)较深的领域业务知识,(2)高超的需求获取技巧.

  8. java软件工程师工作业绩_java软件工程师,工作总结

    java 软件工程师 , 工作总结 篇一:软件开发工程师个人年终工作总结范文 软件开发工程师个人年终工作总结范文 作为一个软件开发工程师(我也是一名软件开发工程 师) ,所实在的如果每年只做那么一两个 ...

  9. 面对数字化转型 一个微软软件工程师的进阶之路

    伴随着企业的数字化转型,微软也经历了一场暴风骤雨般的变革:作为这场变革的亲历者,闫伟这个90年出生的小伙子,就像是这场变革的一个缩影. 作为微软大中华区创新技术合作事业部的一名软件工程师,闫伟是部门里 ...

最新文章

  1. html工具类,一些小工具
  2. bzoj3270 博物馆
  3. 检验两组数据是否显著差异_SPSS非参数两个相关样本检验
  4. linux mysql 最小安装,Linux最小化安装之安装mysql
  5. 软件项目组织管理(一)项目管理概述
  6. jax-rs jax-ws_极端懒惰:使用Spring Boot开发JAX-RS服务
  7. iOS 11 UICollectionView顶部出现白色间隔的问题
  8. sql交叉报表实例(转)
  9. SQL 之后,GQL 成为 ISO/IEC 国际标准数据库语言项目
  10. iis mysql端口修改_如何处理IIS和Apache之间经常端口冲突
  11. 读Zepto源码之Ajax模块
  12. R语言:企业风险分析(2)【蒙特卡罗模拟,Monte-Carlo Simulation】
  13. 手机上html满屏飘爱心代码,微信满屏爱心怎么弄?微信满屏爱心特效方法步骤...
  14. 【】每日360题,2019.11.05日19点财会类考试习题答案
  15. phython学习记录 基础篇
  16. TransUnet官方代码训练自己数据集(彩色RGB3通道图像的分割)
  17. 如何设置计算机自动连接宽带,宽带连接怎么设置,怎么设置宽带自动连接
  18. PPT最强抠图技巧(收藏必备)
  19. java常见的5个异常_java常见的5种异常举例
  20. 服务器TIME_WAIT和CLOSE_WAIT区别及解决方案

热门文章

  1. python的官方网站地址是什么-python赋值和地址
  2. python单词意思-Python
  3. 适合python的笔记本配置-jupyter之配置自己喜欢的python环境
  4. python培训好学吗-Python0基础好学吗?
  5. python基础知识面试题-干货满满--亲身经历的 Python 面试题
  6. python基础包括什么-Python基础-数据类型总结归纳.
  7. linux上添加下载源的时候报错:无法添加 PPA:“‘此 PPA 不支持 bionic‘”,以及关于linuxPPA的介绍,如何查找软件包的PPA源,并添加PPA
  8. mysql协议解析器_mysql协议解析
  9. 操作符*或者-的重载
  10. 题目1204:农夫、羊、菜和狼的故事