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

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

初出茅庐

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 技术时,身边的同事只会聊起八卦和体育彩票的事情,而我压根也不喜欢博彩类的东西。” 当然另外一个原因是觉得薪资太低,觉得自己应该出去看一看新机会了。

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

(未完待续)

本文分享自微信公众号 - 美码师(gracebuilding)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-03-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏码匠的流水账

Java12的新特性

对于需要返回值的switch expression要么正常返回值要么抛出异常,以下这两种写法都是错误的

18550
来自专栏Spring相关

部分算法总结

希尔排序(Shell's Sort)是插入排序的一种又称“缩小增量排序”(Diminishing Increment Sort),是直接插入排序算法的一种更高效...

7230
来自专栏码匠的流水账

聊聊openjdk的BufferPoolMXBean

java.management/java/lang/management/PlatformManagedObject.java

16010
来自专栏Android知识分享

Android:这是一份全面 & 详细的Android代码命名规范

19220
来自专栏noteless

java jdk 8反编译工具JD-GUI、procyon-decompiler、luyten、crf下载使用简介

如果版本>=1.8 ,可以使用 procyon-decompiler,不过是命令行界面

63920
来自专栏微信公众号【程序员黄小斜】

当面试官说 “你还有什么问题想问的” ,你该如何回答?

程序员面试时经常会听到面试官说一些套话,比如“今天的面试就到这里了,回去等通知吧”,“你还有什么问题想问我的吗”,“如果这道题不会做,那么我们也可以换一道”

14520
来自专栏Android 技术栈

Kotlin | 2.Kotlin基础

在定义了val变量的代码块执行期间,val变量只能进行唯一一次初始化。但是,如果编译器能确保只有唯一一条初始化语句被执行,可以根据条件使用不同的值来初始化它:

9020
来自专栏微信公众号【程序员黄小斜】

改了 3 年的技术简历,终于能让面试官看顺眼了

  怎样制作一份优秀的技术简历。相信很多同学都对此有疑问,实际上,制作简历这件事,说难也不难,说简单也不简单。

12850
来自专栏微信公众号【程序员黄小斜】

简历上的项目经历怎么写 ?这 3 条原则不可忽视 !

不过还是有很多学生朋友来问我“没有项目怎么办”,诚然,确实有不少同学没有实习经历,又没有什么像样的项目经历,对于这样的同学,简历上的项目经历难道只能空着了吗。

20420
来自专栏微信公众号【程序员黄小斜】

记一次面试腾讯的奇葩经历

大概是一周之后,我的电话响起,号码来自腾讯,于是我接起电话,电话那头果然是另一个部门的面试官,这个部门是负责做腾讯游戏的一些数据仓库的,也就是我比较感兴趣的数据...

48130

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励