精神状态: Confused
阿里和网易都已开放简历投递入口,本以为招聘季9月才开始的我,着实被震惊到了。
我还没准备好呢,远没有准备好。
这次日志,主要是想写三点。实习经历。接下来的计划。最后,自已在未来应该维持的心态。
关于实习
当初在两个offer之间犹豫了很久,一个是做C++开发的D公司,另一个是做Java开发的E公司。D公司保证能够参与到真实的大项目中,但E公司的名号实在是大,况且我希望转向Java开发,因此最终选择去E。
我希望将重点转向Java的原因是这样的,首先阿里做分布式开发的语言是Java,那里是我的目标。其次,我觉得Java语言的开发效率较高:3月份为paper的实验写代码时为了效率选择C++,但资源的释放,第三方库(线程池,大数)的引用把我搞的很惨,被这些东西弄晕后发现自己对整个代码的架构都把握不好了,人的精力有限,往往会出现鱼与熊掌不可兼得的问题,被细节磨得死去活来后可能会失去对架构的把握。做完试验后我感概颇多,我师兄对我说,重点是把项目搞完,别人一周做完的工作,你花一个月完成,代码写的再好,效率再高又有什么用呢。现在,我觉得这真是大实话,做事都是为了交差,老板们从来不会关心细节,只看结果,在这种情况下,将任务更快的完成才是重中之重。身边有好多同学对C++有一种崇拜心理(包括我),光是C++里的各种黑科技(技巧)就足以把我们迷得神魂颠倒,于是我们都迷失了,忘记了重点不是代码本身,而是写代码的目的。作为对比,显然Java语言就容易的许多,且有大量的库可以使用,自己只需要专注于逻辑,做java开发真心的感觉到 life is easier。
E公司是外企,伴有外企特点。令我印象最深的是几乎没有员工加班(没有加班的IT公司算是IT公司吗)。我所在的组只有5~6个人,实习生就我一个。来了这边接近一个月,只做了一件事,并且这件事的重点是搭建环境,带有少量的编程工作,大约一周完成。其余的时间,唔,太闲了,问组里的同事要过任务,他们表示不要着急,现在组里不是很忙。于是,只能再拾起C++,思考自己的退路。
马上就要到招聘季,实习经历对我意义非凡,而目前的形式却对我极其不利。我不禁感叹,为什么自已一出手,就会选那个最差的。回想自己挑的大学,研究生的实验室,以及现在实习公司,唉。我知道环境对人的重要性,更了解环境对我的重要性。我走到今天就是优先选择对我有利的避免接触对我不利的人和环境,我知道自己没有make everything out of nothing的能力,所以一旦环境对我不利,我就本能的有种心慌的感觉。现在,我真的感觉自己慌得要死。处处小心,还是走到了人为刀俎我为鱼肉的境地,实习招聘季已过,我的选择已不多,况且马上8月了,换家公司又能如何呢,刚过来我又怎么好意思走呢。我想,目前唯一能做的,就是为自己的未来做个计划。
关于计划
下周末约了师兄吃顿饭,希望了解下找工作具体要做的事和要看的书。其实这些东西我都比较熟悉了,找师兄只是为了心里安慰。当初找实习的经历可谓惨败,稍微总结下:网易游戏,C++基础知识,智力题。阿里,笔试题,概率题。eBay C++基础知识,设计模式,项目经历。腾讯,项目经历,网络编程,数据库编程。百度,C++基础知识,Linux基础知识,算法。按照实习的重要性排序,项目经历,C++基础知识,网络编程与数据库,算法,智力题。
若干资料:
编程之美
剑指Offer
leetcode
程序员面试宝典
effective c++
more effective c++
YFS总结
Paper实验
实习经历
实习遇到的所有问题
若干数据结构,trie, 蓄水池,线段树,后缀数组,KMP
对于上面的资料,我也没法估计多久能够熟练掌握,只能压榨自己的空闲时间,尽可能早的完成上述内容。
关于心态
最近的工作不如意,已经影响到了我的心态。每当这时,总要列一下计划,明确下自己未来,找回迷失的自己。
我还记得考研那会,可能都11月了,我见到隔壁班的同学专业课还处于看课本的阶段,于是和他聊了聊,建议他加快速度。但他的回答却令我记忆犹新,他说不需要着急,考试之前能复习完就OK。我一般看资料,习惯是先过一遍,再过一遍,最后再来一遍,这样心里才不会慌。复习时,假如有我不了解的内容摆在我前面,我就会不踏实,所以就培养起来少量多次的学习方法,这种方法的好处是能让我踏实,但缺点是经常会给自己造成以全部复习过了的假象,在后来的复习中会越来越放松。于是我认为,那些敢只复习一遍或两遍的人,心理素质肯定足够强大。
对我来说,既然天生无法拥有强大的心理素质,那就通过后天的努力尽力弥补,我弥补的方式是列计划,做总结,尽力让事态的发展把握在自己手里,而不去考验自己的心理素质。
厚积薄发
高中时,有个同学说到厚积薄发,而这个词在目前(或者说未来)尤其适用,这是因为它能让我保持平衡的心态。我做了大量的算法题,熟悉分布式系统的一些细节,了解C++的黑科技,也有少量的项目积累,但目前的感受是完全用不上。我甚至幻想哪天boss对我说你是否了解XXX,然后我自信的说,Yes, I do(从中可以看出年龄的增长给人带来的心理上的转变,十年之前,我幻想的可不是这些东西)。
从过去的经验来看,幻想的东西几乎是不可能出现的,为了不能发生的事占用真实的时间是很不划算的,而我又不能否定自己的学习与努力,因此我打算用厚积薄发来解决这个矛盾。我尽量主动的获取知识与机会,但不会奢求这些行动能够得到什么实际的收益。这不仅是我当前的心理策略,也是我未来的。
All Default
上面说了很多C++的不是,但实际上我对语言本身的关注度是不多的。目前,无论是C++, Java, Python在我看来只要能完成任务就是candidate,哪个好用就用哪个。只不过目前鉴于求职的压力,必须选一个作为主修,并且这个选择还影响到未来的自身发展。Default的意思是尽量让脱离自己主观的看法,默认使用前人的建议。这和效率有关,我经常会做出改变再改变最后回到原点这类事,折腾了很久,浪费了时间却没有产生有益的价值。比如去搜索某一个资料,然后在搜索结果中发现了另外一个有趣的事,链接到那件事,看个究竟,再回到原来想要搜索的资料时已经过了很久。过去的经验告诉我,当知识在真正要用的时候学起来效率才最高,有些东西本身可能很有价值,但假如它与当前无关且当前我又有任务在身,这个时候我要做的就是尽最大可能早点完成任务,不要另生枝节。
这篇日志对我来讲,最重要的是厚积薄发和计划部分。目前实习,我有些不满的情绪,认为自己大材小用,认为自己的选择不正确,为了避免不愉快的事发生,我应该告诉自己发挥主观能动性,尽最大可能去做的最好,即厚积薄发。计划关系到接下来的找工作,从找实习的经历看来自己又很多不足,因此非常需要一个正确的导向来明确未来要做的事,上面所列的计划其实对自己的要求已经很低了,但目前已经7月底,我能做的也不多了。
回顾自己的上半年,总体来看结果不错,发了paper,找到实习,两件大事都完成了。但缺憾的地方又实在太多,paper的质量不高,出来实习又影响了与实验室其他老师,同学的关系(不是我的问题,但要由我来承担),实习内容神坑等等。从未来看现在,这些都是小事,包括paper,与同学老师的关系,实习等等,唯一重要的事就是接下来的复习和找到的工作。
“There is no solace above or below. Only us... Small, solitary, battling one another. I pray to myself for myself.”