2016/5/21—2016/8/26,算起来在腾讯实习也有将近3个月了。
在学校,好不容易终于熬成了大师兄,走入职场却又是一个小菜鸟。
3年前走进大学校园,面对未知的未来满怀憧憬。3个月前走进腾讯,同样面对未知的未来,心中却充满了恐惧。
事实也是这样,在深圳的这3个月,内心经历了太多挣扎与痛苦——也许是因为从未如此独立过,所以常常感到无助。
一个人来到新的城市,每天回到住的地方,大多数时候舍友还没有回来,回来的时候我也差不多快睡了,而且在的时候也各自在房间里,多数时候话不过三句。而在公司里,俗话说三年一代沟,与同事的共同话题甚少,有共同爱好的人也寥寥无几。
人独处的时间多了,总喜欢胡思乱想。工作中碰到了很多不懂的东西,一个小问题(现在回过头来看也许其实不是问题了)折腾了一整天,而请教别人有时也只是得到一个十分模糊的回答,于是常常不知所措——因此也开始怀疑自己。
实话说,自己这3个月来一直在抗拒着深圳——房价贵,没有文化气息,节奏太快,朋友少……
回想起半年前为实习面试准备的那段时间,也并不轻松——桌上大块头的书籍堆积如山,每天不缺席的图书馆,整理了一遍又一遍的知识点,焦虑地等待着的电话。因为知道了路往哪里走,所以即使累一点,也大多是身体上的累。
9月份,虽然在学校实际上并没有什么事情了(每周只有一晚上的课),但还是请了一个月的假回来,也许可以思考一下接下来的方向,也许可以有比较充足的时间看一看书来补充自己的知识,也许希望借此换个环境缓一缓。虽然笑着跟朋友说是“回来度假”,但是自己心里知道这一个月绝对不能让自己过得太舒服。
人总是喜欢给自己找太多借口,在难受的时候,总想着逃避、离开。3个月来自己不知道胡思乱想了多少。然后又突然想起一位同是在腾讯实习并留用的前辈的话——不要在难受的时候选择 ‘逃避/离开’。
(http://blog.csdn.net/jnu_simba/article/details/42340405)
一个人总是需要有精神支撑的,而支撑我的是一个个素未谋面的博主。我一直认为自己记录的点点滴滴总会多多少少影响着一些人。至少我在这方面受益良多,每当自己毫无动力的时候,看到有的人勤勤恳恳耕耘着自己的博客,不断更新出精彩的内容,便顿时又动力十足。而每当觉得难受的时候,总会想起在某个博客中看到的一句话:不要在难受的时候选择 ‘逃避/离开’。没有哪一个伟人的事迹能够让我如此备受鼓舞,给予我鼓励的常常是一个个普普通通的人。所以自己也希望拥有一份坚持,坚持把博客经营下去——为自己,也为别人。
1.无论如何,在以后的日子里,你至少要坚持两件事情:学习和锻炼。在能力差距不大的时候,体力能够使你走的更远。其实学习和锻炼有很多共同的地方——科学的方法、持之以恒的心。
2.虽然工作中大多数时候是在写业务逻辑,而真正底层的东西都已经封装在框架里边了,但是要知道,脱离了具体业务,框架再牛逼也是白搭。你需要问问自己,你自己可以写出一个这样优秀的框架来吗?如果不能,你为什么不去学习它,并有可能的话可以去改造、优化它。
3.有太多人工作了十多年之后还是没有自己的方向,只知道自己的工作是敲代码——这是十分危险的,所以你需要明确自己的一个技术方向。比如精通一门编程语言——不仅仅会用,还要知其所以然。比如算法、数据结构——给你1亿个QQ号码,让你找出特定的10个,如果内存有限,你要怎么做?如果时间有限,你又要怎么做。比如网络——协议栈的原理是怎样的,通信是如何进行的,epoll为什么那么快。比如服务器架构——如何做到容灾、负载均衡。比如软件架构——如何去复用、并快速地应对需求的变化。比如计算机系统——如何更加稳定、省电。除了以上的工程方向之外,你最好还要学习一些最新的偏学术方面的技术——机器学习、数据挖掘……
4.凡事必有回复。也许你并不能一下子就得出结论并给出答复,但是必须要有回复,即使只是一个中间结论。至少把自己做过的努力以及得到的中间结论知会到对方,让对方知道你正在做这件事。
5.主动去推动。工作中每个人都有自己的事情要忙,当然都想着能不做的事情就不做。但是如果总是这样子,没有人来推动,完成一件事情将遥遥无期。另外,主动去推动的好处是,减少拖久了到后面忘了一些细节导致要重新熟悉的成本,不会在某个时候突然被别人追着走。
6.二-八原则。80%的工作是没有挑战性的、20%的人才能脱颖而出、80%的时间花在20%的代码上……
7.作为开发,并不能只关注开发,还要关注产品,多学习产品知识。
8.提问之前,先最大限度地去了解现状,并把要问的问题按点列出,尽量减少沟通成本。
9.动手之前,先明确目标。为了达成这个目标,我可以怎样来设计解决方案?
10.leader并不是了解每一个细节,但是大多数时候他知道谁熟悉哪个点。所以有需要了解的东西,可以麻烦leader搭个线,然后自己去沟通了解。
11.工作中关注的3个点:技术追求与进步、沟通能力、主动推动。
12.测试至少要占用开发时间的1/4。
13.提高自己的效率——加班绝对不是必要的。
14.想睡得好睡的香,就把代码越写越少,不断重构和复用,让代码更简单,风险更小。
15.不要怕提问,自己实在解决不了的问题,也许问一下别人就豁然开朗了。
16.时常检查:你今天的工作,是有意识地刻意提升,还是在自动完成?
17.面临任务时心理的3个区域:
舒适区——做能力范围内的事情;
学习区——稍微高出能力范围;
恐慌区——远超现有能力范围。
离开舒适区,保持在学习区。
18.持续获得反馈——反馈指任何让你知道自己现在做的有多好,以及距离理想目标有多远的方式。
《UNIX编程艺术》
《深入理解计算机系统》
《Linux多线程服务端编程:使用muduo C++网络库》
《深度探索C++对象模型》
《人人都是产品经理》