跟技术大神聊天才知道,差距原来是这样产生的
大家好,我是跃哥。平时跃哥分享自的基本都是别人写的技术文章,但是其实很多时候,我们也需要多和优秀的人去聊聊天,比如大家可以来找跃哥聊聊,哈哈。
那今天,跃哥就给大家带来和一位大佬的聊天过程,让小伙伴们感受下。
作者简介
朝青暮,前端高级工程师,毕业于西南科技大学;现在就职成都某科技公司。从事前端开发工作多年,擅长小程序,管理系统。
2016年在某物流公司担任前端技术负责人,负搭建底层应用。
2019年在某科技公司做智慧校园、人脸识别、智慧班牌。
编写过《HTML5+CSS3+JS基础与提升》部分章节。
在某社区中单篇访问量达到2w+,涵盖技术类原创文章500余篇。
51CTO
前几天,跟一个以前的同班同学聊天,在聊天中,知道他跳槽了。是某上市公司的前端技术负责人,带领了一个前端的技术团队,工资是以前的几倍,还有项目奖金、年终奖。听到这里犹如晴天霹雳,我跟他一起毕业的。
记得那会实习的时候我工资还比他高几百呢,那个时候还是有一点小高兴的。咋个回事才几年,他和我的差距已经这么大了,有点不敢相信。
为啥这些年他的成长这么快,而我好像还在原地踏步。然后说道:“真的好羡慕你,你咋个这么牛逼”,赶紧夸他:其实心里还会有一点嫉妒的。但是我不能告诉他!(嘿嘿)
嫉妒归嫉妒,还是得向他虚心的请教,如何在职场中快速的提升自己的技术?
毕竟干我们这一行的,技术好才是王道。要不然我同学,凭什么可以做到前端技术负责人!
01
写代码之前先想清楚然后在去做
在我们写代码之前,我们应该对原型图中的逻辑是很清楚的;而不是一知半解,或者有些地方压根就不是特别的清楚;可能有些同学认为:我先写静态页面之前不需要知道业务逻辑,我只需要将我的静态页面写好就行。等调试接口的时候,再去详细的去了解业务逻辑。
恭喜你:我们想到一处去了。
我果断的将我想法给我的同学说道,然后他很认真的给说:这样说好像似乎没有太大的问题。那你有没有想过:可能在这原型中有可能出现逻辑问题?这很有可能导致你之前写的页面压根就没有用。
听到这里内心确实有一点慌了。看见我没有说话,他又说道:有些原型图可能还有些功能有可能没有反应出来,但是在用户操作的过程中:又是必不可少的;这些隐藏的功能可能导致你对项目的时间评估失误,从而导致项目延迟交付;这个时候你咋个处理这样的情况。
当然出现这样的问题不是你一个人造成的,但是如果你能提前了解清楚逻辑,这样的问题,就可以避免呢?
这个时候,我才恍然大悟,这就是我们之间的差距!
他是从整个项目的角度去思考问题,而我却只是在考虑某一部分,只关注当前问题。
02
注重代码的扩展性
当我们去做一个功能的时候,我们是有很多中方法去处理当前的业务逻辑的。
但是你有没有想过:你现在这样的写法会不会导致后面有新增业务的时候,不好去进行扩展,从而导致后面就像金字塔一样,后面的业务越来越难去处理,甚至导致无法去处理。
03
不断优化代码
当我们去写代码的时候,应去考虑一下,还有没有比这种写法更好的写法,而不是简单的将这个功能写完了就算了。
只是简单的当做一个任务而言,可能绝大多数的人,都是这样的想法。包括我自己很多时候,也是这样的想法,当然也是这样做的。
其实这样做是不正确的,这是一个非常致命的习惯。这就是为什么有些人工作了3-5年时间,技术并没有太大的提升的一个非常重要的原因。
其实这样他并不是一个有3-5年的工作经验,或者说一段代码一个不好的是为一个技能用了3-5年。
千万不要为做一件事情而做一件事情,这样是没有太大意义的,你也得不到成长。
04
代码易于阅读
我们很多的时候,会去维护人家的代码,或者说维护自己很久之前写的代码。有意思的事情就来了(想必大家都亲生体验过):发现自己维护的代码内容非常的长,而且逻辑非常的不清楚,存在互相的交叉。
有的时候,甚至连这个页面的业务逻辑自己都不清除了(尴尬不),有的时候一个变量或者一个函数一个标识符在这个页面竟然使用频率高达20-30次。
顿时就心情不好了,是不是想骂人?嘿嘿,冷静一下,这就是自己写的。啊~,自己写的?仔细的看了一会儿,发现真的是自己写的,欲哭无泪。
总而言之:就是写的代码非常不利于阅读。没有良好的注释说明,最终导致的结果就是:代码又臭又长。
05
坚持重构代码
可能很多人,看见这个构造,内心都慌的一匹。其实,构造并不是大家理解的那样,全部重新写。
如果你觉得某一个方法,某一个判断,某一段逻辑能够比现在的写法更加的简洁优雅更容易理解,都可以进行再一次的优化。都是可以进行重构的,哪怕你只改了一行。
只要坚持重构,你的代码会越来越好。你的逻辑会越来越严谨,你的技术思路也会越来成熟。
久而久之,你一眼就可以看出某一段代码在是否有隐患存在。只要不断去坚持,你负责的项目肯定是会越来越稳健。以后的维护以及后面的扩展都会越来越容易。
与之相反的是:如果你不去重构你的代码,随着项目的不断迭代更改,会导致你的你的代码会越来越长越来多越来越不好维护,这个时候,你每新增一行代码可能会影响之前的功能。
06
写好注释
我们程序员,都有一个毛病,自己的代码不喜欢去写注释,但又烦他人的项目不写注释。
我和他讨论了一下:可能是自己写的代码自己当时是非常清楚的,当时觉得没有必要写。他人的代码不写注释,我咋个知道到底是干啥的?我重新梳理代码,这不得掉几根头发呀。
其实大家都是同行,又何必相爱相杀呢。所以为了我们的同行,也为了我们自己,该有的注释必须写上。
以后,无论是他人维护还是自己维护都是非常爽歪歪的、美滋滋的。如果大家都这样做的的,“爸爸”以后再也不担心自己维护他人的代码了。
07
正确评估项目所需要的时间
很多时候,我们需要对一个项目完成进行周期时间评估,如果这个项目需要5个工作日就可以完成,不要在领导面前表现说4个工作日就可以完成。
除非你信心十足,艺高人胆大。否则肯定是给自己挖坑,自己把自己埋了。正常情况下:如果需要5个工作日,你还是要给自己留一点后路,给自己多一点的准备时间。
需要考虑其他的东西,像写完之后,自己测试几次,有时间更改,细节方面的优化。防止万一在做过程中在某个技术点上用时太长,这样预留一定的时间进行缓冲。
不要老实巴交的说:5天完成就5天,完全不给自己一丁丁的缓冲时间。如果5天完不成,别人会觉得你这个人一点都不靠谱。说5天完成结果5天你做成这个样子,至少你这一次做的东西给人印象不好。
08
学习新的技术,不断提升自己
问渠那得清如许?为有源头活水来。大家都知道,新技术总是层出不穷。作为程序员,我们始终要不断去学习新的技术,这个是逃不掉的。
既然选择了这一行,便只管接受它就好。不要有抵触学习新技术的情绪。如果我们抵触学习的新的技术,那么迟早是会被淘汰的。
新技术学与不学,它就在哪里一动不动,全看你自己的行动。
哪些地方可以免费学习新知识的地方呢?我个人推荐B站、慕课网、51CTO、腾讯课堂,这些地方都是有很优秀的资源的,有付费的,也有免费的。朋友告诉我,可能有些同学回家后,就没有学习的动力了,没有那一种感觉了。
那你也可以在平时不忙的时候,在公司带薪学习新的技术。可能有些童鞋就没有那么好运了,在公司忙的飞起,没有时间学习。
朋友推了推眼镜框给我说道:时间就像海绵里的水,只要愿意挤,总还是有的。朋友又在给我灌毒鸡汤,不管了,干了这一杯鸡汤,我们继续往下聊。
09
重视自己的bug
当我们完成一个项目后,肯定会有bug产生的。这是一个十分正常的现象,没有什么可说的。但是不知道你们发现了没有,在禅道上,你的bug好像是最多哈~有的自己举个手。
而有些人写完项目,产生的bug相对而言很少。那为什么会出现这样的问题呢?难道是他们偷偷“补课”了?
是这样的,他们是在悄悄的在交付前“补课”了。这些人将项目写完之后,将自己的项目整个流程测试了好几次,当他自己发现了问题就及时的处理了。
这样在提交到测试的时候,bug相对而言自然就要少一些。而有的人,写完之后,直接提交到测试环境去了,并不会自己测试一下。
有些人不仅会去测试自己的项目,还会去在自己的空闲时间总结自己的bug的类型:是语法类的bug、样式类的bug、业务逻类的、提示类的bug......
人家每次都去总结,目的是为了下次注意。因为有一部分是我们小心一点、仔细一点就可以减少这种bug,而不是有时间就去摸鱼,这样一对比你就知道为啥有些人的bug相对而言要少一些了吧!这样对比,你跟别人的工作能力是不一样的。
10
认识自己在工作的优点和缺点
在团队中,我们要认识到自己的优点和缺点。
朋友告诉我,最初他自己的缺点处是不愿意去面对麻烦和只考虑局部的事情。只关心当前业务,只把自己的做好了就行,从来不会与别人一起去交流。
典型的为了做一个东西而做一个东西,这样是没有实质意义的。我说这是没太大问题的,趋利避害是人之常情的嘛。
朋友告诉我作为已经工作了3年的人,不应该局限于此,应该看的更远一点。
直到一次聚会吃饭,旁边的一个同事才告诉我朋友。
如果你想要继续成长,就要去突破自己的面临的问题。
如果你能够改正自己的缺点,那么将来肯定会成为你的优点。
原来在一步之遥的距离,我们之间的差距就这样赤裸裸的体现了出来。
11
学会解决问题
对于刚入行的小白而言,在平时的工作中,我们总会遇见各种各样的棘手的问题,这样的问题在我们以前在学校中是没有遇见过的,有的时候甚至会出现刚刚项目还是好好的,后一秒项目就跑不起来了。
遇见问题不要怕,只要是问题就一定有解决的办法。我们可以去百度、在群里面互相问。
“百度用的好,问题烦恼会减少。”这是我入职第一天,我旁边的一个大佬给我的这一句话。看来没有什么问题是百度解决不了的(有点夸张),如果有是不是你搜索的关键词出问题了。
当然你也可以求助公司里面觉得自己比较信任的人哈。求助他人目的主要有两个:解决当前你所遇见的问题;还有就是提高自己的技术。
可能有一部分人觉得,我问了人家,别人会不会觉得自己的技术很菜。其实是完全没有必要担心这个问题的哈。
你技术如何别人刚开始不知道,但是过了一段时间还不知道吗?而且问别人也没有什么丢脸不好意思的。因为如果同事给你讲了,是不是可以增加你们之间的关系。如果没有给你说,你可以鞭策自己,自己技术还不够好,下班后可以多花一点之间去学习。
只要你把这个问题解决了,你今天就成长了,我们都是在问题中成长起来的。
12
坚持不断输出自己知识
很多同学都喜欢去浏览社区,安装了很多技术性的app,自己每天逛一逛,一方面是为了自己消磨无聊的时光。看见写的优秀的文章,自己喜欢的文章,点一个赞,证明自己看过,然后点击收藏夹中去吃灰,从此以后在也不会去临幸曾经收藏过的文章。
其实这些你认为很厉害的大佬,曾经也是小白,他们之所以成为你眼中的大佬,是因为他们在某一方面不断的去学习、总结、积累、持之以恒,待到彼此间的差距越来越大的时候,最终演变成鸿沟的时候,就自然而然的成为了我们眼中的大佬。
像痴迷研究css的大佬——张鑫旭。非常痴迷研究css,用十年磨一剑的功夫去专研css最终成为了大佬。人家整整用了十年,在这十年里从未间断过对css的研究和学习,最后出版了一本书《css世界》。
也许,我们绝大数人坚持不到十年这样长久,但是我们可以坚持一年或者两年三年,这个我们绝大多数人是可以做到的。
只要我们去坚持、积累、学习,每隔一段时间强迫自己去博客输出自己的知识。
你知道我为什么强调输出吗?
其一:当你没有知识输出的时候,你就会逼迫自己去学习;你就有新的知识输出;这样可以形成正循环。
其二:当你输出自己的东西这个过程中,你会对这个这个体系有更进一步的认识,久而久之,你会逐渐形成属于自己的体系。
也许再隔几年,你就会成为别人眼中的大佬。我们与大佬之间的差距,就差一个坚持!
13
每天总结一点点
学会总结:咋个总结,我反问他:你是怎么去总结?
总结就是将自己在平时工作的遇见的问题记录下来,目的是为了下次遇见这样的问题快速解决。或者下次要如何避免这样的问题再次产生。
总结是不分大小的:哪怕你遇见很细小的问题:一句简单的css、一行简单的js,只要是你以前不知道的,或者它解决了某个问题,你都可以在下班后用一点点时间记录下来。
每天抽一点时间看一下就可以了,日积月累几个月之后,你就发现自己在某一方面有属于自己的见解。
这个时候,差距就会产生。原来积累会产生差距,差距源于平时他对工作中技术的积累。