百度两年经历:从学生到程序员

标签: 职场分享 Github 九寨沟 百度 职场 | 发表时间:2013-05-01 14:15 | 作者:黄利民
出处:http://blog.jobbole.com

伯乐在线注:本文来自文章作者徐凯( @徐凯-鬼道)的投稿( 原文)。

———————————————————–

还未毕业就在百度实习了,两年多的磨练,有被磨平的棱角,也有精彩的收获;谨以此文献给在百度并肩奋战两年多的兄弟姐妹们。忘不了离职日那场特殊的告别午餐;忘不了这两年和你们的讨论、争论;忘不了脑海中你们的一个个优秀的细节。真想说无论“嫁”到何方,你们都是我的娘家人,我在天猫玩得蛮开心,请不要牵挂!

3月底,离职前的闲暇跑了趟蜀地,去九寨的山道上触景生情(照片扔在我的微博相册中 @徐凯-鬼道),整理出这么一篇,多是从细节总结出来的心得,不喜勿喷可轻拍,各种原因拖到今天才发上来。

大巴行驶在通往九寨的环山道上,望着奇险的山景,睡意全无……

团队

随着时间的推移,对于团队的理解在不断改变和加深。团队中一些有趣的现象,比如:

  • 误解往往来自于缺乏沟通;原来的团队中角色众多,因为不了解其他角色的工作而发生的不愉快经历是难免的,发生了就要沟通,大家坐下来聊聊天化解误会就好了;这种事情我经历过两次,大家平心静气地谈过后彼此更加信任,完全不会因为误会而交恶。
  • 团队间的合作分工是有讲究的,互相补充、制衡、各尽其责;在遇到紧急问题时也能表现出一贯的效率,最终推动问题的解决;这有点像《寒战》中的情节。
  • 曾问“技术和产品是什么关系”,答曰“合作的关系”,何尝是与产品,技术与任何角色不都是合作的关系吗?

合作

笔者在百度的两年经历中,作为团队中的客户端(web前端+移动app)tech leader有一年的时间,需要频繁和各类角色打交道,为了让工作更加平滑地开展,需要了解每一种角色关注的焦点,与他们密切地合作。在一个产品的生命周期中,依次会接触到这些角色:产品、设计师、前/后端、测试,之间还穿插着和老板以及其他tech leader的沟通。

 

产品

需求的发起人。这群人能说会道,砍他们的需求就和要他们的命一样;一般情况下“砍”不如“拆”,需求可以分期做,通常双方都能接受;特殊的情况需要说明下,漂亮mm带着水汪汪的大眼睛死死盯着你的时候,你的思路一定要保持清晰 :)

 

设计师

需求像水一样流到设计师这里。设计师一般分为交互和视觉;交互根据产品方需求提供交互稿原型,视觉在交互稿基础上丰富页面元素、配色、细节调整等;和设计师尤其是视觉要处理好退化的问题,真不是所有的设计师都能够理解“渐进增强,平稳退化”的概念,这个需要沟通;之前在圆角问题上遇到过阻力,通过和视觉的沟通,视觉最终还是接受了前端的退化处理(border-radius)建议。

 

前/后端

之前,前端无论与业务端后端还是服务器后端的合作都是很顺畅的;前后端之间应该尽量解耦,只通过规范接口通信是最理想的状态;以java环境的业务端为例,jsp和freemarker(fm)二选一,应该选fm,因为fm是模板语言,尽管仍包含逻辑控制,但在前后端解耦上优于jsp;再进一步,fm和整站ajax通信(js渲染页面)相比,显然选ajax,因为这样前后端的耦合又更小了。

业务系统中是否选择ajax需要根据业务类型来考虑,引用 ER框架中的一段描述:

整站式Ajax应用不利于搜索引擎抓取。故ER框架不适用于内容提供的WEB站点。

测试

见到过技术和测试掐架的场景,实际工作中这两块人的合作远多于分歧;而且必要的掐架是对项目负责的表现,大家吵完架还是可以坐一桌吃饭的。有一点应该注意,不要等到项目快结束了想到让测试介入,这样测试很被动,对整个项目的进度也可能带来风险;应该尽可能拆分手头的需求,安排开发计划,让测试能尽早介入,技术和测试能够交替完成各自任务是最理想的。

 

选择团队

  • 新团队机会多,但是可能会缺乏足够的指导
  • 新团队往往没确立在公司的地位,对个人晋升有可能造成影响
  • 老团队高手云集,如果没有好的新人成长计划,要想杀出重围也不容易
  • 总体来说建议在老团队学习,打下基础,寻找合适的机会去新团队闯一片天地

这些观点仍然很泛,请具体情况具体分析。

 

带新人

  • 带新人是老板对你能力的认可,是好事
  • 带新人对自己的能力提高是显著的,因为有一个机会把业务和技术的基础回顾一遍,给自己查漏补缺甚至是理解得更深刻
  • 安排好自己的时间,因为要想带好新人是要花精力的
  • 新人可能随时会打断你,要有忍耐力
  • 如果新人太多,应该考虑找人帮忙带,都揽下来的话对自己和新人都是不负责任的

结果导向

面试过的互联网公司,HR都会来上一句“我们是结果导向的”,当时很配合的点点头,以示理解(其实压根没听懂)。两年下来,我对结果导向的理解变成了:

  • 上下班时间可以自由,但是要干满8个小时或更多,因为活就在哪里,不离不弃
  • 半年或年度考核时,KPI可能是唯一的评价标准
  • 团队的结果不够好,个人肯定受影响,因为结果导向嘛

个人

承受压力

尽管笔者在学校的时候已经做了一些小项目,初到公司环境还是有点发懵,人家提的需几乎不加判断地接受了,导致初期工作量奇大,压力剧增。这个过程持续了1-2个月,高负荷的工作带来的副作用竟然是承受压力的能力变强了,好神奇!

仔细想想,压力还是可以细分的,各个击破:

  1. 高负荷工作量带来的压力;和主管客观地沟通自己的上限,上限可以慢慢提高,要知道高负荷也可能给项目带来潜在的隐患,比如累挂了
  2. 不熟悉的业务场景带来的压力;有时候看文档缓解不了压力,就找人多问,给你演示,然后自己先用起来,再去看文档就会好一些
  3. 从未接触过的技术带来的学习压力;和业务场景是一样的处理,只有理解了“是什么”,才能更快地掌握它
  4. 技术复杂性远超过心理预期产生的压力;冷静下来!看清复杂性到底是结构很庞杂,还是某个算法超难理解;如果是结构复杂理不清头绪,尝试下类似断点调试的办法,还不行的话找人帮忙看看;如果是算法太复杂,也务必找到资料或人详细了解算法的作用、使用场景、局限性等,一般上来就直接看代码是很痛苦的
  5. 还遇到一种情况比较特殊,代码中用了很个性化的写法(不知道魂淡当时怎么想的),而且对方已经不在公司了,最后放弃了,只能重写!这种情况比较极端,不过也给我们一个经验,代码还是通俗点比较好,耍酷可以在 GitHub找个项目去炫耀肌肉

透明度

坊间流传(原话找不到出处)程序有两类:一类是设计得足够简单明了,以至于一眼看上去就知道没有大的问题;另一类是设计得足够复杂,以至于看不出是否有问题。想说的是,程序设计越是清晰透明,潜在风险越小,后期维护沟通成本也越小;笔者曾经有过这种念头“设计写得太明白,人家一看就明白会不会太没深度了”,现在想想只能对那时的自己“呵呵”了。

 

推广技术

优秀的 程序员会推广自己的技术

最初不理解,写好代码不就行了吗,干嘛要搞这些?现实是:再好的设计和代码,没有人了解的话就会被扔进历史的垃圾堆!

对自己成果负责的话,就必须努力推动它被更多的人认可;这个推动的过程中往往又可以收到那些看似苛刻但却极为重要的建议;这样就走进良性循环中了。

推广的方式有:团队内分享、公司内部的技术刊物、外部的如博客、微博、微信、IT咨询站点……

 

经营博客

最初是觉得“好记性不如烂笔头”,但真正写起来后发现写博客其实能够深化那些停留在口头的结论;写博客让自己更有目的,会促使自己留心积累;功利一点看,无论面试新同学,还是自己被面,都提到了博客,好的文章是极好的面试材料。

 

开源

笔者写过一篇《 为何/如何看源码》;如果时间允许,又是自己感兴趣的可以考虑为项目贡献代码、文档、测试case、demo甚至是宣传推广,能做的不仅仅只是coding。

笔者之前是闲着的时候去逛 github,后来慢慢成了习惯,最后干脆把自己所有的 demo读书笔记、最后是 所有文章和开源项目都扔到github上;公司立项前也会习惯地上去找找思路,也避免重复造轮子。

 

最好 vs 最合适

这是一个取舍的过程,或者说是在理想和现实中寻找平衡点;商业项目往往非常看重时效性,一种原因是合同已经签好了,未按时完成就是违约,所以在这种压力下很多时候就需要精简设计,使用最合理的方案来做。

但是好在有“迭代”。

 

迭代

不同类型的公司,迭代周期差异巨大,比如电信设备行业会是1年至3个月,而互联网公司通常会是1个月至1周,甚至是按天发布;很多迫于时间做出的折中方案往往可以在迭代中改进。

迭代的前提是产品本身允许增量发布,一个有趣的对比是:计算机芯片和互联网公司的门户,显然门户更适合增量发布;为什么需要迭代呢?看到过这些原因:

  • 产品需求太庞大;一次发布的话将会把开发周期拖得很长
  • 实验性产品;丫不知道下一步要做什么,先扔个版本出去看看市场的反应

迭代需要一个强有力的质量保证,单元测试和自动化测试都是保证质量的有效手段。

 

技术 vs 工具

比较认同《 前端开发的工程之美》中技术和工具的对比:

对待技术和工具,技术自然是最基础的,工具是照着“说明书”就可以很快上手,对工具不必太执念,否则会很快遇到成长的“天花板”。

解耦

书里无数次提到要“解耦”,心想联系得紧密点有什么不好。现实的项目中,尤其是在快速迭代的环境下,要是耦合非常紧,一个小改动就可能拉出一堆回归,等着哭吧。

大巴缓缓开进了九寨景区,望向远方灰白的山脊,似乎看到了山脚下那五彩斑斓的海子……

相关文章

百度两年经历:从学生到程序员,首发于 博客 - 伯乐在线

相关 [百度 经历 学生] 推荐:

百度两年经历:从学生到程序员

- - 博客 - 伯乐在线
伯乐在线注:本文来自文章作者徐凯( @徐凯-鬼道)的投稿( 原文). 还未毕业就在百度实习了,两年多的磨练,有被磨平的棱角,也有精彩的收获;谨以此文献给在百度并肩奋战两年多的兄弟姐妹们. 忘不了离职日那场特殊的告别午餐;忘不了这两年和你们的讨论、争论;忘不了脑海中你们的一个个优秀的细节. 真想说无论“嫁”到何方,你们都是我的娘家人,我在天猫玩得蛮开心,请不要牵挂.

百度急了

- - 创业家杂志社
来源: 21世纪经济报道 作者:汤浔芳. 2013年1月,百度CEO李彦宏在百度2012年表现中“公司系数”一栏的打分是0. 在不少员工看来,这是Robin(李彦宏的英文名)对百度在“移动互联网”上的表现不满意. 这个史无前例的差评让不少员工开始在网上吐槽年终奖会不会大幅缩水,因为公司系数占年终奖的30%.

该死的百度

- 菡萏 - Pure Pleasure - Reborn
之前,百度把收费的医药、医院广告链接掺杂在搜索结果里,被央视点名批评(其实谁都知道它们都心怀不轨),但百度是不怕的,受伤的是民众、草根,发不出声音——于是此事不了了之(后来的结果是李彦宏在央视打广告、上春晚). 再后来,百度封杀淘宝联盟的40万站长,很多小站被迫停止运营;站长们跑到百度办公楼前抗议,但百度是不怕的,因为这些站长还是发不出声音(网站都开不下去了,只能亲自示威)——于是此事再次不了了之⋯⋯可这次,百度惹到作者头上了,别管这些作者质量是否良莠不齐(韩寒、郭敬明、贾平凹、王三表等等一并出现在声讨百度的队伍中),但他们是天然的“自媒体”,百度开始以为没事儿,两三天下来才发现捅了马蜂窝⋯⋯.

百度献礼门

- Shawn - wsmlby的Plog
来源: 温广阳KinKer的日志. 如果你以为我单指在百度里面输入“建党”就会看见的红旗赞歌的话,你就大错特错了. 本来这种媚上的传统也算是几千年文化的一部分了,无需大惊小怪,发这样的状态,估计只会被认为是抓住一切机会讥讽社会主义伟大建设的行为,所以我看见梅姐也同瞎就很开心地继续复习了,但是师傅说他献了整整10束花才发现没有献花上限,令我心里陡然一动.

Dropbox的创业经历

- ZFreet - 阮一峰的网络日志
上月底,美国旧金山有一场演讲会"Startup Lessons Learned". 许多创业公司聚在一起,分享经验教训,其中就有Dropbox. 它是一家云储存公司,最近很红,你可以用它在朋友之间、电脑之间共享文件. Drew Houston是这家公司的CEO,在会议上做了主题演讲. 演讲的视频和PPT,都已经放上了互联网.

App Store 被拒经历

- - 99css
链接堆砌,苹果建议用HTML5来做. UIWebView 嵌页面片,苹果建议让用户通过浏览器访问,比如爱知乎,开始几个版本通过了,后面的更新一直没提交上去. 屏幕坏点检测应用,苹果说会误导用户,未上架. 登陆账号有两个字母写反了,改正后通过. 因远程服务器反应慢,苹果的人估计没耐心等,就说有bug给拒了,重新提交一份通过.

百度身处漩涡

- 丁丁 - Solidot
《南方周末》报道(官网找不到这篇文章,新浪和腾讯等门户有转载,截图一,二)了身处漩涡的百度及其CEO李彦宏. 文章引用互联网观察人士程苓峰的话:搜“新三国”,第一个显示是奇艺网,这是百度投资的. 搜“招商银行股价”,头两个显示都是和讯网,这是百度的战略合作伙伴. 搜“小游戏”,第一个是百度自己的小游戏页面.

百度浏览器评测

- 溪梦 - 月光博客
  百度今年在客户端方面的动作不断,目前已经推出了百度输入法、百度电脑管家、百度安全卫士、百度影音,百度压缩软件,而现在,百度客户端领域的重要产品百度浏览器已经进入了测试阶段,不久后将正式对外发布.   百度在其公关稿里称:“百度浏览器具备以下几点特性:第一,整合百度平台的热门应用,使用户一键触达;第二,采用沙箱安全技术将用户电脑与病毒木马隔离;第三,融合百度搜索技术的智能地址栏;第四,界面设计简洁易操作……百度希望通过浏览器的改进,推动互联网的良性发展,吸引更多的用户来使用互联网,增进使用的频度与时长,最终推动搜索这个媒体平台的发展和巩固.

评论:百度当自重

- zhipeng - cnBeta.COM
“百度一下,你就上当”,以此作为关键词段,输入百度搜索引擎,瞬间即显示约63.5万条相关结果. 这8个字源自其宣传口号“百度一下,你就知道”. 然而,最近央视曝光百度存在收钱推广虚假网站的问题,这口号便被网友改编了. 百度搜索界面的右上角,总有一块小广告:“来百度推广您的产品”,其后是咨询热线和网址.

在百度读懂群众

- qw - 发现新闻 farxian.com | 最新新闻
在百度读懂群众 [子强]在百度读懂群众 [子强].     ■微言◎子强 南都评论编辑.     广电总局最近发布了“限娱令”,说现在的电视节目娱乐过度,“群众意见很大”,要压缩. 看了网友的反应,我的结论是现在上网的都不是群众,因为他们几乎无一例外地对“限制娱乐”而不是“娱乐过度”意见很大,既然不是群众,可能都是干部吧.