码农的自我修养

665 阅读10分钟
今天这篇文章,是昨天晚上突然想写的。目前为止,我作为一名在IT行业沉浮将近6年的技术人,有些事有些话,我经历过的,我看到过的,我思考过的,憋着一次性分享给你。

我先说说我自己,我现在在公司的title名义上是架构师,但我对架构师的定义程度比较深,自我感觉还需努力。我更喜欢定义自己为全栈工程师,而我感觉我是真实意义上的全栈。

经历过移动互联网浪潮伴,随着移动端的成长和成熟;创过业做过技术与业务的桥梁;目前在公司担任架构师,前期和需求方沟通,然后由我制作需求原型,外加演示,敲定初稿后。设计技术架构,包含但不限于后端模块设计、接口设计、数据库设计等,并用图形呈现出来。公司这边有进驻的人力,一般我只需要把核心部分搞定,包括一些核心代码的编写、文档编写等,其他的安排出去就好。有时,人力不足时,我还需要兼前端页面的开发等。

以前,对于总是变化的技术和内容,我会感觉到不舒服,因为变化太快了。就像网上段子常说的,“学不动了”、“求求你别学了,跟不上了”等之类的话。哈,当然这些只是当作段子来看,学不学这些都不是由我们自己决定的,而是由行业的发展决定的,不学就出局呗。

现在,我释怀了,面对未来和不确定,有时还会有点小刺激,我享受其中。与其排外,不如欣然接受新鲜事物,与时代共振才是我们紧跟时代的方式。

面对变化与不变,架构师常说对于不变的部分要下沉,对于变化的部分要上浮。我想这个思想理念,其实也适用于我们日常工作的方方面面。例如作为一名码农,你下沉的首先是你解决问题的思维方式,获取信息的途径和路径,以及分析数据得出结论的能力。其次,至于选用哪一种方式解决问题,用了什么技术点来实现这个需求,需要但不是最重要的。

对于程序猿,我有个小建议,入行前3年,你可以把主要精力集中放在解决问题的形式上,例如用了哪些技术点、怎么用等等,这些是前提。然后,入行4-7年,就要开始考虑下沉你的经验和思维。因为这个阶段,需要你有更高的视野,你需要把以前的经历经验下沉为方法论复用,这是你区别刚入行程序猿的壁垒。

下面我展开来说,我理解的《码农的自我修养》。

心法篇

心法主要谈的是思维方式,万变不离其宗,所有的东西都是由思想衍生出来的。

思维方式有很多种,对于程序猿,这里我想说两个思维方式,分别是“层次思维”(也可以说是直升机思维)、用户思维。

什么是层次思维?

层次思维要求我们看待问题,要层层拔高,只有当你不断站在更高的位置看问题时,你会慢慢看到问题的全貌。不断提升看问题的视角,就能看到问题从因到果的问题链,错综复杂的关系链。这些东西都是做决策的判断依据,是CTO或者领导必备的思维方式和工具。

所以说,码农与CTO真正的差距,不是能打多少行代码的差距,而是思维方式的差距。码农就像井底之蛙,只看到自己看到的那片天,感觉还蛮好的;而CTO早已经跳出了那个井,看到的是广阔的天空和延绵不绝的大地。这本身就是一种降维打击,就像之前听过的一个段子,地球上最聪明的那个人比不过外星人最笨的那个,其实就是这个道理,降维打击、等级差异。

什么是用户思维?

用户思维其实要求的是,我们要从用户的角度来看待问题和场景。平衡好人、场景、技术这三者之间的关系。

用户思维要求我们站在用户的视角来看待和思考问题,用户真正需要的是什么?怎么满足用户的需求?还有没有其他更好的方式?

例如,有天一个用户找到你,问你要一瓶矿泉水。这个时候你会怎么做?

直接给他一瓶矿泉水?还是说,你会先问一下用户为什么会需要矿泉水?是基于什么场景下的需求等?

也许用户只是口渴了,只要是解渴的液体都行。那么无论你提供的是矿泉水还是茶,还是其他饮料,都能满足用户的需要。反而是用户会觉得你思考全面,考虑到了方方面面,不同的解决路径等,这就是用户思维。

态度篇

在职场里,我认为做事的态度比能力更重要。

能力是可以培养和学习的,而态度则是一个人的里子,是一个人的修养以及事物认知决定的,这个需要阅历、经历和见识。

古话说,一个领导者最重要的素质排行是,德、勇气、能力。

能力是排在最后一位的,所以身在职场的朋友,要清楚地认识到你所处的位置,千万不要恃才傲物,恃才傲物的这种选手在职场是活不了几集的。

在职场里,怎么体现一个员工的素质?

职场里的人分三类,首类是自燃型的、其次是他燃型的、最后是阻燃型的。

我们要争取做自燃型的人,做人做事有自己的规划和计划,与公司同频,有长期规划、中期规划、短期规划、每日工作计划等。

就算达不到自燃型的人才,也要做到他燃型,千万不要做阻燃型的人。阻燃型的人不单止自己没有什么产出,也会影响别人产出,是公司除之而后快的毒瘤。

说完了职场人的基本素质之后,那怎么体现职场做事的态度呢?

让交代工作给你的人放心、安心,这就是最好的工作态度。

事事有计划,阶段性有反馈。做事认真负责,关自己事,精益求精,用百分之120%的态度输出你的价值和成果。

只有这样子,你不单止磨砺了自己的心性,也能获得很多额外的信任和认可,这是你对工作敷衍了事所得不到的东西。

这些东西价值百倍,会影响你一辈子,越负责越自由。

剑术篇

下面我列举几个场景来阐述剑术的具体实践。

1)日常的工作计划

虽然公司通常会有一些公司层面的,例如像jira这样的项目计划管理系统,但我还是建议每个人都需要有一份自己的日程工作安排。

在系统上记录的计划一般都是关键的节点信息,不够详细,而且变更性较弱。在自己的云笔记上,按照规划把自己当天的工作计划列一下,不用太复杂,就标注日期,然后1、2、3这样按照优先级列点,一来可以清晰当天的工作内容,今天完成不了的明天接着安排,以后阶段性做工作汇报的时候,也不用冥思苦想,直接打开工作计划,把关键成果copy出来即可。

工作计划是紧盯着目标,然后展开一系列的任务,是不断推进目标达成必备的手段和工具。

2)从0到1快速上手

怎么快速从0到1上手一门语言?

快速上手,我是有点发言权的。我以前写过一篇文章介绍过,两个星期快速上手、熟练应用vue。

这里,有些方法论分享给你,可以作为参考。

对于计算机语言,我一直的理解就是工具,语言本身就是工具,我们要清楚这个概念,不要把自己给埋进去了。

对于语言,那么就有语言的组成语法,其实就是语言的规则。

我们要快速认知和使用一门语言,那么第一步就应该去阅读语法,例如vue的语法及常见的用法,不用太深,了解有个概念就行。

好,接下来,你需要借力,借助别人做好的轮子。(其实很多开发思维都类似,最快落地的方式就是站在巨人的肩膀上,然后改进。)

当时,我在github上搜索vue的轮子,看看有没有现成的做得比较好的库,还真被我找到了。因为,我以前也做过轮子库,也开源出去,我深知轮子库对效率的重要程度,它可以直接避免很多无用功,直接上业务逻辑。

说到这里,还是挺感谢那些乐于分享的程序猿,是你们让这个世界更加美好。

有了轮子库之后,我们就要磨业务逻辑了。这里要注意的是,尽量把主干流程都跑通先,例如vue的打包、vue常用的命令、vue的部署、vue框架用法及配置等。只要主干流程是通的,剩下的分支树叶,慢慢补、慢慢磨没关系。

上面的介绍,其实还是需要你有一定的基础,起码你的经验和思维会告诉你,接下来要做什么,去哪里找信息,怎么使用信息,还有哪些不足等。另外,最最最重要一点是,心态!临危不乱,有条不紊地处理挑战和问题。

3)表述问题的方式

其实很多人都不会问问题。

有时候,我会收到网友的问题,什么都不说,直接丢给你“xxx什么什么的404,怎么解决?”

对于这样的问题,脾气好的博主直接不理你。遇到心情不好的主,直接就怼你了。什么素质,不给场景、没有截图、没有更多的信息,你让我猜?你当我是神仙吗?浪费我的时间。

一个好的问题表述应该把你的预期,过程到哪,做了哪些努力,遇到什么问题,需要什么协助都写清楚。让人来回确定问题不过分地说都是耍流氓,你都没有想清楚就来浪费我的时间,让我来帮你梳理问题?我们不要做这样的人,这体现职场的专业度。

另外,我们在描述一件事或者一个问题的时候,特别是给上司汇报。尽量简短,一次性地把情况给说清楚了,能一句话说清楚的就不要两句话,尽量不要让对方来回确定内容信息。

最后的话,最好的时间应该留给思想和知识,作为码农也要有基本的素质和修养,这是你以后能否走得远的一个很重要的因素,希望你在这条路上能不断前行,做更好的自己。