mskitten

又惘又怠

工作两年的五个感想

现在是2018年4月,掐指一算,还有三个月我就工作整整两年了。刚工作的时候,虽然工作上压力不大,但是因为对工作有一些地方不太满意,加上对未来很迷茫,每天都很压抑,动不动就想哭。幸运的是我遇到了一些愿意指点我的人,而我自己也没有放弃努力。如今我还没有离开我的第一份工作,但是我的心境已经和两年前有很大的不同。有时我会觉得,比起技术上的成长,更有价值的是心态上的改变。

感想一:不要逃避业务逻辑

刚来公司的时候,我进了一个新项目组,组里简直是百废待兴,什么开发流程、代码review都没有,连需求都常常缺失。组里除了我和两个印度外包全部是manager。PM是开发新转过来的,他转的时候有点不情愿,所以并没有把精力放在合理安排任务这件事情上,于是我作为一个刚毕业、非科班的女生,“理所当然”地被分到了一堆杂活,比如理文档、刷机等等。而当我看到印度人写出的所谓核心代码时,被其中混乱的逻辑和大量的冗余代码深深震惊了。那时我觉得,组里不像我想象的那样,有资深的技术大牛愿意教我,有严谨的code review流程可以让我慢慢学习规范自己的代码。就连Java编码的规范都没有。于是,出于对自己发展的考虑,我每天都尽量迅速地处理完那些重复性的事情,挤出时间来看编程方面的基础知识,希望赶快跳槽到一家纯软件的公司。我认为已有项目的业务逻辑对我来说并不重要,于是尽量避免花时间去学习。但是我虽然每天都在看书做笔记,却有一种深深的虚无感,因为单纯的看书并没有给我带来实际的编码能力的提升,我只是在分析问题的时候多了一些思路而已。

后来来了一个小伙伴呆毛,使我终于不再孤军奋战了。呆毛和我经历了大致同样的阶段,我们在一段时间里互相鼓励着早日跳槽。但与我不同的是,呆毛负责了一部分核心代码的开发,并从测试中发现了已有代码框架的一些重要问题。他常常跟我讨论这些问题,这使我不得不去接触和理解一部分业务。在这个过程中,我突然发现我一直纠结于技术本身,但技术其实只是工具,抱着书本、脱离实际项目去学习技术是很不明智的,因为许多技术是为了解决问题才存在的。如果没有亲身经历、思考过这些问题,或许永远都不会真正理解一些技术。

就像我十分喜欢的一个博主左潇龙有一次所说的:

“技术层面的东西更多是为了辅助代码层面,让你能写出更好的代码。不要忘了初衷,沉迷于技术的海洋无法自拔。”

有了这种心态上的转变,我也开始去了解一些业务逻辑,发现并不像我想象的那么难。而且,参与这些业务逻辑的开发和debug,使我在一定程度上拥有了宝贵的项目开发经验。这种经验是自己看书时完全无法体会到的。更重要的是,在项目中遇到的一些问题使我对那些相关的技术产生了好奇心,促使我更有动力去看书学习,变成了一种正向反馈。

感想二:总会有方法做出改变

像我所说的那样,我因为组里没有成熟的开发流程和code review体系而不想留下,但这些东西其实是可以改变的。我以前认为这些东西不关我的事,应该留给管理层去操心;但是由于这些体系的缺乏,组里的新人commit了许多未经review的代码,影响到了我自己的模块,导致我花了大量的时间排查错误。于是我最终认识到,在这件事情上懒惰的最终受害人是我自己。

没有开发流程,就要求老板建立开发流程;没有code review,就自己搭建review工具;如果公司搭建流程的手续太繁冗,就自己先搭一个非官方的工具用起来——要做出改变,总会找到方法。

这是我去马来西亚子公司出差的时候学到的。那里的架构师对我说,她刚进组的时候也没有review工具,后来她不得不催管理层把工具买下来搭好,因为如果不通过reivew把组里的那些新人带起来,教他们用OOP和平台化、可扩展的思路去写代码,项目到最后就是一个pain in the ass,到时候还是要她加班去收拾残局,而且是孤军奋战。

我现在在尝试自己搭建gerrit,但是由于缺乏web的相关知识,进度非常缓慢。不过,当我想到我搭建成功的那一天,组里的新人再也不能随便改架构、改代码,而是要通过我们几个老员工的审核,而且我们还可以通过评论的方式去带新人,就觉得一阵开心。

感想三:与同事变成好朋友

我出差的时候,发现子公司的程序员们关系十分融洽,每天的中饭、晚饭都一起吃,生活中也是无话不谈的好朋友。而在我现在的组里,大家有一点相互猜忌,气氛很压抑。我发现工作气氛这件事情说起来很飘渺,但对一个人上班的动力有很大的作用。如果你知道早上会在公司见到一帮朋友,可以跟他们聊工作中不顺心的事情,遇到问题也可以请求他们帮你解决,可能会更喜欢去工作。

当然,跟同事交朋友这件事要靠运气,有时候很难说付出100%的真心就能收获100%,所以也需要我们有很多为人处事的智慧,在某些时候要适当地拉开距离。我一直很羡慕人脉很广的人,而我自己的骨子中对朋友十分挑剔,只跟那些我认为值得深交的人去做朋友,作为一个程序员或许没什么,但是作为一个在中国大地上要生存的人,或许这并不是一件好事。另外,在处理工作中的人际关系时,我也常意识到自己的做法并不是最好的。在新的一年中,我决定利用公司提供的培训学习一些沟通上的技巧。

感想四:坚持运动

这是一个大家都懂,却难以做到的道理。由于我的工作量并不是太大,我得以有时间去跑步、游泳、做瑜珈,但是可怕的是,我发现现在的运动量并不够。我一旦稍微停止运动,就会马上发现睡眠、颈椎、腰椎等等开始出现问题,身体也马上开始水肿,大约是上了年纪的问题吧(哭)。也许这是身体的一个善意的提醒机制,督促我一直坚持运动。

所谓的“越忙越要坚持运动”,是说如果忙起来就更容易久坐不动,短时间看好像没什么,但其实身体会进入一个不好的循环,由于压力大而增加食量、情绪变差,又由于不运动而失去节制,久而久之心理和身体的问题都会出现。

我觉得瑜伽是一项很好的运动,不仅因为它可以达到减脂塑形的效果,还因为在做瑜珈的过程中,你被引导着调整自己的呼吸,从而把注意力从工作和生活上的烦恼转移到自己的身体上,就像净化灵魂一般。像我这样睡眠不好的人通常是因为杂念太多,烦扰得难以睡着,但是如果我睡前有做大约20分钟的瑜伽,就会很容易睡着。

感想五:开拓视野

马来西亚的一位同事是系统方面的专家,他不仅工作非常努力敬业,在业余生活中也很有建树。他每周要去打六次羽毛球,周末去爬山,所以身体很强健;另外他精通投资,在马来西亚有三套房子和好几部豪车,都是用他的投资所得买的。

在技术上踏实肯干的人往往不一定会获得很高的回报,因为他们通常比较寡言,没什么心机,不善于表现自己。我认为我们应该认清这个现实,但不该花太多时间抱怨。搞技术的人理应花一些时间充实自己的头脑,比如学习理财知识、尝试写一些博客和教程来锻炼自己的表达能力、看各方面的书去了解其他学科、关注时事等。只有这样,我们才能把自己的生活过得更好一些。

以上的这些其实还归结到一个很基本却很重要的能力:时间管理。仅仅意识到这些是不够的,你要有足够有效的时间管理机制去落实行动。而时间管理本身又是一个非常深的话题,哈哈!只能说,我要学的东西还有很多,技术和非技术都是。

posted @ 2018-04-01 15:42  mskitten  阅读(...)  评论(...编辑  收藏