工作一周年记

为了避免丧失时间感,工作与生活的过于浑浑噩噩,决定每半年写一篇总结与反思。从2017/6/30毕业工作到现在差不多一整年的时间,初入职场,存在很多问题但也收获了很多,通过该文章稍作总结。这一年无论是技术还是想法层面,感觉自己并没有太多的变化,像大多初入职场的员工一样,一种平淡的提高。

一. 获得

这一年的收获分为两个层面,一是技术层面,一是想法方面。

1.1 技术

技术方面,从2016年开始想给clang提交patch开始,到现在被llvm接受了19个patch,从llvm那里讨来了commit access(虽然llvm的commit access并不是特别难获得),算是找到了另一条提高技术能力,拓宽视野的方式。这有点“授之以鱼,不如授之以渔“的味道,提交的patch虽然质量参差不齐,并没有特别有价值的patch,但学会参与开源项目并使之成为习惯这才是能够持续获得提高的方式。相信即使未来切换到其它领域,这种习惯也会保持下去,并能在其它领域给自己带来助力。

能够给clang提交patch,还得感谢自己的上司给予我充分的自由,才会有精力在业余时间搞这些东西。提交的第一个patch虽然只是修改注释,但足以让我兴奋了好久,这是一种能够比写博客文章,知乎回答问题更能够自我激励的方式。由于自己的英语书写底子比较弱,以及对phbricator的不熟悉,开始提交一个简单patch都有可能花上一个小时的时间。每天下班回家,从看reviewer的review,到作出相对应的修改经常需要搞到凌晨。记得其中一个patch,从晚上8点开始一直修改到凌晨5点,入睡的时候天都亮了,这让我找到了第一次接触ubuntu,第一次写MFC画出窗口的激情。

但在这一段给clang提交patch的经历中,一些问题也浮出水面。第一个问题就是自己英文的书写能力,虽然自认英语水平算不上差,但仍然达不到在交流邮件中完整表达想法的能力。第二个问题就是***看问题太过肤浅***,自己总结原因有二,一是知识储备不够,二是思考问题的方式不对。

另外自己对clang static analyzer越来越熟悉,现在可以自信的说“国内对clang static analyzer的熟悉程度比我高的人不多“。上面这句化加引号的原因是因为,自己知道这种熟悉是一种“依赖于时间积累“的熟悉,是一种“野路子式“的熟悉。自己连抽象解释的确切定义都说不上来,还自我欺骗地认为自己是做静态分析的。对一种东西越熟悉,就越有依赖感,就越会丧失对其它东西的兴趣,这一点对技术人员来说是致命的,这样会早早给自己铺好“老旧“的道路。

1.2 博客

自己最开始在CSDN上写文章,原因无他,只是简单的认为“作为技术人员,自己需要一个博客“,并不知道博客会给自己带来什么。经过这一年,自己越发坚信写文章实践是自我提高的不可或缺的两种方式,自认为写文章的好处如下。

1.2.1 学习

写文章是自己跟自己交流的很好的方式

1.2.2 梳理思路

大部分的知识都是都是被动地接受,哪些部分真正地理解了,哪些没有理解,恐怕本人并不清楚。或许在脑子里还是一团浆糊的时候,就假装自己理解了。即使不理解,也会强迫自己用自己干巴巴的知识储备,进行曲解,是一种自欺欺人的理解。

1.2.3 查漏补缺

博客上记录的内容,多是自己没有理解,或者不知道而通过博客进行记录的部分。本人从没有记笔记的习惯,从小到大每次考差了,从不记录,都是匆匆将试卷扔进垃圾桶,或者塞在课桌最里面,仿佛这些出错的问题从来不存在一样,没有勇气去直视自己的问题,现在回想真是幼稚至极。

1.2.4 画图

将画图列在写文章的好处方面,有些牵强。但写博客就需要画图,而画图对于我来说是用来理解问题,特别是计算机算法的很重要的手段。所以我就将其放在了这里。

我毫不避讳写博客带给我的帮助,我认识的朋友大都是在CSDN和知乎上写文章认识的,即便是我的工作也和的博客有莫大的关系。很庆幸自己没有把博客当成名片,那样就本末倒置了,希望写博客能够慢慢成为我生活的一部分。现在遇到了不懂的问题,或者不熟悉的问题,第一个想法就是先写一个博客,但是由于写博客太耗费时间,现在手上已经积累了很多的博客题目。

1.3 方法论

近一年的工作,加深了“自我否定“对自己的重要性,每次自我否定都是对自己的打碎重建,从小到大经历过很多自我否定的过程,虽然都是被动的。人的成长可以说都不是线性的,总会有一段时间原地踏步,这一段时间就是“自我否定“的过程,“自我否定“重的是过程和思考,而不是结果。

1.3.1 知之为知之,不知为不知,是知也

人生有太多的道理都是,“少时虽知,但直到老时才懂“,例如“一份耕耘一份收获“,或者是“知之为知之,不知为不知“。少时知却不懂,少时以为这些道理都是铁律,只要你按照这些道理行事,就能够保证你100%获得成功。看到别人通过所谓的捷径轻松得到不错的结果,就以为没有耕耘也会又收获,但是这些捷径并不是长久之策,“捷径依赖“到最后只会吃到应有的苦果。这些道理不是“捷径“,也不是铁律,这些道理其实是一种统计意义上的道理,“一份耕耘“并不能100%得到“一份收获“,但大概率意义上是绝对是能够得到一份收获的。这是普通人所能使用的最靠谱也最公平的方式了。

为了“虚荣心“,人很擅长不懂装懂,特别是在自己有些了解但并擅长的领域。自己也经常犯这样的毛病,例如在讨论技术问题的时候,无限捍卫自己的观点,即使有时候观点并站不住脚,交流的目的是互通有无,而不是互争胜负,在此也向和我曾经讨论问题的同学道歉 : )

为了“虚荣心“,去努力维护一个“能力出众“的这样一个人设,而错过了一次次向别人虚心求教的机会,也是愚蠢至极。从去年开始我已经很少在知乎上写文章了,有时这些文章只是自己对问题的一个梳理,自己都没有理解透,放在知乎上难免在博个虚名的同时,带去错误的观点。当然CSDN上以前的一些文章,写的也是狗屁不通,由于这些文章也算是对自己的记录,就没有删除。

1.3.2 问题的本质

若说近一年从上司身上学到的东西,最重要的莫过于“问题的本质“这一观念。很多技术人员在遇到问题时,常常在边边角角中打转,而不会也没有意识去探寻问题的本质。有的人洋洋洒洒千言,却还是不能触及问题的核心,而有的人却很快能够看到问题的核心,从而制定出相应的解决方案。这个意识是很重要的,不然有的问题讨论着就讨论飞了,有的事情做着做着就偏离路线了。

1.3.3 勇于克服困难

从工作中习得的另外一个观点,就是要勇于克服困难。工作中难免遇到一些两难的抉择,A方案简单但是效果不佳,B方案效果出众但是比较困难。有的人心想,反正工作不是自己的,选择A方案糊弄一下就行了。这种想法在工作中真是害人害己,如果你想在工作中想更进一步,首选B方案。

二.未达成

2.1 没有找到mentor

去年刚毕业时,电子科大北京校友会上,在场的师兄师姐对个人的发展提出了很多有意思的见解,其中一位师兄说到“每个人都应该找到一个自己人生的mentor“,“mentor“应该是有一定工作经验和人生阅历的人,他能够在你人生的关键点上给出一些有价值的见解,当然“mentor“是可遇不可求的,大部分时候都只能一个人去摸爬滚打。

2.2 技术方面

在技术方面,自己在刚入职时给自己提出的一个小小目标是“成为clang static analyzer某个部分的专家“,看来这个目标并没有达成,只是和maintainer混了个脸熟,并没有成为某个核心部分的专家,例如某人想要给某个部分作出修改,我希望maintainer能够说一句“Hey,let’s see what Henry says!“,今年年初自己给自己定的目标是能够在llvm meetings上做一个talk,看起来近一两年之内是不可能达成了 : )。

三.问题

3.1 《天道》

近一年,自己也发现了自己身上存在的一些问题。一大问题就是,自己总是想依靠着什么。中国人讲究的是“在家靠父母,出门靠朋友“,总是希望自己能够依靠某些东西,而从不知道依靠自己。有的人希望依靠“title“,以为有了“title“,就无须再努力;有的人希望依靠“亲戚“,希望“亲戚“能够帮助自己谋个差事;有的人希望依靠“奇迹“,总是认为自己是例外的那个,陷于自己编织的幻想无法自拔;有的人希望依靠“上帝“,以为通过简单的跪拜和祈祷来得到上帝的帮助,而不是遵循客观规律办事。

这个道理是自己去年看《天道》认识到的,《天道》通篇都在阐释这个道理,所以我用了《天道》做了这一小节的标题。虽然我不信上帝,不信佛,从不认为自己需要依靠某些东西来达到自己的目标,但近些年来,自己越来越存在这样的倾向,例如自己曾经说过“希望能够在clang或者llvm上搞得再透彻一点“,还开玩笑的说“靠着llvm和clang吃几年饭“,这就是问题所在。第一个问题是,将目标集中于“llvm和clang“,就丢失了学习的本质目标,学习的本质目标应该是“llvm和clang“后面蕴含的编译知识,静态分析知识,C++,代码架构等等方面的知识;第二个问题是靠着“llvm和clang“自己就丧失了接触其它项目的动力,也就丧失了无限的可能性。

现在技术圈的人或多或少都存在这方面的问题,例如有的人看到区块链热,就想依靠区块链能一飞冲天;有的人看到人工智能热,就想通过深度学习水个不错的工作。这些人都看到技术发展的规律了吗?恐怕没有,这些人最终没有落得个当韭菜的下场就算不错了。但是话说回来,客观规律又有谁能够轻易地看出来呢?客观规律必然需要通过不断的学习,获得充分的知识储备后,才能够看得清。因此如果说人生有silver bullet的话,这个silver bullet也只能是遵循客观规律。

3.2 自律

我不是一个自律的人,表现出来的种种自律的表象也只是因为不想输而被迫自律。这种通过外力来达到自律的方式必然是低效的,自律与人的天性本来就是相克的,而我还没有找到一个合适的方式来实现自律。

四.感悟

工作一年的感悟有三

  • 还没有做到“见自己“
  • 自己还没有脱离“虚荣心“
  • 还没有能力“见高山“

4.1 见自己

“见自己“是我一直想达成的目标,但是自己一直没有做到。人很难能够撇开成见,来看看看自己是什么货色。还是那句话,这种境界怕是一两年很难达成的目标。

4.2 虚荣心

自己始终无法摆脱“虚荣心“这个牢笼,之所以称之为“牢笼“,是因为它有时候会阻碍自己去接触更为广阔的世界。虚荣心会屏蔽掉别人身上的优点,忘掉自己身上的缺点。摆脱虚荣心,对于我这种极度自尊的人是比较难的事情,但愿在学到越多知识以后,能够在技术上摆脱虚荣心!

4.3 未见高山

“未见高山“不是自己认为自己很牛逼,眼里容不得高山。而是由于能力所限,自己还不能见到高山。等到自己能力提高到一定程度,高山自然会随之而来。

当然自己还处在一个“有高山“才能不断学习提高的地步,说明自己的境界还不高 : (

五规划

5.1 英语

上学的时候,自己从未意识到英语是自己的问题。但是近一年给clang提交patch的过程中,发现英语是我绕不过的坎,这个同样是我在技术社区进行交流以及流畅阅读英语文档的坎。因此进一步地提高英语能力是近一年的目标之一,而且这也需要极度自律。

5.2 理论能力

由于时间原因,自己近一年只写了不到10篇博客,而且理论方面的积累也落下了。静态分析是一个需要一定理论积累的方向,虽然大部分理论都是上个世纪的产物,但是这些知识在工作中还是非常需要的。而且自己理论方面简直是个渣渣,所以下一个半年需要一定的博客数量来支撑。按照两周一篇博客的数量,大致会有12篇博客。

5.3 动手能力

自从去年毕业之后,除了clang static analyzer自己并没有写过什么其它的代码,都是在现有的代码基础上,修修补补。近一年从未从无到有独立架构一个项目,因此暂定目标为实现一个简单的制定语言的代码分析器。

5.4 开放的心态

另外发现自己在技术方面我越来越保守的倾向,下意识地回避自己不熟悉或者不懂的东西,这显然是自绝后路,作为一个技术人员,应该能够对所有技术都抱有开放的心态。就像听技术讲座,只听到了自己懂的东西,而听不到不懂的东西,这可是一个可怕的兆头。

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页