这一年,离开了简单美丽的校园,进入了纷繁复杂的社会,从一个”Student“转变为一个”Worker“。对于人生中只有一次的这种重要转变,注定对自己产生较大影响。有必要用文字来记录这种变化,既可以分享给大家借鉴,又方便以后寻找自己成长的记忆。
1. 工作
1.1 我的Team
Team去年12月份成立,一共10个人,除了包括我在内的两个新员工,其他都是工作三四年的老员工。老员工都已经有老婆孩子,与他们工作之外的交流比较少。主要工作是搭建自动化测试平台,经常可以玩DevOps各种比较流行的工具,这也是我越来越喜欢这个Team的重要原因。组员之间的关系比较融洽,有什么问题都可以抱着电脑过去问,他人都会耐心地尽力帮忙。这对我这个新人来说,是很好的学习平台。
对Team评价:
平等:想说什么就说什么,无所顾忌
互助:任务完成不了,大家会主动帮助
开放:紧跟技术潮流,玩转各种开源软件
分享:每周技术Session,乐于分享自己所知
上周收到邮件通知,由于组织结构的调整,Team将在元旦之后解散。非常怀念和大家一起工作、学习和交流的这8个月,也借此文纪念职业生涯中的第一个Team。
1.2 工作其实是一种态度
短短8个月中,经历了期望、失望、接受和喜欢一系列的心里变化。公司是知名外企,入职前心想着,各方面一定很不错。可是入职后的一两个月里,大多数发现的是不如人意的地方,令人大失所望。尤其是进去时的职位是Software Development Engineer,不久后就改成了Software Test Specialist,做的事情是开发自动化测试平台。之前以为测试没啥技术含量,整天做重复的测试,所以想走软件开发路线。在第一次跟Manager的谈话中,就直接说现在的工作与自己的期望有比较大的差距。不知道当时哪来的勇气说的这么直接,导致后面每月与Manager的谈话中,她都会问我实际与期望的差距有没有缩小。
后来不断告诉自己要放低心态,学会先去接受这份工作,这样才能够对它有一个客观的评价。进过一段时间的调整和适应之后,就慢慢发现前面提到Team的一些优点。于是就喜欢上了这份工作,并且积极地参与到分享和交流中,主动为整个Team贡献自己的全部力量。
1.3 业务逻辑才是代码的灵魂
刚入职的时候,就帮Mentor写些零碎的代码,然后由他去根据业务逻辑拼凑成Test Case。每次都是他直接告诉我该怎么写,我按照他的要求,基本上都能很快写完,而且自我感觉“良好”。突然有一天,Mentor被调到其他组,他之前的工作全部由我来负责。这就开始了一个多月的痛苦经历。由于之前都是按照Mentor要求写出代码就能完成任务,从来没有想过为什么这么写,也没有主动去了解所做事情的整个业务逻辑。有不懂的,直接过去问Mentor就行,这样的确给自己省了不少事。现在要跑通他写的代码,都是非常痛苦的一件事情。很多时候,并不是代码的问题,而是环境准备和参数设置的问题。由于对业务逻辑不熟,也不知道需要什么样的环境和参数。光跑通代码就将近花了一个月的时间,代码没写几行,主要精力是对业务逻辑进行”补课“。所以,不了解业务逻辑的程序员,不是好程序员。
1.4 机会是给积极主动的人
Leader无意中看到我在研究跟项目相关的TestNG技术,就把分配给别人关于TestNG的Session让我讲,我也大胆地接受了。开始以为是小组内部交流的Session,没想到是给整个大组四十多号人讲。人生中第一次在这么多人面前演讲,而且下面绝大多数人都不知道我这个刚入职3个月的新人是谁。由于准备充分,演讲效果最终还是得到了Leader的肯定。
随着项目认识的深入和全面,发现目前的项目实现存在维护难、扩展难、代码重复率高和复用性差等问题。通过深入研究对比目前的项目实现和TestNG的优势,发现充分利用TestNG优势就可以很好地避免这些问题,于是向Leader建议了这些研究内容。Leader让我先在一个模块中做尝试,如果效果好的话再全面推广到其他模块。后来的尝试结果让Leader觉得很不错,就在其他模块中也使用TestNG。自己逐渐成为Team中对TestNG研究最深入、比较具有发言权的人。
1.5 重构永无止境
每个程序员都想写出高质量的代码。由于项目进度、业务不熟、知识局限等因素,我们开始写的代码并不完美。要不断思考已有代码不完善的地方,发现一点,重构一点。后面的代码写起来,才会越来越轻松。如果发现了不合理的地方,而不愿花时间重构,这些代码会像一个定时炸弹,有一天会炸得你焦头烂额。随着基于它的代码越来越多,再去重构就会牵一发而动全身,需要很大的工作量。而不重构的话,不合理的代码会越来越多,今后维护的工作量会很大。这样会处在一个进退两难的尴尬境地。现在去看自己5个月前写的代码,发现只是为了实现功能,完全没有设计可言,都不敢相信是自己写的。如果你能够对之前写的代码进行重构,那么说明你的能力一定有所提升。
1.6 机会是给时刻准备的人
创业应该是大多数IT人的梦想,我也不例外。我一直相信我这一生一定会去尝试创业,虽然不知道什么时候,也不知道是否会成功,只为体验那种因激情和梦想而生的生活方式。入职5个月之后,工作基本上都已经上手,分配的任务都能很快完成,而且还会多出一部分时间。于是就利用空余时间为自己的创业梦做准备。9月份开始在缘创派上找创业项目,希望通过兼职创业的方式参入创业,了解创业流程的同时,又锻炼自己的技术。先后了解过几个项目,与一个网络金融和一个钢铁电商的项目详聊过,都因觉得不太靠谱而没有加入。
10月中旬与妹妹打电话聊工作的时候,发现她现在做的工作,挺适合出来自己单干的。就拉她一起创业,我负责技术和策略,她负责客户和业务,于是开始了一场“兄妹合伙人”。经过两个多月的准备,公司于12月中旬注册下来。初期的主要目标是稳定老客户,发掘新客户。这个过程中经历的一切,都是一次难得的体验,非常庆幸自己能够这么快有机会去体验。
2. 生活
2.1 旅游
毕业之前,接家人到杭州玩了一个星期,实现了三年的愿望。毕业后进行了半个多月的毕业旅行,一个人走过了南昌、长沙、张家界、重庆、成都、汶川、九寨沟,以行者心态经历路上发生的一切。国庆期间进行了一次山东行,夜爬泰山、游济南、玩青岛。10月下旬,在西塘领略了江南水乡之美。
2.2 骑行
中秋假期,两天环岛骑行了崇明岛,彻底挑战了一次体能极限。10月下旬,一天环岛骑行横沙岛,欣赏田园风光的同时,也尝到了最好吃的桔子。
2.3 锻炼
每周六晚上打两小时篮球。8月到11月,每周骑行三十公里,后来自行车被盗,就没再坚持。坚持锻炼,使身体一直都保持健康状态,这一年里都没生过一次病。
2.4 作息
依然保持着跟在学校一样的作息时间:从不熬夜,晚上12点准时睡觉,早上8点起床,中午午睡半小时。因此,有时候感觉跟学生生活没太大差别,只是工作内容不同而已。工作时间比较自由,基本上是朝九晚五,晚上有时呆在公司学习和写博客。真正工作时间比较短,所以工作时都一心一意,不聊天,不看网页,效率比较高。
2.5 做饭
之前完全不会做饭,上班之后才开始慢慢学。有时下班回来简单地做个晚餐,到周末尝试着做些不一样的菜。现在的厨艺大有长进,都有底气请同学来家里做客。今年过年回家,一定要让爸妈尝尝我做的饭,貌似他们还从来都没有吃过。
3. 学习
3.1 看书
工作之后需要学习的东西很多,没能实现“One Week, One Book”的目标,每月平均看3本书。一直想为看过的书写总结,没有足够的勇气和时间去坚持,只是为几本比较好的书写了一下。周末没有找同学玩的话,就会在图书馆泡一天,有一种重回学生时代的感觉。书的类型比较杂,一般翻到什么书比较好,就看什么书。
3.2 博客
工作之后才坚持写博客,发现博客对知识的系统化有很大促进作用,是技术积累的一种很好途径。每周都有几天利用下班时间,呆在公司研究技术和写博客。这一年里写了30篇左右,一篇被推荐到博客首页,访问总量达到1.1W,对自己都是一定的鼓励。
4. 2014展望
- 过完年后,接家人来上海玩一次
- 进行一次台湾自由行,或者西藏之旅
- 找到技术上的兴趣点,不断在该方向上进行积累