对职业规划的重新审视

2023/7/6 10:13:30

这几天,比起以往,闲了些,觉得做一份完整的总结和规划很有必要,记录于此,希望在我30岁看到这篇日志的时候不要留下任何遗憾。

和很多人一样,来自农村的我,为了梦想,还在这座繁华的城市里,奋斗着、坚持着。我不知道这样的奋斗是否会有一个好的结果,但这颗不死的心还在往前挣扎。如果说当初的职业规划是系统架构师,那至今毕业两年,就有必要对自己的规划做一次审视,看看距离这个目标还有多远。

在完成规划之前,我是经过认真思考的,既搞清楚了架构师这个职业的优缺点,也搞清楚了成为架构师需要学习的技能和必要条件。架构师能对我产生多么大的影响,能否把兴趣和价值映射一条直线上,在毕业之前都是经过一番思考的。首先,架构师本身是与技术相关的,技术有个特点就是定量性,奋斗总会看到效果,因为他和数学计算有着一模一样的逻辑,一分努力,一分的收获,可以达到立竿见影效果。对我这种既没关系、又没家庭背景的人来说是一个不错的职业。其次,架构师这个职业引入了很多科学的思想,不但关注全局而且注重细节,觉得对我以后的创业和工作方法很有帮助。另外,架构师在我心中是值得尊敬的,他们有乐观的收入。

为了这个目标,毕业那年花费了大量的时间阅读架构师系列的博客和杂志,因为我想搞清楚架构究竟是什么,他们是如何成为架构师的,我又该如何一步一步踏踏实实走下去,完成我当初的想法。同时,买了很多架构师共同推荐的图书,每逢当当打折优惠,我就全买,第一年买了15本,第二年买了大概16本,每天下班都会坚持看书,都坚持在年底看完,两年下来,也就看了大概30本书,做了不少的练习。经过这些大量的阅读和训练,我基本可以看懂一些国外开源的项目,对架构有了深入的理解,在一些程序的设计上也有了自己的一些想法,在工作中也用到了很多关于架构设计的技巧。

去年,我们团队经常要对海量的数据进行定时的操作,比如:日志封送、错误报告、定时清理任务等,这些行为是跨项目、跨解决方案的,按照之前的做法,每个项目都要写一个windows service或者计划,定时完成这些任务,而且要给支持工程师提供统一的操作接口,随着项目数量的增加,这样的工作变得越来越重复。于是我做了一个分析,并进行了二次重构,我的设计是这样的:构建一个核心框架,这个框架主要提供插件运行时、任务调度和管理、插件的管理和监控、为支持工程师提供一致的管理入口,同时框架必须具有足够的稳定性和可靠性,而且能够自制。其它与应用相关的业务全部隔离到插件中去实现,这些插件的开发者只需要按照统一的接口去做特定业务实现即可,插件能够随时被插入、拔出和修改,这样的操作不影响框架本身稳定性和可靠性,单个插件的奔溃不会会影响其它插件和运行时本身。如在非托管环境下,其实这个想法很容易被实现,因为非托管环境提供了卸载单个DLL插件的机制和API,缺点就是很难保运行时进程的稳定性。我们的应用是基于.NET平台构建的,但在.NET平台实现这个机制有一定的局限性,因为像现在主流的运行时平台只提供卸载安全边界的概念,为了稳定、安全、轻量级和性能多方面的考虑,引入了应用程序域(AppDomain)的机制,用来隔离每个插件,当一个插件被插入时,就新建一个应用程序域,把这个插件装入到这个程序域,同时把这个程序域挂载到核心框架,这样做是以便于单独卸载和销毁,如果发现那个插件由于本身的BUG导致系统稳定性,框架有能力杀掉这个插件,同时不影响其它插件的运行和框架本身的安全性。到了这一步,其实已经可以保证框架本身的稳定性了,最终我们只需要将这个框架运行时寄宿在一个可执行服务中即可。但这个可执行服务是运行在操作系统上的,受操作系统本身稳定性的影响,为了做到万无一失,我在服务运行之前启动了一个守候进程,以便于监视可执行服务的状态,并提供一定的错误恢复能力。最后,为所有的操作人员设计了GUI界面,方便他们管理插件,查看运行日志等。

这就是我一年前设计的第一个结构,为了保持一个简单的篇幅,我只做了简单的介绍,至于细节,我想以后抽个时间通过图形文字的方式进行一次技术的剖析。除了结构的设计外,核心代码也是我亲自写的,截至今天还运行得非常好。其中用了一些设计模式、跨应用程序域通信的技巧,作业调度策略等很多知识点,我想没有平时的积累和对技术的执着,是不可能完成这样设计的。随着不断的积累,这个微不足道的改进在今天看来已经毫无意义,但它至少能够说明我当时的一些想法,多维度去思考问题的习惯,向着我的目标又走了一步,过去了一年,也设计了几个大中型的项目,目前反馈都还不错,但与我当初的设定目标相比,还有一段很长的路要走。

为了保证目标的顺利完成,在这两年的也积累了一些工作经验,除了本身的技术研究外,有朋友建议我去考系统架构设计师资格,我看完了官方指定教材和考试大纲,但发现很多知识点都从未被更新过,不能应用于现代解决方案中,新型的并行计算、动态语言、分布式架构、面向切面的编程、云计算、云存储、分布式缓存等这些元素,在这样的考试中一字未提,这些往往又是现代解决方案的必备元素,我想到了技术变化之快给中国教育带来的脱节局面。但为了证明自己的身份,这样考试还是有必要参加,这项任务也被列入最近的行动规划之中。

在接下来的一年里,我觉得最有必要提高下英文能力和设计方面的实践能力,必定,这也是我实现目标最重要的一个组成部分。找本国外的架构书翻译也许是一个不错的选择,那本被我收藏已久的《Developer's Guide to Microsoft Enterprise Library》一书值得学习,也是我下半年要翻译的目标。

虽然我一直在坚持,我的意志多么的坚强,但一些外在的压力还是不可避免,无论是别人的打击,还是来自家庭各方面的压力。都感觉非常沉重,有时候感觉什么都可以不想,但是没办法,当他们吃饭谈起汽车房子的时候,我还是默默思考着,这些真的对我来说重要吗?我什么时候才和他们一样能够安稳下来。当那个目标久久不能实现的时候,很多次都想过要放弃,但还是没有勇气,因为不敢放弃,总有那么一份责任,让我放不下。

我今年已经24岁了,按照我们农村的习惯,如果到了25岁的还找不到对象,就是一个没有出息的孩子。这种封建思想在农村的继承,让父母也很担心我的未来,每周给他们打电话都会谈到这个话题,我都表现得很淡定,总说说让他们不要担心,我会好好努力的。眼看着同龄的人都已结婚,有时候内心真的有点焦虑,但我知道这是一个现实的社会,人的虚伪是无法掩盖这个事实的,压力终究还是压力。我也理解爸妈的想法,但我能做的实在是太少了。最终还是得坚持:能改变就改变,不能改变就适应,让一切顺期自然,只是不放弃努力。

说了这么多空话,其实只是我的想法而已,最终还是得落实到实际行动,以下几点是需要我注意的。

任何时候,来自社会的压力、与别人的一次谈话,新领域的出现,对现有职业的不满、父母的想法,都有可能改变我们原来的方向,当站在十字路口时,既要想想当初为什么要选择,也要知道新事物的复杂度,且不可眼高手低,低估一个行业的复杂度,要三思而后行,选择就是一种决策,决策是否准确,直接影响到未来的成功,这也是选择的力量。和我一起毕业的一个同学,当初他认为编程这个职业很累,也不找钱,待遇又低,毕业之后就去从事房地产销售工作,因为在大家的眼里,房地产是一个暴利的行业。两年过去了,我们组织了一次聚会,他和我谈了些工作的情况,看还能不能回到开发队伍中来。他的理由是我们开发的天天吹着空调,待遇也还不错,有着稳定的工资,而他面对重庆高温的天气,还要出去跑市场,累不说,还要看业绩说话。从这位朋友身上我们可以看出选择对于一个人来说是至关重要的,如果选择失误,退出旧圈子,进入新圈子,在新圈子里没有任何经验和知识储备,还得从头开始,但与其他同龄人相比,你已经至少晚了两年。

朋友的重要性是不言而喻的,俗话说朋友多了路好走,我想了下,之所以成为朋友,走到一起,是因为我们有着共同的爱好和语言,另外一个奇怪的现象就是,乞丐周围的朋友一般都是乞丐,有钱人的朋友大多也是有钱人。而且在我们周围的很多朋友中,对自己有用的不足20%,在你结婚那天出现的不足40%,这样一来,我们就发现与什么样的人在一起就成就什么样的人,朋友圈子构建了一个环境,这个环境决定了你的成长环境。如果这个圈子的人都喜欢篮球,那毫无疑问这个圈子就是篮球圈子,所以朋友选择也是十分重要的。

我们很多的梦想之所以在半路夭折,一个主要的原因就是执行力的问题,即使有一个再好的目标,没有执行力的推动也是很难完成的。

关于执着和专注是一种难能可贵的精神。毕业那年,C语言程序设计、数据结构算法、软件工程、实训设计都取得了全系第一的成绩。现在工作了,也成为了团队最有价值的开发人员,最近三个月看完了W3C网站上的9000多个页面,这些成绩也许都来自于兴趣。但我们要坚信生活中的二八法则,无论工作学习,大多数人都愿意花费20%的精力把事情做到80%的水平,但很少有人花费80%的精力去完成完成剩下的20%,但这20%又是很重要、难度最大的一部分,如果你有能力完成,你就有机会成功。就拿我们熟知的苹果公司来说,其实每个厂商都知道如何做智能手机,几乎所有的厂商都花费20%的精力完成了智能手机80%的功能,但苹果公司还花费了80%的精力专注工艺设计和用户体验,这便是他们的核心竞争力。最后我要知道,要想让别人认可我们的工作,必须得关注细节,把每件事情做到极致,这样积少成多,迟早有一天会爆发它应有的力量。

最后要说的是诚信和责任,你对工作的承诺,和朋友的一次聚会,都是一份承诺,一份责任,如果一个人不遵守承诺,没有责任心,这样久而久之就会失去别人对你的信任,也就很难影响别人,很难被别人信服了,你之前所有的成绩都可能因为一次诚信的问题而销毁得无影无踪,作为一个领导,如果失去诚信你就很难驾权你的员工了,诚信的重要性也就不言而喻了。

总结:既然是自己的选择,无论结果如何,就坚持走下去,至少不留遗憾,在路上切记:方向、执行力,专注,执着,诚信和责任。