天赋不够,那就努力来凑嘛。
今天我们采访的嘉宾是 @水冗水孚。他是一个文科生,快毕业时先尝试做销售,发现不喜欢(做销售要会忽悠);而后找到IT这条路,成为了一名前端工程师。初入行时对技术仍然懵懂,也曾沉迷游戏不可自拔。入行 5 年历经三家公司,从最初的不会逐渐成长为一个前端组长。坦然面对 35 岁危机,做好准备,开心最重要。本期我们很荣幸地邀请到了他,让我们一起听听他的精彩故事和心路历程吧。
Q:向大家简单的介绍一下自己吧~
大家好,我是水冗水孚,这个名字似乎很奇怪,实际上是“沉浮”二字拆开的意思——人生在世、浮浮沉沉、摸索前行、不忘初心。
从 2018 年一月报培训班学 Java、注册 GitHub ,到现在已经在行业中折腾 5 年了。5 年中待了三家公司,现在是第三家。平常爱好就是看小说、追动漫、敲代码,通过视频平台 B 站、抖音等渠道学习。
现在用的技术就是 Vue 生态 2 和 3,以前写过 React 的项目,不写的话很快就忘了。工作上有 PC 端还有移动端,PC 端是前后台,移动端是 APP、小程序、H5。
Q:可以介绍下你的工作历程吗?
我非科班出身,本科学的是经济类专业,是 18 年 6 月大学毕业的。在大四时也很茫然不知道干啥。17 年底,知道了有这个程序员软件开发这个东西,在学校的一个老师的介绍之下,18 年初就去校外报了一个培训班。
一开始学的是 Java,知识点的每个字我都认识,连起来我就不太明白了。Java 的一堆命令,看着头大。也不知道为啥 Eclipse 要这样运行,环境变量配置半天都没搞好,很无语,提不起兴趣。
后来发现前端有意思多了,你设个样式,它就出来对应效果,比较直观。然后就各种途径学呗,加之有认识的学长指点,勉强算入行了。学长的同学在上海的一家外包公司,岗位是人事招聘类的,当时项目缺人对技术要求也不高,会用 JQuery 就行。在他的推荐(安排)下,面试进了这个外包公司,带着崭新的毕业证就立马去上班了。
去了以后那边让学 Vue 干活,在老员工的帮助下(和老员工相处就是嘴甜点,客气点、勤快点、大方点他们也会帮忙指点的),加之自己的努力下(上班干活,下班学习),基本的画页面、调接口、增删改查很快就能独立完成了。
那个时候比较喜欢打王者荣耀,比较痴迷,我的工位又在角落,我把排期不算太紧急的需求抓紧时间干完,要是领导不在,我就偷偷打王者荣耀,有些颓废(上班干完活找机会打王者,下班组队开黑)。糊弄了一年多,后来洗心革面,就把王者荣耀给卸载了,后来忍不住又下了,再后来就把王者荣耀给注销了。因为待了一年多基本上把公司的业务搞熟了,很多东西也都不难,然后就开始带一些新人实习生(角色转换),他们遇到一些困难,一些 Bug,我就帮忙看一下,与新人共同成长,然后也就成为了类似于小组长的角色。
后来又干了不到两年,就跑路了,原因是转不了甲方,一直干外包没啥归属感。然后就跳槽来到第二家做物流快递的公司,前端组长,那个时候我已经有三年多的经验了。在这家物流快递公司又干了一年多,因为行情也不行, 双十一、618 的件跟往年相比少了很多,公司也老是说裁员,没啥安全感。然后有好机会就来到了现在的公司。
现在在这家公司就是在写代码的同时,去搞清楚每一个业务流程环节有哪些细节点,如何安排会更加合适,这也是一种业务上的壁垒。我觉得一个开发如果只是闷头写代码是不行的,肯定要懂业务,知道业务的流程,步骤,考虑的更加周全,这样才能给予用户更好的体验。
另外自己年龄也大了,也不想跳槽了,找一个领域方向,不断深耕,长久积累,这也是一种竞争力。
Q:你是如何找到编程这个方向的?
大四的时候不知道干啥,不知道干啥的话你就去问,去咨询,大学毕业无非就是考研、考公务员、出国留学,然后就是就业,去做销售,或者搞个技术,除此之外你还能干什么呢?创业的话不是一般家庭能折腾的。
像我们普通老百姓家的小孩,家人们往往也给不了你太多的建议。那就去问一下学长学姐,看看身边的朋友都在干什么,然后分析分析。大四上学期尝试了一下销售,不太喜欢,那就搞门技术吧,搞什么技术呢?实际上选择也不多,最后准备搞计算机。其实也是对比了别的技术,比如说去做视频剪辑拍摄,要买摄影摄像器材学习拍摄剪辑技术;比如去搞那种偏向于街头卖艺的,那我就要学唱歌,要学什么跳舞,学播音主持什么的。此外要考虑一下成本,你付出的成本跟你最终得到的收获以及它的一个转化。比如你可能花了 1 万块钱去学这个东西,但是你出来还是很难找到一份能养活自己的工作,等等。
所以人的路都是探索出来的,你不知道干什么,就去问,去咨询,去查资料,然后结合自己的情况,发现这条路好走,你就往前走。不好走不适合,那就退出及时止损(当然要稍微坚持一下,不能接触一下就放弃)。
比如我一开始尝试能不能干销售,然后发现不行不合适,不喜欢那种生活方式。接着我看看能不能干 Java,似乎提不起兴趣。最后发现还是前端好玩,就你了,三件套走起。
大致就是这样入的行,入行就是自己摸索,找到适合自己的方向,然后就是加油干。当然这个过程中不要玩物丧志。比如王者荣耀及时注销账号(注销不是卸载)。
Q:是否怀疑过自己可能不适合编程?
我学 Java 的时候,培训班的老师讲构造器,我就很疑惑,心里想构造器是啥?我听说过热水器,不知道什么是构造器;当时说要
new
一个对象,new
是关键字,那为啥没有old
关键字呢?真奇怪!现在想想当时真是很蠢萌。因为是一个全新的领域,没头绪。然后就怀疑自己是不是不适合 Java,又经过一段时间的坚持,终于,finally,发现我的确不适合 Java,刚入行,没有计算机基础,对那些东西没有任何概念,两眼一抹黑。
编程是一个大类,里面有一些语言细分:C、C++、Java、Go、Python、JS 等,也有岗位细分:算法、大数据、后端、前端、软件测试。这些东西是有入行门槛的,门槛高的或许不适合,门槛稍微低一些的,那就好上手了。不说咱们得多喜欢,至少要不讨厌。
总结一下就是,首先得自己的智商能够达到那个水平。你要让我去搞什么算法(我力扣才刷了不到 60 题),那东西有点难,或者我拼了命也能搞,但是不太适合,所以就搞自己喜欢的,而且符合自己的智商范围的(适合自己的赛道)。
Q:你如何研究和学习代码?
首先有一个基本的认知,就是人是有智商的,我觉得我的智商其实不行,天赋不够,那就努力来凑嘛。但是努力你得找到方向。研究代码也要找到代码的方向,首先我们要明白这个代码到底要干啥。根据我这些年的理解,我觉得代码开发说白了就是去学习规则,然后理解规则,使用规则,最后去自定义一套自己的规则。对应到编程语言学习,比如首先去学习如何定义变量,如何循环遍历等一些规则 API,比方说我们选中一个 dom 元素,可以使用语法:
document.querySelector
,那,为何不叫做:document.chooseDom
呢?这是规定、规则、古人定好的、这样写浏览器能识别,等等。这是它的一些规则,你得按照它的规则来,即遵循它的语法,不按照它的规则来肯定就报错,控制台就会一大片飘红。我们学会它的规则之后,再去深入地理解它。那些编程语言的设计者,他们的智商都是很高的,他们在创造这门语言的时候,会想得非常的完整、全面(或许会遗漏,但后续也会补充,如ES6、7、8、9...),很多规则可能我们工作中只用到了百分之 60%,或者说 70%,另外一些规则可能我们都用不到,但是我们还是要去研究这些规则、这些语法。当我们进一步理解了这些规则之后,使用起来就更加的得心应手,写的代码就会更加的优雅,因为编程就是一些规则的组合使用。最后你再去封装一些东西,无论是封装组件也好,还是封装工具函数也好,其实都是你自己定义的规则。别人如果想用,直接拿你写的东西粘过去,遵循你自定义的规则(传参的规则,使用的规则),最终完成需求。
coder is ruler...
我空闲逛逛 GitHub,逛逛 Gitee,一些社区论坛,一些技术交流群。然后关注一些比较厉害的大佬,他们都是入行十年八年的那种,看他们的一些心得文章,能够更进一步的理解一些东西。说得直白一点,就是你要学会去抄代码,但是不能直接拿过来抄,你要会改,你要能看得懂,要知道它的逻辑。它的流程,第一步、第二步、第三步,然后到第 n 步,可能第一步里面它又分为三小步,这三小步里面又分为几个方向,每一步它是怎样走的。你看到人家的一些写法,往往有很多规则语法API,你可能没见过,或者说你见过,但你不知道原来可以这样用,真的是开了眼界了。所以首先要去抄代码,抄的时候要能看得懂,抄过来要会改。我们抄的不是表面的代码,而是代码中的一个思想,一个解决问题的方案,一种思路(包括看源码也是看其中的代码思路),这是我的理解,仅供参考。我觉得写代码最主要的还是一种思路,有了思路,其他东西都好说,就怕没有思路,想不到。
Q:你是如何坚持写文章的?
我最早写文章是在 CSDN, 19 年的时候,写了几篇,然后有人评论说我写得很水很烂,我一气之下就不写了。后来遇到一个需求,我以前写过的,只要把代码粘过来,稍微改一下就解决问题了,但是我找不到以前的代码了,于是我就想这个东西还是得积累一下,然后就开始积累自己的代码库,顺带分享一下,不仅帮助自己,也能帮助别人。自己多查查资料,注意发文中措辞严谨性,再加上自己的理解之类的。而后就有人收藏、点赞、评论,给予认可,感觉还不错。现在写了 210+文章了,都是一些经验的积累。这些经验的积累源自于日常笔记记录。
通常干完活以后我会再把遇到的 Bug 复现一下,再写个小 Demo,然后再分析分析解决它的思路过程,记下来,觉得还不错的话,就分享出来这样(或者一些功能知识点看看是否可以换个角度去解决)。
写文章除了能够加深自己对知识点的理解,帮助他人,以后复用自己的代码以外,还能够对于面试找工作有一定的帮忙。试想,大家都差不多的简历,可是你是一个技术博主,写了好几百篇文章,那么面试官就会觉得你热爱编程,有分享精神,这正是他们团队所需要的,因此,offer 的天平就会稍微偏向于你啊!
写文章,也是你的个人亮点哦。
Q:如何看待 35 岁危机?
危机这个东西,我也想了好几年了,其实谁都有危机,不是说只有程序员有危机。中国人多,不缺劳动力,所以任何行业都会有 35 岁危机。你年龄大了,干不动了,精力、体力都跟不上了,没有年轻人好使好用,那怎么办?我觉得还是尽可能地提升一下自己的技术,积累一下自己的人气人脉,认识更多的人。我写文章,其实也是想有更多的关注,将来万一 35 岁失业了,发一个帖子说有没有坑位需要招人,这样我的机会或许稍微多一些了,这就是一种应对方式,你认识的人多了,比别人先一步知道这个坑位需要招人,那你就先过去嘛。我觉得工作其实大家都能干,无非工作能力和工作态度的问题,能力要靠自己修炼。态度比如说你认识我,你觉得我靠谱,你也不用 BOSS 直聘或者猎头什么的去承担一部分招聘成本,而且知根知底,你肯定优先推荐我去面试,对吧?这样工作就会好找工作一些。
第二的话就是,只要你工作用心,持续学习进步,每天进步一点点,勤勤恳恳干。至少被裁的概率会稍微低那么一点点。我做了前端小组长之后,也接触了招聘,累计面试大概有六七十个人。做了面试官以后发现很多人还是很优秀的,但是也有很多人,他们平常可能只是把工作做完,下班也不去学习不去做自己的积累,有的人可能年限到了,但是实力还是稍微差一点。也有的人两年经验能积累到 5 年的水平。我见过一个工作了 7 年的,但是他的水平和年限不成正比。
第三就是心态要放平,哪怕被裁了又怎么样,反正日子还得过。大环境不太好,那就降低自己的欲望呗。比如本来想买一个 200 平的别墅,那就换成 90 平的居民楼,对吧?想开跑车,就换成一个代步车,经济上要学会节流,对吧?吃饭什么的,也不是顿顿什么西餐牛排红酒,该省的省,该花的小花。然后就是开源,看能不能搞点副业,做点兼职。搞副业的话也要学习,要投入的时间和精力,所以要考虑清楚,这些精力如果投入到主业里面,带来的收益会不会更高呢?(考虑清楚再尝试)工资 5000 有 5000 的活法,5 万有 5 万的活法,对不对?难道说 5000 块钱就一定活不下去了?其实也不是,降低自己的欲望,知足常乐。
最后就是降低自己的欲望的同时还是要有一些目标的,要给自己制定一个计划,学一些东西。不说十年五年,计划个一两年就行。计划太长远的话还是会赶不上变化。时代老是在变嘛。计划要学习哪些知识点,学习哪些技能,假如将来计算机这碗饭吃不住了,那我手里还有别的技能,至少能混口饭吃。焦虑是没有用的,焦虑可以稍微 EMO 一下,但要控制一下时间,别一整天都在难过中度过。就是你先去想,想完了之后再去尝试,然后制定计划要做什么,然后去完成就行了。大多数人制定的宏伟计划都很难完成,也不是说我们要做出什么惊天动地,铭记于历史的大事。就把小事做好,开心地度过每一天也挺好的。
Q:工作至今有哪些感悟?
大概有五点。第一个是开发上,从接触编程到现在,我慢慢理解当初 Java 的东西。当然我不搞 Java,我现在就搞点 Express,就是 Node 那一块,平常偶尔写点接口,用来做一些数据模拟测试,包括自己网站上的一些接口,或者一些项目里面的接口测试,都是用 Express 写的。除了 NODE 也学了 MySQL 的一些语法。开发过程中,前端做了哪些事,后端做了哪些事,这个数据怎么传递的,怎么存储的,怎么查找,怎么返回,怎么加工,如果对这些东西有一个完整的思路,那么就相当于有一个全局的视野,对于开发还是有一定的帮助的。
第二个是业务上,那种比较大的项目一般都是有流程环节的,比如一个仓库管理系统,订单进来之后,商品要上架,然后盘点,然后商品出户、分拨等等,如果不知道流程,不知道下一个环节是什么,你干活都少了很多头绪,这也是一个壁垒——业务方面的。
第三个是学习坚持上的,2018 年我学校外边的那个培训班学编程的学生,现在只有三分之一不到,还在继续做这个行业,其他的人因为各种各样的原因离开了这个行业,好坏不做评价,反正一直坚持吧,至少我们能超过那些坚持不下去的人。
第四个就是招聘方面,有的面试官觉得自己高人一等,我觉得不应该这样,因为大家都是找工作嘛,说不定我看上你了,你还看不上我公司呢。我之前做面试官时,和候选人都会像朋友一样去聊天,在这种没有压力感的情况下,能得到更多候选人心里的想法和他的预期,也能够对他的技术有更好的把握。面试也是一个相互学习的过程。我以前去面试的时候,如果面试官很拽,我基本上就会给这个人打上一个叉号,或者给这个公司打一个叉号,假如以后我来这上班,如何一块合作把工作做好呢?我觉得我们打工仔上班嘛,首先是混口饭吃,但是也得有一个差不多的工作氛围,如果同事之间你瞧不起我,我瞧不起你,工作也不会太开心。所以跟面试官聊天的时候,看公司,看薪资待遇福利,还要看员工人品,因为将来是要一块共事的,同事之间的工作氛围要有个差不多。
第五个就是找对象方面,能大学找对象就不要错过,工作以后,实际上圈子也不大...懂得都懂。
Q:对未来有什么规划或者目标?
脚踏实地工作、继续耕种技术、深刻理解业务、觅得良人相伴、组建幸福家庭、每天都要开心。
Q:你在社区关注过哪些用户?
推荐 @卡颂 大佬,懂得都懂。
Q:在社区最大的收获是什么?对社区有哪些意见和建议?
收获的话,就是收获一批关注,然后工作中会遇到一些问题,一时半没思路,就来社区搜一下,找找答案。社区有一些回答其实挺好的,有人说了一些思路,立马就能够启发你,这个就是工作灵感上的收获。
对思否的建议的话,可以多参考别的平台的一些功能。思否比较简洁,虽然简约也是一种风格,但是也不能太简约了。在功能丰富和简约之间做出一个平衡就行了。
小编有话说
“人的路都是探索出来的”。诚如 @水冗水孚 所言,很多时候,我们身边的人并不能给我们很好的建议,人生的路只能靠自己一步一步走出来。感谢 @水冗水孚 分享了很多很好的方法和建议,也希望每一个迷茫的人,都能像他一样,找到自己人生的方向,努力尝试,勇敢地往前走。
《思否有约》记录你与编程的故事。欢迎小伙伴们加入访谈,共同分享成长之路,扫描二维码报名吧~
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。