2018所思所感所悟

在2018年,我学会了如何规划人生。
在2018年,我学会了如何快速提升技术。
在2018年,我学会了如何做技术选型。
在2018年,我学会了如何处理职场关系。
在2018年,我学会了如何应对工作压力。
在2018年,我以平稳的心态,获得了职场的晋升。

金三银四

2018年3月,一回来上班就有一股离职跳槽的风向,很多人都在议论年终奖和薪酬调整的话题,这股暗流持续涌动着,终于在4月份爆发了。离开的是我的几个大学同学,非常要好的那种,大学我们曾经是一个Team。同样的也包括了我的导师,从我实习一直带领我入门的导师。这个时期,我的心情也很低落,也准备了简历,也进行过面试。也通过了,后来没有去。

我为何而情绪低落?

作为一个刚刚步入职场的人来说,确实很容易受到同事离职的影响,下班再也没有人倾诉公司里边发生的琐事,再也没有人能够在你技术遇到难题的时候给你最强劲的火力支援了,顿时间感到了无助。而且同事的离职也很容易让你有一种“公司很不好,福利很差,要尽快离开这个坑”的感觉。特别是我导师的离职,以前都是他给我最正确技术指导,让我少走了很多弯路,也让我快速地成长起来。他走了,我的工作会比以前多出一倍甚至两倍。很慌,于是我就开始整理简历,无心工作了,开始复习一些基础性的东西(JVM特性,设计模式,Spring源码等等),去背面试题。

最后我停止了面试,选择了继续留在公司

我看了很多面试的岗位要求,也考虑过很多行业(游戏,金融,教育)。发现自己在整个市场的环境下,真的就是一只蚂蚁。要精通的不精通,要熟悉不熟悉。与其换到一个不熟悉的行业,从头开始。还不如稳扎稳打的在一个行业里积累经验,跳槽之后的薪酬也没有高多少。而且我觉得对于我这种刚刚毕业一年不到的人来说,薪酬并不是首要考虑的东西,要考虑的是自己应该怎样快速地成长起来,用实力来证明自己,而不是用过多的面试技巧去说服别人给你满意的薪酬。大公司固然有大公司的好,福利好,平台广,大牛多,技术宽,但是我进不去,我也不想专门去准备三五个月的面试,这样多没意思。进大公司的机会很多,毕竟他们天天都在招人,机会多得是。

如何去考虑自己的职业生涯?

经过了这金三银四,我彻底明确了自己的职业方向。我问了自己的几个问题

应该如何选择一个什么样的行业?

我是一名从医学院校毕业的类计算机专业的普通本科生,所以在医疗行业我能够快速适应。而且医疗在未来的发展趋势也挺不错,值得深入了解。医疗行业的信息化程度较其他行业相对落后,具有挑战性和开创性。于是我毫不犹豫地选择了医疗行业。

应该如何抓住机会?

职场是一个机遇与挑战并存的地方,在我的处境:
机遇:我将拥有独立的研发机会(技术选型,系统设计,代码管理等),有可能获得职场的晋升。
挑战:我并不能胜任以上所有的工作。
只有迎接挑战,才能获得机遇。

应该树立怎样的职场形象?

我爸从小叫教导我,做人要靠谱。所以我要求自己尽量把别人交给我的事情做好。
每一个技术方案的提出,都要事先做可行性试验。
每一次技术支援都要求自己,做到出手必成。
每一天都保持高度的专注,持续的思考,学习新的知识。

破釜沉舟,志在必得

在明确了自己的职业方向和未来几年的人生规划后。我开始沉着地应对接下来的工作了,我对我自己说,这个部门以后我做老大。
数据交换平台,承载着公司对接医院数据的重要组件,一直是我和导师负责维护和升级的。在此之前已经上线25家医院,未来的规模将会去到75家(合同都签了)。

如何一人维护75家数据交换平台,并且保证他们能快速地落地
源代码管理(Git管理)

之前的项目代码只有一个分支(SVN),但是由于每家医院在对接的时候,都有特殊的需求,单纯用SVN进行代码管理很麻烦,于是我采用了Git管理,并且也分支的形式管理,一家医院一个分支。
(master分支+dev分支+N医院分支)
在每家医院发现交换平台bug时,在此医院分支修复,修复后合并到dev分支,测试通过后再合并到master分支。
每次发包都以master分支为基准。
其他医院非必要情况不升级,升级前要与master分支做比较,合并代码,本地测试通过后再升级。

项目结构调整,加快迭代速度

以前由于项目未做模块化划分,导致了代码开发混乱,无明显的分层,维护效率低。定位问题难。于是我花了进2个星期的时间,叫代码换成了mavan的模块化管理。替换了之前自定义的持久层改用mybatis-plus。加快项目的开发速度(单表CRUD+界面)30分钟完成。

代码健壮性和可拓展性

之前刚入门,代码写得很垃圾,于是开始运用一些简单的设计模式(动态工厂,模板方法,发布订阅)去重构一些重复的代码,尽量消灭掉。后来运用一些高级的Java特性(泛型,反射,动态代理,策略模式)去重构那些写得不灵活的代码。最终做到了增加一个组件,只需增加一个类,而不需要各种复制粘贴了。

项目依赖管理

之前没有做项目依赖管理,导致了各种jar包乱用,导致了war包体积过于庞大,随便引入一个jar包都可能导致项目无法启动。于是我采用了idea的maven依赖树删减不必要的依赖(exclusion ),最终使war体积减少30%,每一个jar包版本都在根pom文件有维护。
从我导师离开的一个月,经过以上的工作,我已经能从容地面多数据交换平台的维护和升级了,在这段时间里,我的技术得到了很快的提升,因为我懂得了如何去写出更好的代码,如何让自己更快得产出。

如何让自己的技术快速的提升

数据交换平台是一个很重要的系统,它的性能和稳定性很关键。但是它始终没有一个集群的功能。它的底层是基于mule的,但是它又是对mule的独立封装。
于是我去研究了mule的集群原理,很痛苦。真的我连mule的源码都没有跑起来,也是硬着头皮的去看他的官方文档。后来我发现,其实我们可以换种思维去看这些东西。

源码只是用来印证你的猜想,并不是让你由头到尾的去debug跟踪。

我看了网上很多的源码分析,他们一贯的做法都是,先把源码clone下来,在本地跑起来,然后一步步debug跟踪,打log。然后更新一篇文章,完了以后就什么都不管了。最终读者看了也是一头雾水。为什么呢?因为源码只是一种实现形式,光去读这些形式的东西,很容易在里头绕弯路,而且很容易搞错了方向。

学技术要学思想,学理念,不能浮在表面

就拿mule来说,它的几个重要的概念

组件名称 组件描述
mule message mule可以将很多种协议(ftp,http,tcp,udp)转换为统一的mule message
endpoint mule message 来源的端口
flow mule处理mule message的处理流程 的总定义
processer 具体的处理流程
transform 特殊的processer,mule封装过的
mule在我看来

当我们从mule的设计文档明确了简单的设计思想和设计理念后,我们再从源码印证,我学得更深,我学得更透彻。
回到mule的集群问题

mule的集群架构

很明显,mule对应外部的load balance 是基于外部组件的,这一点我们可以运用nginx来解决。那么它的内部是如何实现的?


共享内存

我们知道mule内部的传输是基于mule message的,在分布式的传输中必定要对其进行序列化和反序列化,mule为了提高性能,采用了kryo。服务注册采用了hazelcast。


mule内部集群实现细节

mule的内部负载均衡的本质是:将flow的每个processer注册到hazelcast,再利用
hazelcast的服务负载均衡去实现的。
最终,我综合了各种技术选型,采取了nginx+ignite的技术方案,实现了mule的集群。

包括后面的kettle学习,rabbitMQ学习,ignite学习。我都采取了这种方式,学得很快。在看他们的源码的时候,我无需将他们的代码跑起来,却能准确得猜测出源码具体的位置。

区域化医疗,我又一次面临了巨大的挑战

医疗面向集团化,区域化的趋势越来越明显,公司也承包着很多这样的项目。而对于我来说,是一个巨大的调整。医疗信息的区域化,意味着信息共享,互联互通。而之前的数据交换平台只是作为单独一家医院的设计。区域医疗绕不开的三座大山“病历”,“影像”,"医疗记录",如何做到它们的互联互通和信息共享?

数据集成,汇聚记录

医疗记录都沉淀在各个厂商的数据库中,我们要做的就是将他们拿出来,放到一个地方,也就是做数据抽取。开始我们采用了kettle的方式去做数据抽取,但是在实施过程中,效率极低。因为kettle是的图像化操作,虽然简单,但是对于实施人员来说,也是有要求的。而且开发只能远程去调试,由于网络原因,经常中断。导致了数据抽取开发效率低。而且kettle在运行时容易出错,导致数据丢失。这些种种问题都在困扰着我,我几乎在这段时间都是很烦躁。后来我看到了阿里的Dataworks,才明白了什么叫数据治理。
于是我开始着手设计数据治理平台。其实数据治理平台的理念就是:统一配置,统一监控,统一管理。

统一配置

kettle的图像化只能作为特殊的处理手段,不能够运用于大规模的数据抽取,因此我们需要对kettle的组件进行进一步的封装,能够以配置参数的形式就能搞定一个业务的抽取。然后在治理平台做配置的管理和维护。

统一监控

每一笔数据的流向都能够实时可视化,实时也就是意味着实时的数据流(kafka)

统一管理

数据在某些情况下都是需要转换或检验的,我们要对这些转换规则和校验规则进行统一的管理。

影像中心,共享图像

区域影像中心,它并不是一个完整的业务系统,主要功能有三点

图像采集

有子程序安装在医院前置机,负责将图像转发都影像中心(采集程序)

图像存储

有子程序专门负责接收图像,并根据AETitle标识图像,存储图像相关信息,做医疗机构的区分。并叫图像存储到存储网格中去

图像查询

给定业务参数即可得到图像

病历转换,文件展示

每家医院的病历格式都是非常复杂的,有文本的,有pdf的,有图片的,有网页的,有你想不到的。于是我们将这些转换交给了每家医院的数据交换平台,由它转换成pdf文件后上传。其他业务系统使用pdf文件作为展现。针对部分非结构的病历,格式难看,建议读取pdf文件原文后,有专门的病历整理。形成一份样式好看的病历。

从容的心态,面对职场压力

关注行业动向,了解技术需求

如何才能做到从容,我觉得你要时刻关注技术的动向,社会技术的革新和需求走向,能够有把握有信心,就算我失业了,也能很快找到工作。

不断创造价值,能让他人体现你的价值

有人会为你的努力买单,只要你能够不断地创造价值,我们要对外界输出自己的价值,让别人感受到你在进步,你的突出。

有自己的职场形象,做最好的自己

当你迈进公司大门的那一刻,你的职场秀就已经开始了,请让别人对你有良好的印象。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容