不知不觉已经到了工作的第十个年头,很难想象时间会消逝得这么的快,真是印证了那句成语叫“白驹过隙"。
白驹在不停的向前跑,我也从一个职场菜鸟变成了一名老兵,每当回想起以前的一段段经历时,总觉得自己应该要写点什么回顾一下。

初出茅庐

2009年是不平凡的一年,那会儿 sun 公司被甲骨文收购了。当大家都在津津乐道的讨论着 Java 的未来的时候,我才刚开始我的第一份工作。
那时去的是一家做电信业务的小公司,主要做数据分析管理方面的软件。那会公司在生存方面还没有什么问题,由于老板跟客户高层的关系比较铁,基本上产品都能卖的出去,团队不容易饿死。
但也因为是这样,公司的整个研发氛围比较"浮夸",也就是形式主义上的东西很多,一个开发部差不多四五十来人,几乎每个月都要考一次试,内容就是编码规范、算法题云云。

老员工们对这些是不齿的,所以基本都是一些校招的小兵们会拿个好成绩..其中也包括我。但是大家心里也明白,出了校园就不能再是"高分低能"一族了。何况这种事情根本算不得什么。
所幸是同事都很热情,基本也不会跟我们计较什么。除了工作上的热心帮助之外,时不时也会经常聚餐。而且那时候由于公司还有加班餐券的福利,导致我们晚上个个成了楼下真功夫的常客,就连店里的服务员都爱跟我们调侃:
"你们公司福利那么好阿,收转行的服务员吗?“

在技术方面,由于刚开始什么都不会(学校里真的什么都不会教,或者说自己除了混完学历什么都没学到..),做什么也缺乏自信。于是我偷偷下载了12G的 Java 教学视频,每天晚上看1-2小时...就这样从一个最简单的“鼠标画图” 小程序开始了我的程序开发之旅。同事老张知道了这事,给我推荐了不少好书,其中就包括《Effective Java》、《Java编程思想》这些,也就是后来,这些书让我对开发语言有了更加深入的掌握。
尤其是Effective 系列,到十年后的今天仍然是Java领域的经典必读之作

团队里一直都喜欢贯彻学习、改进方面的事情,这跟老板的做事风格也有很大关系。我最有印象的是有一次做代码Review时,一哥们的代码被拿出来当典型了,一个if/else 嵌套了十层... 后来这哥们几个月后也离职了。老张感慨说,"其实写代码也就是 if、else这些东西"..
那会想想也差不多如此,偶尔代码写得糟糕也是常事,只要不伤天害理不就行了。

我所在的小组负责一个了数据抽取软件,就是会将很多异构的数据源进行整合,按一些业务规则做转换处理,然后写入目标数据库。技术上采用的C/S架构,客户端是基于 Eclipse RCP 框架做的界面,后端用 SpringFramework +Jetty 定制了一套RPC服务。
那会凭着自己的兴趣深入学了下Swing、JWT/JFace,也做了很多小工具,只是到后来 Java 在小程序、客户端UI方面根本没发展起来,对于这块技术的积累也没有产生更大的意义。
就从 web 前端技术在后来大肆流行的态势来看,当时的技术选择还是"任性“了点。

SpringFramework 是团队里主要用的框架,在那两年主要用的版本还是 2.5,但是关于这块并没有做过多的深入了解,而只是应付一些普通的项目上的使用。为什么?我认为大多数人可能跟我一样,被 SpringFramework 的概念绕的有点玄乎,什么控制反转、依赖注入,这种概念化的东西最终在解释上又好像很简单,甚至都怀疑是不是我根本就理解错了。到后来发现也就是如此,Spring 框架只是实现了一层简单的对象装载能力,相比那些难懂的 EJB、Web容器来说轻量得多,很容易就被用到项目里头,跟各种开源组件做"胶水式"的整合。所以当时流行的SSH(Struts/Spring/Hibernate)三大框架里头,Spring 更像是一个"拉皮条"的角色:

Struts 做了表示层,搞定了MVC,Hibernate 做了持久层,搞定了ORM,然后 Spring 是..整合你们两个!

这里扯的有点远,只是想表达的一点是:技术框架本身就是为了解决复杂度而生的,往往并不如想象中那么可怕

在这个阶段,曾借助框架完成的一件有印象的事情是:

把一个 4000 行的充满 if/else 的类进行了重构,硬生生拆成了20个毫不相干的子模块。最后还受到了领导的表扬..

经历变动

尽管这家公司不大,但我所在的三年里也经历了许多令人意外的变动。

  • 第一件事是高层的政治斗争,那会公司的研发副总是新上任的,其性格和做事方式上都非常强势,尤其是对于老员工一些混日子的态度特别看不惯,这点跟他非技术出身应该有很大的关系。于是在任职期间,他在公司里大搞特搞军事化管理,严查考勤,搞野外军训拓展。许多老员工都是敢怒不敢言,但由于老板从态度上更信任这位副总,很多人最终就选择了离职。

  • 第二件事是研发总监的出轨,前面那件事里头,因为政治斗争的原因,公司里原来的总监也被离职了。这一位是后补的管理者,我对这个人的印象不深,只记得比较爱开玩笑,喜欢搞搞小团体。在公司里头推广了自研的一套web框架,一些核心项目的底层也给换成了这个框架。然后就是突然某一天人就没来上班了,才知道是这破事让许多人给知道了,然后是他带来的核心团队也一并走掉了,留下了一堆烂摊子。

  • 第三件事跟管理层就没有什么关系,主要是公司业务的发展遇到了瓶颈,由于互联网的冲击,那会传统的软件厂商都是不好受的。
    在2010年底,当时华为想搞云计算大范围开放了社招,公司里头能干的人基本都跳槽过去了。
    而我呢,就在一次次的送别后自然而然的成为了项目组的骨干。当然除了人员离职的原因之外,我自身的成长也还是比较明显的。

这里提到了成长,一方面是对于企业而言,我的岗位能力提升了,对于公司的许多项目、流程机制都非常了解,已经具备带新人的条件。
另一方面,在个人技能上,对于Java开发的能力有了相对全面的掌握,包括不限于多线程并发、网络编程、JVM结构这些东西;
而在 Web 开发方面,基本上用SSH 做出一个网站项目也不是什么难事。得益于数据处理软件开发的特点,因此对各种关系型数据库都有涉猎。
关于这些点,我都给写到了我后来求职的简历里面。

那么之所以后来离开,也是因为觉得在那里的成长已经停滞了。当时有个说法叫 "程序员,三年跳一跳,越来越美妙"

“当我在谈论 jvm结构和 rmi 技术时,身边的同事只会聊起八卦和体育彩票的事情,而我压根也不喜欢博彩类的东西。”
当然另外一个原因是觉得薪资太低,觉得自己应该出去看一看新机会了。

接下来,在移动互联网的大潮中,我选择了一家处于上升期的企业,开始了另一段职业上的旅程。

作者:美码师

相关推荐

老兵的十年职场之路(二)

老兵的十年职场之路(三)

老兵的十年职场之路(一)相关推荐

  1. 老兵的十年职场之路(三)

    在前面的文章<老兵的十年职场之路(一)><老兵的十年职场之路(二)>里,如果说第二段经历是我的小高峰,那么接下来我觉得算是一段平峰期吧.至少在技术成长上面是如此,而财富积累更是 ...

  2. 老兵的十年职场之路(二)

    在上一篇文章老兵的十年职场之路(一) 里头,讲述了我在初入职场时的一些经历,从自己个人的感受来说并不是特别的美好,既没有职位上的屌丝逆袭.也没有令人兴奋的意外成长,但也许这也是很多人所经历过的,毕竟我 ...

  3. 「十年老测试」测试员的职场之路

    前言 近年来有很多声音充斥着这个世界,很多人生导师降临世间,只是隐约有点担忧,不知道是哪个位置先着地. 测试人员如何来提升自己,这个话题其实已经没什么可说的了.什么功能测试.自动化测试.性能测试以至于 ...

  4. 面对困惑,职场之路该怎么走(附案例)---职场达人的忠告(转)

    [size=x-large]这不是一篇教条主义的职场文章,没有华丽的辞藻,没有很强的逻辑性,所探讨的问题都是职场中很常见却没有标准答案的,也许当你阅读这篇文章的时候会引起你的共鸣,因为里面提到困境或案 ...

  5. 十大职场潜规则送职场新人

    人生就象一场游戏,有赢有输,有得有失,没有人会一帆风顺的走完所有的路.而任何游戏都有自己游戏规则,违背这个规则的人,虽然不一定遗臭万年,又或者被黑道.国家机器追杀,但是人言可畏.三人成虎还是会的.尤其 ...

  6. 几年工作之后“十句职场密语”

    第一句话:不要让新领导知道你来看老领导. 加强走动,建立彼此熟悉甚至是亲密的关系,这才是提拔晋升的底层逻辑.你是我亲手招进来的人,工作能力.工业业绩都有了,你知道为啥没有提拔你吗?你五年来,从未来看过 ...

  7. 【职场和发展】未来十年职场的十大发展趋势

    现今的社会中,每天都有新的理念提出,每天都有新的产品被开发,也许在15年前,可能你还在家打游戏机的时候,你还不知道互联网为何物,网络游戏是什么,但是现在国内的互联网用户已经达到5亿以上,将近一半的中国 ...

  8. 十句职场不败的经典名言

    俗话说得好:会干的不如会说的.你想仅仅凭着熟练的技能和勤恳的工作,就在职场游刃有余.出人头地,未免有些天真了.虽然能力加勤奋很重要,但会说 话,却能让你工作起来更轻松,并且可能帮助你加薪.升职. 1. ...

  9. 华为优秀员工的16项标准让你的职场之路更顺利

    1重在参与,敢于向自己挑战 任正非告诫员工,做一件事无论是否成功,你都要找到自己的那份感觉.只要你参与并与之拼搏过,你就是成功了,胜负无定数,敢搏成七分. 2重视向别人学习,取长补短 任正非说,做人要 ...

最新文章

  1. linux svn 使用
  2. vs2010无法查看自定义的普通变量(CXX0017:错误:没有找到符号)
  3. 表单数据自动录入_「Excel技巧」Excel表格实时记录数据录入时间,关键还是自动哦...
  4. 父元素a标签的href默认行为以及子元素绑定的click事件的响应之间存在影响
  5. 实现picturecontrol控件显示图片_陕西曝光机触摸屏实时数据控件
  6. mysql(mariadb)的安装与使用,mysql相关命令,mysql数据类型
  7. 刘宏伟计算机组成,哈工大组成原理和数据结构 ppt 计算机组成原理刘宏伟 版本一 第18讲...
  8. 为Visual Studio更换皮肤和背景图
  9. openSUSE 11.2 安装QT(二) QtCreator
  10. python如何输入数据形成列表_将Python字典/列表插入到SQL数据库中最有效的方法是什么?...
  11. 浅谈对于机器学习的理解
  12. 【python+selenium】自动登陆学校青果教务网
  13. UE、UI、UCD、UED?你知道你是干啥的吗
  14. UserControl关闭事件
  15. 从拜占庭将军问题到分布式系统的一致性
  16. b站coderwhy老师_购物首页开发
  17. Android自动化测试
  18. 线性位置检测 - CHI612替代TLE4997、MLX90251
  19. java dns缓存清理_JVM DNS缓存问题
  20. c语言求n个数中奇数乘积,C语言编程实现从键盘输入N个整数 分别求出奇数和偶数的和 在线等.., 任意输入n个整数,分别统计奇数的和,奇数的个数,偶数的和,...

热门文章

  1. CAN笔记(13) STM32-M4 bxCAN
  2. windows防火墙ntp服务器_NTP教学续集已发送,请你查收!
  3. php mysql 高效,php+mysql 大容量数据高效分页效果(弃用limit)
  4. python 变量赋值是引用和拷贝_Python 中变量赋值传递时的引用和拷贝
  5. MyBatis自学(1):MyBatis概述
  6. 浅谈js中的this
  7. Python 多线程进程高级指南(二)
  8. 软件工程之中期学习总结
  9. 不得不说的wepapi 优化
  10. I,P,B帧和PTS,DTS的关系 转载