【百度实习日记】Day 3: 心之所向,必有远方

毕竟百度

没有来百度之前,可能真的太天真了。整天关注着所谓的互联网行业信息,依靠对中国互联网行业浅薄的理解,可以随随便便说BAT怎么不好怎么流氓怎么强奸用户并且让用户无可奈何,也曾傻逼似的以为BAT这种公司的程序猿们做的工作和大学里面做的写个app写个网站写个所谓的产品类似,想着互联网的大公司也不过如此。大言不惭是因为太过于无知,但是很多人又没有很好的办法让这种无知减少,所以很多人只能是不明真相的观众然后随着大流变得愚昧而且并不觉得没有独立思考不向前奋斗有什么不好。我只是很幸运,幸运在大学没有毕业就能够有机会感受顶尖互联网公司的工作状态,真的很惶恐。百度实习第三天,请允许我用自己的视角谈一谈顶尖的互联网公司究竟是怎样的。

百度是绝对的技术驱动型公司,是顶尖技术人员的天堂。数不清的内网技术资料,顶尖的技术培训,完善的运维监控系统,功能强大的内部ERP系统,先进的项目管理系统,各种免费的开发测试机器,以及随处可见的各种牛人。毕竟百度,毕竟百度,毕竟百度。只有老师才会告诉你这个会考这个不会考,而在真正用到的时候你必须很快的去学习并且学会。压力来自哪里?来自轻松的工作环境,来自很用心的各种福利,来自随时随地可能收到的邮件,来自各种培训会,来自新人串讲,来自各种Wiki,来自公司自己开发的系统,来自同事随口一说的上亿条数据的分库分表性能优化,来自开发测试同步,来自优雅的代码管理机制,来自随处可见的专注敲代码的各种RD。压力会让人成长的更快。

老听到有人会说我们现在都在使用外国人开发的框架之类的,为什么我们中国人就开发不出来?还会说项目管理在软件开发领域发展的过于缓慢,程序猿的成本太高。如此种种,都是事实。但是在百度,都不是。不是我们中国人就比外国人差就开发不出来牛逼的框架,只是,我们不知道而已。我不否认其他公司没有自己的开发框架,但是我敢说百度的各种系统各种框架绝对是国内领先的。不要说自己是什么方向的程序猿,真正的RD是不会纠结什么语言什么工具的。做为新人RD,需要学习的真的很多很多。中国的互联网行业很大程度是由百度的技术推动的,而这些牛逼的人物可能随时在我的眼前出现。有时候压力是来自外界的,有时候压力是来自内心的。受到的伤害完全不是一个等级。还是太年轻。

要随时保持谦虚的姿态,学习,从来都不可耻。

要有梦想,否则会被来自内心的压力击垮,那就没有人能救的了了。

要能做好事儿, 不要辜负别人对你的期待,并且承担自己肩负的责任,遇到错误不要逃避,为自己负责,为别人负责。

善待自己,善待他人。

不要浪费时间在无所谓的事情上面,保持积极的状态,随时迎接可能到来的挑战。

做自己,切勿迷失,心之所向,必有远方。

刘凯宁
20150529

Share

【百度实习日记】Day 2: 新人RD的一天

RD,Research & Development,在百度指的是研发工程师

今天算是第一天正式上班,昨晚离开公司的时候导师说明天10点之前到就可以了,但我还是觉得早点去会好一点,于是我7点半就起床了,坐上公交车的时候是8点10分,经过6站公交到达百度大厦,然后再乘坐百度的专用巴士到达文思海辉大厦,坐到我的位置上应该是不到9点10分左右。导师、经理以及有见过面的其他同事还木有来,但是二面面试官磊哥看样子已经到了很久了,过去和他打了招呼,然后去接了点水,然后就会到自己的座位上,打开电脑,看看有没有新的邮件,突然想起今天是周四,我要把前几天收集到的简历发送给HR姐姐。发送以后又突然想起今天火箭和勇士还有一场比赛,不过我打开的时候火箭已经落后10分了,估计今年没戏了,不看了。打开昨天导师发的新人wiki,又看了一下各种需要注意的事项,然后就开始看整个贴吧使用到的技术框架资料。那是一个MVC框架,在内网上找到了很多资料,又找到了经理曾经有关这个框架的教学视频,大概一个多小时的长度,我大概看了40多分钟吧。基本是请求是OK 了,但是还没有上手代码,正好饭点到了,我先去吃饭,下午尝试着写写代码。吃完午饭下楼转了一会儿,然后去领了几个需要用的文具,然后就又回来继续看文档。导师给我安排了一下近期需要完成的相关任务,然后给我讲了一下有关开发测试环境的问题,使得我能够查看到与线上贴吧几乎一样的一套系统。看代码,看文档,尝试着写了写简单的模块,一下午就那么过去了。吃完晚饭以后我尝试将自己写的代码部署到沙盒上面,但是却一直不成功,可能是我依旧没有真正掌握那个框架的基本路由分发原则。然后就8点20了,我收拾东西,像导师道别,去楼下等百度专车,回到百度大厦,然后坐公交车,回到住的小房间。

百度不打卡,这意味着你可以有一个弹性工作时间,所以你需要有良好的自控力。

百度有完善的内部资料库,你可以找到很多很多的学习资料,这意味着你遇到的几乎所有的问题都会有答案,所以你需要好好学习。

百度有很完善的邮件交流机制,和内部 IM 交流软件,这意味着你可以快速的收到各种各样的信息并且认识各种大牛,所以你需要主动去与人交流。

百度的每一个RD都会拥有一个云主机做开发测试使用,并且拥有各种各样的开发环境,这意味着你能够用手里的资源做几乎你想做的任何事儿,所以你需要充分利用来之不易的资源,做真正能对自己有意义的事情。

百度是一个崇尚技术的公司,这意味着你在百度工作或者实习就必须要有过硬的技术本领,所以你便有了很大的压力。

因为放松,所以给了你最大的空间,只需要看最后的结果。压力好大。

新人RD,我还有很多很多东西不会,还有很多很多事情不懂,还有很多很多的百度文化没有体验,还有很多很多的技术没有见过,路还很长。

“招最好的人,给最大的空间,看最后的结果,让优秀人才脱颖而出”。这篇文章分析的很不错。

路还长。

刘凯宁
20150528

Share

【百度实习日记】Day 1:梦想照进现实

2015年5月27日,百度入职第一天。

今天北京天气不错,我起的很早。早晨很开心。但是事实上昨晚我并没有睡的很好。不到10平米的小房间,一个还算不错的衣柜,一个全新的电脑桌,还有一个暂时没有被子和枕头的床,这就是我今后很长一段时间每天晚上的归宿,于是昨晚睡到半夜不出意外的醒了,原因是冷。不想说第一天来北京那天晚上躺在一个没有电没有网没有水的大房间里放肆的大哭了很久,也不想说北漂蜗居蚁族这些原本以为会离自己很远的词汇现在全都汇集到了我身上,我想说的是我相信今天即将发生的事情会将那些负能量全都抛到九霄云外。梦想照进现实,大致如此。所以我在起床后预料到了这一点,所以早晨很开心。

然而现实却是更加让人惊喜。百度大厦,8点20入职,我7点50到。领到标记了今天入职的贴纸以后真的很开心,这意味着,美好的事情马上就要发生了。今天办理入职的正式员工和实习员工目测有200多人,我是这样的特殊,却也是如此的平凡。二八定律永远是正确的:我可能是大学生中拿到百度offer的那20%,但是在今天入职的这些新同学当中,我只能是那普通的80%。随着大部队进入会场,找到写着自己名字的位置坐下,听台上的姐姐们讲各种入职事项,感受着来自百度最真实的关怀。毕竟大公司,准备工作做得很棒,每一个人一台电脑,一套入职资料,一套办公用具,还有一瓶水。有时候小小的细节就会让一些事儿变得更好。交了实习协议,领到自己的工作牌,坐车去办公区,见到我的导师(一面面试官)和我的经理(三面面试官),找到自己的办公桌,放置好自己的工作标志牌,于是我真的成了百度的员工。一早晨都是恍惚的,那一束光真的照到你的心中时,你会不敢轻易相信那就是所谓的梦想。然而这都是真的。

我仿佛被抛入了无尽的大海,跟随我的只有一条小船,我看到前方有一片陆地,于是奋力划着小船过去,却发现那仅仅是一座小岛,远方有一片看起来更大的陆地,我想我不能一直停留在这座小岛上,前方的水更深,风浪更大,我不确定自己能不能到达那块更大的岛屿,但是我不怕,天空中有好几颗很亮很亮的星星在为我指路,我没有理由放弃。于是我依旧固执的划着我的小船向前。

保持一颗前进的心。

刘凯宁
20150527

Share

【非技术】写在上京的前夜

去年魔都,今年帝都

其实一直想留在南方的,或者说,我还没有做好上京的准备。明成祖迁都北京,由此帝都一直延续了六百多年,然而在高考以后,远离帝都,却是我一直的信念:我怕以白身进京,因为本来可以有更好的身份的,比如说某某大学的学生,可是并没有。如今上京,以 Intern of Baidu 为名,算是有一个合理的理由吧。于是,北京,我要来了。

星城天气多变,现在正值梅雨时节,找个机会逃离,也算合情合理。CSU最近也是多事之秋,贴吧已经沦陷,朋友圈开始愈演愈烈,知乎也已经被污染。关于那些事儿,我会严肃认真地讨论一下,但不是现在。在这里只是想多说一句:太多太多的大学生并没有真正的成年。真相,事实,舆论,谣言,网络暴力,键盘侠。做好自己的事儿,多读书,好好活。

去年离开的前夜,电脑系统崩溃了;今年离开的前夜,电脑屏幕坏了,500块大洋哇!不过我一直相信发生好事儿之前,一定会发生一些不好的事儿,这样才能让好事儿的喜悦感爆棚。所以我很期待明天抵京会发生什么事儿。

北漂。不对,伪北漂。没关系了,挺好的。

再见,星城!

你好,帝都!

刘凯宁
20150524

Share

【系统分析与设计】用例规约

用例规约

  • 前置条件和后置条件
  • 涉众利益
  • 基本路径
  • 扩展路径
  • 补充约束

前置条件和后置条件

前置条件:用例开始前,系统需要满足的约束,用例起点

后置条件:用例结束后,系统需要满足的约束,用例终点

用例是系统给出的一个承诺:在满足前置条件时开始,按照步骤进行,系统就能够达到后置条件

后置条件分为最小后置和成功后置

最小后置:即使用例失败,系统也需要满足的约束 成功后置:用例成功以后系统需要满足的约束 
  1. 前置条件和后置条件必须是系统能够检测到的
  2. 前置条件必须是用例开始前系统能够检测到的
  3. 前置后置条件是约束,不是动作
  4. 前置后置条件要有系统的味道

涉众利益

相同的目标,但是有不同的涉众利益

醉酒法找涉众

执行者

上游资源提供者

下游后果接受者

信息的主人

依据重要度给涉众排位

关注前排的涉众

涉众利益描述

不同的涉众利益需要分开写出,优先照顾前排涉众的利益,适当照顾后排涉众的利益

基本路径

用例有一条基本路径,若干条扩展路径

基本路径是指能代表用例核心价值的路径,单独写出基本路径,目的是突显用例的核心价值

  • 交互设计四部曲
    • 请求
    • 验证
    • 改变
    • 回应
  • 用主动语句理清责任
  • 主语只能是主执行者或者系统
  • 使用核心域概念
  • 不要设计交互设计的细节
  • 不要写系统不能负责的事情

扩展路径

扩展路径:基本路径上系统要处理的意外或者分支

扩这路径发生的地方:

  • 执行者的选择
  • 系统验证
  • 关键步骤失败

选项不等于扩展!

补充约束

  • 字段列表
  • 业务规则
  • 非功能需求
    • 可用性
    • 可靠性
    • 性能
    • 可支持性
  • 设计约束
参考资料:《软件方法(上)》
感谢潘家宇先生!
刘凯宁
20150521

Share