我的技术十年(1) - 序
从大学毕业到现在(2008-2017),已近十年。我的职业生涯,也从当初略带迷茫,到如今不断成熟,在技术和管理的路上渐行渐远。
入行前
大学后两年,是我人生轨迹的转折点。
那时候,有同学考研,有同学去找专业工作实习。而我,可能却有点”不务正业”。
那时的我并不喜欢自已的电子专业,也没有明确的方向。倒是很喜欢在学校论坛写各种教学贴,学些很炫酷的html网页制作技巧去炫耀,折腾内网宿舍楼间顺畅沟通的方式(拜学校外网访问限制所赐),当然还有典型的帮女同学修电脑。。。
虽然我们宿舍就有其他软件班的同学,但当时的我并没有软件开发的概念(除了基础的C语言课程…)。
直到毕业后几个月,没有目标的在亲戚公司混了段时间。有一天被软件培训机构拉去听课,才发现,软件开发这个事情很亲切~~
于是参加了培训班,白天黑夜学习。虽然后来知道,很多IT培训机构名声不好,而且所谓的培训其实大部分时间都是在自学。但我还是要感激培训机构,把软件开发这个崭新的事物带到了我的面前。
工作后
参加工作后,总共待过3家公司。每份新的工作,都给我带来新的同事、环境,和施展能力的平台。
第一家公司
我的第一家公司,是做工业品生产和销售的,老板很有想法,开发的系统和网站除了自用,还想在行业内推广,做行业标准。
由于是第一份工作,工资不高,但是学习和实践兴趣很浓。那时候主要做的是定制版的ERP系统,采用的技术(Extjs前端和Java后端)和前后端分离的思想在那时候还比较新进,为以后的前后端技术一起发展打下了很好的基础。
一年多后离开了。但也许是被老板的想法吸引,在离开这家公司三年后,又受邀回去,带领团队做更标准化的行业OA平台和电商推广网站。所以算起来是两度结缘。
虽然加起来在这家公司也就待了2年多,但是由于老板想法多,变化多,同时也给了我足够的自由度去采用新技术和新思路,所以很多软件开发方式、方法都是在这”被逼出来的” ^_^
诸如接口设计灵活性、前瞻性(需求一直变啊),前后端分离(业务有一个后台,多个前端),分布式系统远程调用(独立业务块多),模块划分,自动运维等等。
第二家公司
我的第二家公司是家澳洲独资公司,业务主要是向欧美国家客户提供供应商数据,用现在流行的话说,是个大数据公司。
我们的技术总监也是个极客。很喜欢折腾各种脚本,使用前沿的函数编程语言等。在那的几年我也受影响,把ruby,python,nodejs,scala等一些较出名的小众语言和其上的优秀框架看了个遍。同时软件行业知名的infoq网站成了我的最爱,每天一有空就去看上面的最新软件大牛文章和资讯,以致完全忽视了其他娱乐性网站。
那时是AWS在国外越发流行的几年,而国内的各大云厂商还没起来。极客的总监和boss做出了把公司的软件资产整体云端化的决定。当时leader让我做aws的调研,并和同事一起做老系统(很老的java系统)分步转换重构。这个事情其实是个苦差,但是也相当有价值。
于是又各种拼命的调查AWS资料,调查大数据量迁移和计算方案,调查最新的系统模块化和系统间调用方案。
调查和测试过程持续了几个月,系统转换过程持续了2年多。现在想起来,还是很有”乐趣”的。
第三家公司
第三家公司,其实是受朋友之遥,主导技术部门,一起创业的。
在我加入之前,原先的几个人已经做了几年。主要是用php定制电商网站和门户站点,形式还是小作坊式开发。
那时候的公司想法是要做大规模,出典型的客户案例,识别优秀项目,通过技术入股和客户一起成长。
于是从公司目标和实际出发,带队研发了更高效的PHP定制项目基础架构、相关微服务及整套开发运维体系,团队规模扩大了很多。
一段时间后,我们认为除了做定制项目,也可以以我们的电商经验基础做SAAS版电商,同时涉足流量巨大的移动APP电商领域。
做SAAS品牌电商,Java相对PHP有绝对的优势。同时考虑到以后的用户规模各异,定制要求各异。新平台有了明确的目标。
之后带团队花了近一年时间去构建和完善新的SAAS版电商。目前已上线运行近一年,积累了良好的口碑。
感悟
很多人觉得技术开发工作是份脏活累活,也见过有同事、朋友做了一段时间开发后,转行其他的。
在我看来,技术开发确实是高脑力消耗的,但是如果能体会到付出之后解决问题的快感,那也是值得的。
享受工作,享受生活,享受和志同道合朋友相处的时光。人生能如此,足以。