我于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以及几个朋友,开发一款叫做“淘奇桌面”的软件,目的是做软
件、文档类的搜索。做了些时候,感觉困难重重,履步维艰。失败并不可怖,真正强悍的人不是没有失败的人,而是快速从失败中成长的人。不过,谁负谁胜出天知
晓,回到自我总结的话中,就是,但管努力,莫问前程,事在人为,功不唐捐。
年轻的却是一笔最好的财富,而多数时候,我们不知道如何运用这
笔最宝贵的财富,将之挥霍一空了。所有平凡的日子加起来,就将汇集成了你的一生。如果不希望平淡的生活下去,就要更加努力的去拼搏。找到自己的偶像,追赶
他,榜样的力量是无穷的;找到自己的竞争对手加朋友,与之一起战斗,你能走多远,在于你和谁一起同行。虽然现实残酷,时常迷茫,不知所措,但我总提醒自
己,要乐观的生活,也许,机会就在眼前。
分享到:
相关推荐
### 软硬件开发人员简历的关键知识点 ...总之,这份简历模板为希望进入嵌入式软件开发领域的求职者提供了一个良好的起点,通过对其内容的定制化调整,求职者能够更好地展示自己的优势并吸引潜在雇主的关注。
- **2008年考试大纲词汇**:这是针对英语考研的一个重要资源,它列出了考试所需的词汇列表,帮助考生掌握核心词汇。 - **英语泛读500篇**:通过大量的阅读练习提高英语水平,尤其是阅读理解和语感。 - **英语精读篇*...
IPC是以等级形式,将技术内容按部、大类、小类、主组、分组逐级分类,组成一个完整的分类体系。 IPC共分为八大部,类号由A—H八个大写字母表示。 A部:人类生活需要 B部:作业;运输 C部:化学;冶金 D部:纺织...
freertos移植,第2.1讲 FreeRTOS在STM32F4上的移植(STM32F407)
内容概要:本文详细介绍了用于单相3kW和5kW太阳能并网逆变器的全C源程序设计方案。该方案涵盖了PWM生成、电压电流采样、MPPT算法和并网控制四个核心模块。每个模块都经过精心设计和优化,确保逆变器的高效运行。文中还讨论了关键硬件选型、PCB布局优化以及量产测试规程。此外,针对并网同步采用了软件锁相环和滑动DFT算法,提高了系统的稳定性和响应速度。为了提高电网适应性和系统效率,引入了前馈补偿机制和改进型MPPT算法。 适合人群:从事光伏逆变器开发的技术人员,尤其是对嵌入式系统和电力电子有深入了解的研发工程师。 使用场景及目标:①理解和实现高效的太阳能并网逆变器控制系统;②掌握关键算法如PWM生成、MPPT、并网同步等的具体实现;③优化硬件设计和PCB布局,提高产品性能和可靠性;④制定完善的量产测试方案,确保产品质量。 其他说明:本文提供的方案不仅代码结构清晰,而且附带详细的硬件选型和PCB布局建议,非常适合希望深入理解并网逆变器核心技术的开发者。
内容概要:本文提出了一种用于边缘集群升级的低延迟容器调度算法,旨在最小化物联网(IoT)任务的总延迟。首先,文章建模了在线容器调度问题,考虑了通信、下载和计算延迟。接着,提出了一种基于策略梯度的强化学习算法(OCS),该算法能够在线做出调度决策,充分利用移动边缘计算(MEC)的独特特性,如地理分布和有限的计算资源。实验结果表明,OCS算法相比基线算法可降低约27%的总延迟。 适合人群:对边缘计算、物联网和强化学习感兴趣的科研人员及工程师,尤其是从事云计算、网络管理和资源调度的研究人员。 使用场景及目标:①适用于需要优化边缘集群升级过程中容器调度的场景;②目标是减少任务执行的总延迟,提高系统效率和响应速度;③通过模拟实验验证算法的有效性,为实际部署提供理论支持。 其他说明:本文详细介绍了OCS算法的设计与实现,包括状态表示、动作空间、奖励机制以及训练过程。实验部分展示了不同节点数量和任务数量下的性能对比,证明了OCS算法的优越性。未来工作将致力于在Kubernetes系统中部署该算法。
试题:线性代数在几何中的应用.docx
3dmax插件
试题:组合数学与排列组合.docx
3dmax插件
内容概要:本文详细介绍了基于dSPACE平台的永磁同步电机(PMSM)矢量控制系统的构建与调试方法。首先阐述了dSPACE平台的优势及其在电机控制领域的应用背景,强调了其提供的强大资源和高效的硬件在环(HIL)测试能力。随后展示了具体的代码实现,包括电机参数定义、PI控制器参数设定、编码器读取、坐标变换(Clarke变换和Park变换)、PI调节器设计、SVPWM生成等关键技术环节。文中还分享了许多实践经验,如参数调整技巧、常见错误避免措施等。最后讨论了系统搭建与实验验证的具体步骤,通过实际案例展示了如何利用dSPACE平台进行有效的电机控制研究。 适合人群:从事电机控制领域研究的技术人员、高校相关专业师生、对永磁同步电机矢量控制感兴趣的工程师。 使用场景及目标:适用于需要深入了解永磁同步电机矢量控制原理并掌握实际操作技能的人群。主要目标是在理论基础上提高动手能力和解决问题的能力,同时熟悉dSPACE这一先进的实时仿真工具。 其他说明:文章不仅提供了详细的理论讲解和技术细节,还包括大量实用的经验分享,有助于读者更好地理解和应用所学知识。此外,文中提到的一些注意事项对于避免常见的开发陷阱非常有帮助。
内容概要:本文详细探讨了在MATLAB/Simulink环境下对交直流微电网孤岛系统中风机、光伏、蓄电池的能量管理和控制技术的研究。主要内容包括:1) 风机和光伏的MPPT控制,确保它们能在最佳功率点工作;2) 蓄电池的储能下垂控制,通过调整功率输出维持系统稳定;3) 双向AC/DC变换器的控制,实现能量灵活调度;4) 下垂控制策略的应用,使各发电单元合理分配功率;5) 能量管理系统的构建,协调各单元工作,提高系统效率。文中还提供了具体的MATLAB代码示例,帮助理解和实现这些控制策略。 适合人群:从事微电网研究的技术人员、高校师生及相关领域的研究人员。 使用场景及目标:适用于希望深入了解交直流微电网孤岛系统控制技术的人群,旨在提升对微电网的理解和技术水平,促进可持续能源的发展。 其他说明:文章不仅介绍了理论知识,还给出了详细的代码实现,便于读者动手实践。同时,针对可能出现的问题提出了实用的解决方案,有助于提高仿真的成功率。
内容概要:本文深入探讨了两相步进电机与EtherCAT协议相结合的高精度控制系统。首先介绍了状态机的设计,它不仅涵盖了电源复位、预运行、安全运行等多个阶段,还详细解释了PDO映射机制,确保控制参数能够高效传递。接着讨论了微步控制算法,利用三角函数进行电流矢量分解,提高了控制精度。此外,文章还涉及了对象字典配置、S型加减速算法以及硬件层面如FPGA的应用,展示了如何通过这些技术手段实现亚微米级别的同步精度。最后,强调了系统的模块化设计及其灵活性,使得开发者可以轻松地进行自定义控制算法的开发。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是对步进电机控制和EtherCAT协议感兴趣的读者。 使用场景及目标:适用于需要高精度、高可靠性的工业应用场景,如机器人手臂、数控机床等。目标是帮助读者理解并掌握如何将传统的步进电机控制系统与现代的实时以太网协议EtherCAT结合起来,从而提高系统的性能和可靠性。 其他说明:文中提供了大量代码片段作为实例,便于读者更好地理解和实践相关概念。同时,作者分享了许多宝贵的实战经验和调试技巧,有助于解决实际开发过程中可能遇到的问题。
还在为数据库管理、代码开发和系统优化的繁杂任务焦头烂额?这款软件就是你翘首以盼的 “开发界瑞士军刀”,全方位赋能,让开发工作事半功倍! 1.数据库深度管理,掌控全局 当数据库遭遇死锁,它能快速定位并提供详尽死锁信息,助你秒解危机;实时监控数据库链接状态、用户情况、端口号等,就像给数据库安装了 “健康监测仪”。从设置最大连接数、把控连接超时,到获取服务器 CPU、磁盘等硬件信息,再到内存、缓存、数据库大小的精细化管理,无论是基础查看,还是清理、收缩、优化等操作,都能轻松完成,让数据库时刻保持最佳性能状态。 2.代码开发神器,效率飙升 无需从零开始编写代码,无论是 netframework 经典三层架构,还是 netcore 的经典代码,甚至是高并发 api 接口代码,都能一键自动生成,大幅缩短开发周期。针对 SQL,它提供耗时优化策略,精准定位低效代码,还能保障事务安全回滚,避免数据错误。json 格式化、数据库连接字符串强优化,每一个细节都为提升开发效率而设计。 3.全栈优化专家,性能拉满 不仅专注后端,对 web 前端也能进行 css、js、html 压缩优化,减小页面加载压力,提升用户体验;在服务器端,深入研究安全防护,优化应用程序与缓存,构建牢不可破的安全防线。同时,它还是版权保护卫士,从图片到代码,为你的创意成果保驾护航,杜绝侵权风险。 4.智能解析,便捷高效 面对二维码、条形码,轻松实现解析,助力开发更多实用功能,满足多样化业务需求。 开发之路道阻且长,但有了这款软件,复杂难题迎刃而解,高效开发触手可及!快来体验,开启你的开发新纪元,让每一行代码都都迸发无限可能!
浅议教育信息化和信息技术教育的可持续发展.docx
Con北京站聚焦技术落地与前沿趋势,核心方向包括: AI工程化:端侧推理、RAG增强、多模态生成成为主流; 云原生深水区:混合云治理、湖仓一体架构、可观测性技术持续迭代; 安全与效能:大模型安全防御、研发流程标准化、平台工程价值凸显; 行业融合:物流、金融、社交等领域的技术跨界创新案例丰富。 大会为开发者提供了从理论到实践的全景视角,推动技术向生产力转化。
内容概要:本文详细介绍了如何利用MATLAB/Simulink构建电动助力转向(EPS)系统模型,涵盖从物理组件建模到控制算法实现的全过程。首先,通过自定义代码实现电机传递函数,确保模型的真实性和灵活性。其次,深入讲解了PID控制算法的手工实现方法及其参数调优技巧,特别是针对方向盘扭矩和路感反馈的特殊处理。此外,文章还探讨了回正控制的设计思路,通过传递函数模拟橡胶衬套的迟滞特性,使方向盘回正时具有轻微震荡,提升驾驶体验。最后,提供了详细的参数配置建议和仿真验证方法,帮助读者更好地理解和优化模型性能。 适合人群:对汽车电子控制系统感兴趣的工程师和技术爱好者,尤其是有一定MATLAB/Simulink基础的用户。 使用场景及目标:适用于希望深入了解EPS系统工作原理的研究人员和开发者,旨在通过动手实践掌握电动助力转向系统的建模与控制算法设计,最终实现高效稳定的转向辅助功能。 其他说明:文中提供的代码片段和参数配置均经过实际测试,能够有效指导初学者完成从理论到实践的学习过程。同时,强调了调试过程中的一些实用技巧,如通过监听电机声音判断过载情况,以及利用图形化界面进行参数调整等。
内容概要:本文详细探讨了固体氧化物燃料电池(SOFC)中十字型流道的设计及其在不同燃料(如甲醇、甲烷、氨气)下的仿真优化方法。文中介绍了如何利用COMSOL 5.6进行几何建模、流场设置、反应动力学配置以及热管理和多物理场耦合的具体步骤和技术要点。针对每种燃料,作者分享了仿真过程中常见的‘坑’和解决方案,强调了几何参数、边界条件、反应速率方程等关键因素对仿真结果的影响。 适合人群:从事SOFC仿真研究的技术人员,尤其是熟悉COMSOL软件的科研工作者和工程技术人员。 使用场景及目标:帮助研究人员更好地理解和掌握十字型流道在SOFC仿真的应用,提高仿真精度和效率,减少常见错误的发生。具体应用场景包括但不限于新型SOFC设计、燃料选择评估、反应机理研究等。 其他说明:文章提供了丰富的MATLAB代码片段和实用技巧,有助于读者快速上手并深入理解复杂的多物理场耦合仿真过程。此外,文中引用了多篇学术文献作为理论依据和支持,增强了内容的专业性和可信度。
3dmax插件013-相机微调器
3dmax插件