一名山城程序员2018年的年终总结

2018年如果要给自己打个分,我觉得可以打80分,不论是工作还是生活都上了一个新的台阶。

一、工作方面

2018年初的时候,开始在公司践行持续集成与持续发布,在最开始的时候我们用的是jenkins主要是在测试环境和sandbox环境使用,发现确实能节约不少时间,我们不用在改了代码之后都自己打包发布到服务器,只需要改动代码之后提交到仓库,jenkins就帮我们完成了后续的编译部署了。

过了一段时间,我们发现我们的前端团队,比我们做的更优秀一些,他们用的是gitlab那一套CI/CD流程,并用了docker + k8s那一套。于是我们后端也开尝试容器化,经过一段时间的摸索我们把后台管理的部分服务迁移到了gitlab的自动化流程并完美的实现了容器化部署。后来我了解到这其实就是DevOps的理念,开发即运维,自己对自己的服务负责,确实能提高不少效率,也减少了人为部署的风险。

我是2017年2月份来到的这家公司,刚开始来的时候是非常兴奋的,因为公司的产品在山城来说是非常不错的,做小说的,注册用户6000万,日活也有30万左右,以前做过的项目都还没有达到过这个量级。公司的氛围也非常不错,弹性上下班、周五下午4:30过后可以免费去健身房运动或者打篮球什么的、下午每天都有水果吃、节假日都有小礼品等等。而且公司大部分是90后,像我这种80后比较少,大家在一起经常开玩笑逗乐,离家也比较近开车也就30分钟路程。

我在公司干了一年多以后,总感觉每天干的事情都是差不多的,根据产品的新需求设计表根据之前设计好的框架把程序套进去,用到的东西大概就是这些:数据库、缓存、消息队列...。本来想着能够把一些核心的服务给微服务化了,但是由于我们的用户规模并没有大幅增长,现有的服务很稳定,老板也不是特别有意愿做这个事情,我们就是维护现有的产品并做一些新的需求。

时间转眼到了9月份,我的一个好朋友给我联系,问想换工作不,说是Go语言做区块链方面的。区块链这个东西呢,我之前只是有过简单的了解,go语言也只是自学过。但是我还是决定去试试:第一我觉得技术都是相通的,区块链也只是把P2P、加密算法、共识算法等东西结合在一起了,很多都是开源的学习起来应该也不难;第二如果没面试上也无所谓,还可以继续在这家公司上班。

去面试的的时候,直接是CTO面试的,后来了解到CTO是华为出来的,面试过程比较简单,就简单问了问我微服务及共识算法的一些东西,可能是山城的Go工程师比较难招,我居然面试通过。换工作的过程还算顺利,老东家虽然不想我走,但是这个岗位也好招人,也没必要花太大的成本留我。

9月17日我来到新公司,CTO只给了我两天时间熟悉项目,这个项目是一个虚拟货币交易所,是基于Spring Cloud开发的。之前是外包给别人做的,本来原计划是九月初上线的,结果我到公司的时候还有很多功能都有问题。山城这边的团队也都是新成立的,老板发话10月份项目必须上线,留给我们的时间只有不到一个月时间。我们中秋节加了两天班,国庆节加了6天班,最后项目在10月中旬顺利上线了。因为这个项目中的出色表现,老大给我申请了提前转正,因为人事那边卡了一下,其实也就提前了17天。但我还是挺感谢CTO,因为国庆加班他也给我们申请到了3倍工资。

交易所项目上线之后各种线上的问题不断出现,我这边是来一个处理一个,除了业务上的问题以外,技术上主要涉及:读写分离、分表、mongodb优化、重试机制、核心服务错误日志入库等。经过这些操作,这个系统已经运行得比较稳定了。

做交易所项目其实是应急,正好我又对微服务比较熟悉所以选中了我。到了12月初,交易所的任务完成之后,我被调到了区块链项目,这个才是我来这个公司想做的事情。我接收到的第一个任务就是排查项目中的漏洞,因为前不久基于我们链的币被盗了。我用了三天的时间把漏洞找到了,并让我同事配合我验证,这个BUG的发现可以说是非常重要,CTO也非常高兴,说这个月的绩效给我们俩搞最高。

2018年工作上值得记录的就这么多,概括起来就是:1.将ci cd docker k8s等技术运用到了实际工作中;2.挑战舒适区,换了一份完全不同方向的工作,薪水也大幅提高;3.新工作从0开始快速成才为项目核心成员;4.Go语言有了更多的实战经验;5.区块链有了开发经验;

二、生活方面

2017年我老爸被诊断出高血压、糖尿病。很多年前我三叔被诊断出肾衰竭,那个时候他才50岁左右。2018年初的时候,我就开始思考人这辈子到底是为了啥?其实这个问题很复杂,没有一个标准答案,但不管是为了啥,保持健康的身体是任何目标的前提条件。

从2018年2月份开始,我就开始到公园里跑步,我们家离山城的园博园非常近,每次进去跑一圈刚好是5公里。我认识了几个小区里的跑友,拉了一个微信群,有时间大家就约起早上一起去跑步。这样坚持下来到目前为止已跑了近100次,累计500多公里。

跑步、坐车的时候我要么听书要么听歌,今年我听得书有:《王石自传》、《任正非传》、《胡雪岩传》、《李开复自传》、《老俞闹钟》,其中《老俞闹钟》和《李开复自传》给我的感触非常深,推荐大家听听。

电子书看了的有:《自控力》、《习惯的力量》

生活方面就记录这些吧,孩子、老婆、父母以及家里的一些琐事,重要的都记在心里,不重要的就让它过去吧。

三、2019年计划

1.考个架构师证

2.去园博园跑100次500公里

3.深入学习Golang

4.深入学习k8s

5.推动项目中实践DevOps

6.体重降低到145,现在150

7.长途旅游一次,短途旅游5次

原文地址:https://www.cnblogs.com/w3liu/p/10199007.html

时间: 2024-10-28 22:43:28

一名山城程序员2018年的年终总结的相关文章

作为一名新手程序员该怎么成长?

作为一名开发者,自己既笨又没有准备,被老板知道了,我就要被炒鱿鱼了-作为一名新手程序员在刚刚进入到工作领域的时候,经常会有这种想法,这种想法会打击自己的自信心,特别是涉及到写代码的时候. 下面我要介绍一些关于新手开发人员可以提升自己的职业生涯和前景的关键策略,并且能够在工作期间保持一种健康的心态. 无论是你正在智通人才网找你的第一份工作,还是正盯上了潜在的晋升通道,在一定的程度上都需要跟其他开发者竞争,为了可以从中脱颖而出,下面这些关键的步骤可以帮你迈向成功. 1.找一种你喜欢用到工作中的语言.

一名好程序员具备的15个特征

1.令人印象深刻的技术技能 程序员有可能长年累月只使用一种编程语言工作,但如果他最近新增了一门编程语言认证,那么凭借多年的编程经验和新增技术技能,一定会让人印象特别深刻. 2.愿意学习 技术总是在不断发展的,程序员们今天的技术和能力有可能几年后便过时.重要的是程序员要擅于找到自己感兴趣的新趋势并把握参加继续教育学习的时机. 3.调试技能 创建代码只是程序员的一部分工作,当软件不能正常工作时,程序员需要做的是快速有效地找到问题的根源.与其盲目花时间进行修改,程序员更喜欢仔细调查和研究可能出现的问题

无论做什么事情都不可能做到一蹴而就,很多事情都是水滴石穿。那么作为一名Java程序员

无论做什么事情都不可能做到一蹴而就,很多事情都是水滴石穿.那么作为一名Java程序员当然也要保持不断学习的状态才能在这个领域站稳脚跟.那些工作了一定年限的技术人总有一天会感觉到自己遇到了职业瓶颈,这个时候如果你还是安于现状不去学习钻研的话只会被长江后浪推前浪 把你拍死在沙滩上了. 那么该怎么学习呢 ?学习什么呢?系统化的学习工作所需要的是基础知识,而不是到百度或谷歌查资料解决.这样有助于遇到问题后通过相关知识关联分析,也有助于搭建更合理的技术架构,或改进现有技术架构的不足,让知识形成协同效应.

如何成为一名优秀程序员

学了很久的Python一直原地打转,不知道如何学下去,这是很多新手都会遇到的问题. 我记得第一次接触 Python 是 2011 年,在逛网站的时候,无意中看到一篇介绍 Python 的文章,觉得这门语言很有特色,于是想系统地学习一下.怎么学呢,市面的上书籍琳琅满目,一开始你可能不知道看哪本,有两个方法,第一个是去豆瓣看书评,好书口碑一定不错,第二个办法就是问有经验的人,他们能给你最实际的意义.我的建议是入门书最好是能在一周到两周内能完成的,那些大部头书就不适合拿来入门,可以放到后面.入门阶段你

作为一名Java程序员,我为何不在生产项目中转向Go?

前方 作为一名Java程序员,我为何不在生产项目中转向Go?自Google在2009年发布Go语言的第一个正式版之后,这门语言就以出色的语言特性受到大家的追捧,尤其是在需要高并发的场景下,大家都会想到是不是该用Go.随后,在国内涌现出了一批以七牛为代表的使用Go作为主要语言的团队,而许世伟大神本人也在各种场合下极力推动Go在国内的发展,于是在这种大环境下,中国的Go开发者群体逐渐超越了其他地区. 那么问题来了,业余时间好学是一回事,真正要将一个新东西运用到生产中则是另一回事.JavaScript

一名资深程序员的自白!

在程序员岗位上工作了三十多年,我学到了也明白了一些事情,希望在这里跟大家一起分享: 看不到实物,客户不会知道自己想要什么 一个功能性原型系统的展示,能够省下无谓低效的赘述. 只要给予足够的时间,任何安全措施都不安全 安全是目前系统运维的重大挑战,我们每时每刻都想方设法来保护系统和数据,但是黑客只要成功一次,我们所有努力就极有可能都付诸东流. 系统被攻破后造成的影响,依赖于事前的准备功夫 如果能够预先估计防护系统失效的后果,做足准备措施,例如:把关键数据单独分离存储,对数据进行加密等,那么或许可以

怎样成为一名“喜鹊”程序员? 转载自宅客学院

我时常在想,软件开发人员在某些方面和喜鹊——一种臭名昭著地喜欢偷发亮的物品来装饰它们巢穴的鸟类非常类似.像喜鹊,从定义上说明软件开发人员是一种异常聪明,又有好奇心的动物.但是,我们非常非常容易因为闪亮的新玩具而分心. 我 一点也不觉得阅读类似Scott Hanselman的<Ultimate Developer Tool list>鼓舞人心.相反,它令人疲劳.软件世界前进的改革步伐是无情的.我们的周围充斥着各种所谓闪亮和新的东西,其概念本身开始瓦解,一遍一遍又一遍 地重复这些陈词滥调,直到它们

一名高效程序员应该有的7个习惯

花的时间越多就能写出越可靠的代码吗?不一定.那如何才能写出优秀代码的呢? 提示:懒惰是一个良好的开始哦. Perl 编程语言的原作者 Larry Wall 曾说过,伟大的程序员都有三个优点:懒惰.急躁和傲慢. 为什么这样说呢? 懒惰会促使他们去写一些省事儿的程序来辅助他们或别人更好的工作,这样他们就无需再去回答一些不想回答的问题. 没耐心会激励他们去写一些程序,不等你提出就主动满足你的需求. 傲慢会促使他们写出可靠无误的代码,因为他们不想受到批评和指责. 但是,伟大的程序员也并不总是高效的,那些

做一名合格程序员

作一个真正合格的程序员,可以真正合格完成一些代码工作的程序员,应该具有一些基本的职业素质. 1 团队精神和协作能力 把它作为基本素质.并不是说不重要.恰恰相反,这是作为程序员所应该具备的最基本的,也是最重要的素质.把高水平程序员说成独行侠的都是不对的.任何个人的力量都是极其有限的,即便天才也需要通过组成强大的团队来创造奇迹.那些遍布全球的为linux写核心的高手们,没有协作精神是不可想象的.个人确实可以作一些赚钱的小软件发小财,但是一旦进入一些大的系统研发团队,进入商业化和产品化的开发任务,缺乏