0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

北京工作这几年,一位软件工程师的感悟

工程师人生 来源:网络整理 作者:工程师吴畏 2018-08-17 11:07 次阅读

我于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以及几个朋友,开发一款叫做“淘奇桌面”的软件,目的是做软件、文档类的搜索。做了些时候,感觉困难重重,履步维艰。失败并不可怖,真正强悍的人不是没有失败的人,而是快速从失败中成长的人。不过,谁负谁胜出天知晓,回到自我总结的话中,就是,但管努力,莫问前程,事在人为,功不唐捐。

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • NEC
    NEC
    +关注

    关注

    0

    文章

    238

    浏览量

    99097
  • 百度
    +关注

    关注

    9

    文章

    2258

    浏览量

    90278
  • 软件工程师
    +关注

    关注

    8

    文章

    218

    浏览量

    21131
收藏 人收藏

    评论

    相关推荐

    硬件工程师工作必备书籍推荐

    硬件工程师工作必备书籍推荐
    的头像 发表于 09-24 16:07 711次阅读
    硬件<b class='flag-5'>工程师</b>找<b class='flag-5'>工作</b>必备书籍推荐

    FPGA算法工程师、逻辑工程师、原型验证工程师有什么区别?

    逻辑工程师和 FPGA 原型验证工程师工作重点和职责上存在定的区别: FPGA 算法工程师: 主要关注算法的设计和优化,以在 FPGA
    发表于 09-23 18:26

    嵌入式软件工程师如何提升自己?

    ,可以为自己的职业生涯打下坚实的基础,并实现个人的职业目标。愿每一位嵌入式软件工程师都能在这个充满挑战和机遇的领域中取得成功!
    发表于 06-12 11:20

    索尼诚邀软件工程师参与PS免费手游平台设计

    据悉,近日,澳大利亚知名媒体TweakTown发现,索尼互动娱乐正在为其旗下的PlayStation Studios Mobile招募名资深的软件工程师,负责设计PlayStation的免费手机游戏平台。
    的头像 发表于 05-23 17:08 706次阅读

    嵌入式软件工程师和硬件工程师的区别?

    和通信协议,以及熟练掌握种或多种编程语言和开发工具。 主要负责的任务和领域 嵌入式软件工程师工作涉及到各种任务,主要包括: * 系统设计:包括确定系统功能、分配资源、优化性能等。 * 软件
    发表于 05-16 11:00

    为何国外工程师偏爱使用for(;;)来实现MCU死循环?

    一位工程师发现,国外工程师在给demo在做死循环时用的是for(;;),而不是常用的while(1)。这仅仅是个人习惯的问题,还是有更深层次的含义?
    发表于 04-01 11:26 594次阅读
    为何国外<b class='flag-5'>工程师</b>偏爱使用for(;;)来实现MCU死循环?

    Cognition发布首款AI软件工程师Devin

    据报道,Cognition公司今日公布了其首款人工智能软件工程师——Devin,掀起了打造软件模式变革的序幕。该产品在SWE-bench代码测验中展现出卓越表现,甚至超过了部分顶级人类工程师的水准。
    的头像 发表于 03-13 10:57 598次阅读

    如何搞崩个硬件工程师心态?试试对ta说这几

    硬件工程师
    扬兴科技
    发布于 :2024年02月20日 18:05:49

    嵌入式软件工程师常用的

    最近我换工作了,看见不同嵌入式软件工程师用的平台都不样,所以我整理了下。PlatformIO:多平台支持:PlatformIO支持多种嵌入式平台,包括Arduino、ESP8266
    的头像 发表于 12-24 08:00 635次阅读
    嵌入式<b class='flag-5'>软件工程师</b>常用的

    优秀电源工程师的必备技能大揭秘!

    随着电源市场的不断扩张,开关电源行业飞速发展,企业对电源工程师的需求日益增加,对电源工程师的技能要求也日渐提高,相信没有一位电源工程师会错过让自己变得更优秀的机会。作为
    的头像 发表于 12-19 08:23 1719次阅读
    优秀电源<b class='flag-5'>工程师</b>的必备技能大揭秘!