前端这条路,我们该何去何从(续)

497 查看

距上篇《前端这条路,我们该何去何从》发布已有将近两个月时间,写那篇文章时我是很纠结的,因为一个月就要过去了,但我的工作却一直没有着落,想起刚来北京时,那段时间除了学习什么也不想,也没有烦恼只想一心的学,现在想想那时真好,有几个年龄比我大的朋友很是羡慕,因为他们总有很多烦心的事,而那时我是体会不到的,对于一个刚踏上社会的人来说,但也正是因为那时什么都不想只想学好前端,所有那时进步很快,但也走了不少弯路,这都是后话了。

本来不想把自己真实的事写出来,但想想也不是见不得人的事情,而那也是一个成长的过程,几年后说不定还是一个不错的纪念,本文不会按照特定的顺序来写,想到哪写哪,希望本文能给你带来帮助。

那是我离开上一个公司的半个月里,那段时间里每天早上一起来就看个大网站投的简历,一开始是在智联,51job,后来发现这些网站在一两个月前就彻底埋没了,因为投了将近2000多份,竟然只有几个打电话的,后来索性都在拉勾上投了,虽然成功率也不高,但真实性稍微还好点。

那段时间每天都是是在希望和绝望中度过,一个月对我来说太长,但好的是自己还懂得时间的珍贵,虽然没有面试,但也得学习啊,于是把JS的面向对象等东西重新研究了一下,也是在那一个月里面把面向对象拿下的。虽然精通说不上,但至少自己在实际开发中知道如何运用了。有一句话真的不可不信,“没有什么是拿不下的,只是看你愿意不愿意花时间”。

离开上一家公司的理由想起来就可笑,因为公司是个创业型的,我刚去时,公司只有几个人,而里面的几个技术属于兼职,因为他们在百度,淘宝等公司上班,而公司也还处于创业初期,老板也和他们是朋友,总之让他们离职是不太可能。另外因为他们不再北京这边,所以平时上班也就我和老板两个人。一开始也没想多,反正干好自己的工作就行了,在那公司还挺忙的,因为公司的项目网站需要整体改版,很多得重新写,公司用的是Angularjs,虽然我也用过一些,但之前也没有实际用它开发过,另外因为之前对改版并不熟悉,以至于当时连HTML都不知道怎么写了。别笑,这是大实话,在一个别人写好的页面中去改东西,可不是那么简单的,而且还没有几条注释的情况下。于是只好请教公司里面的大牛了,他远程试着写了一段给我看,过了几天感觉好多了,可以自己写了,但时不时的也还是有些问题,有时请教他,有时通过搜索引擎。

一过就是半个月,对公司的开发流程也大多熟悉了,后来感觉公司开发速度太慢了,因为其他几个后端技术都不在北京,而且还在其他公司上班,当有需求时,总得好长时间才回复过来,所有我觉得太浪费时间了,这也是导致我离职的重要原因,另外一点就是感觉在这公司不踏实,因为老板把太多心思发在技术上了,而我认为最重要的是怎么推广,后来和朋友一起去吃饭时也谈到这个话题,为什么说是推广呢?要是你产品够好,别人也不会太在乎你网站界面,除非特别丑的那种,另外一点就是创业公司,没事老改版也解决不了流量的问题,当然作为一个技术人员说这些都是多余的,这里不是我对技术有偏见,而是我觉得一个老板掌握着公司的生死,他应该把更多的时间花在正确的事情上。

当然老板有些方面我还是很认同的,记得刚去公司时,我问他公司为什么不自己弄一个网站,而放在微信公众平台里面。他说你一个新站点能有多少流量,你还得自己推广,吃力不讨好的事,放在公众平台里面大家都有微信推广也方便,人流量也大,何必做一些没有意义的事呢。这句话我很是赞同,以前我一直想自己弄个,个人博客,但发现根本没多少人来,因为是新站点,更何况也没几个人认识,又有谁会去搜索呢,所有后来索性不自己建博客了,干脆用第三方平台,也不需要自己去推广,安心写自己的东西。因为他的这句话,我很是看好公司,但后来发现始终没有像他说的那样。他还有一句话我也很喜欢,他说一个人要想在团队里面值得大家的信赖,那什么是值得信赖,当有问题时,说出问题,但这还不够,知道问题的人很多,所以你得有个解决方案,如果是做的更好点的,不但说出问题还自己解决问题,这才是值得团队的信赖。

在离职的前一天,一个技术(当时是我师父)找我说,为什么想离职,是公司的问题,还是说找到更好的了,如果说是因为公司的一些问题而逃避,那到下一家,你就能解决吗?不管你到哪都会遇到这些问题,遇到一点挫折很正常,但也不能一直逃避。

那些天我想了很多,当时离职的原因可能就是因为觉得公司没有发展前景,绝望了吧,另外一点就是觉得和其他后端配合太麻烦,还有一点就是感觉老板发不起工资了.但后来确实发了工资,可能想多了吧,其实不想的时候还好,不知道是从哪天开始有离职的想法的,我只知道一旦有了这个想法,它就像魔鬼一样,难以逃脱。

虽然在公司每天都忙的不可开交,但除了前面几天有学到一点东西以外,基本上每天都是重复着之前的工作,后来才知道,想要提高技术不只是每天写代码就可以解决的,更多的是思考,这都是后话。

讲讲当时的几次面试,一开始面试很虚,因为觉得自己技术不是太好,但面试次数多了以后也就没感觉了,有些公司需要笔试,有些公司直接面试,大部分笔试的公司一般都是小公司,笔试写的感觉很不爽,不是因为难,而是大部分单词忘了怎么写,我认为笔试很难看出一个人的水平,而且要是在一个屋子里,别人还可以通过手机搜索答案(对于一些公司的笔试题都是网上扒下来的),我认为直接面谈比较合适,其实想看出别人是不是有工作经验很简单,随便问几个实际项目中可能出现的问题,就可以难倒一大片了。大部分公司是先人事面,主要问一些你的一些经历什么的,在上一家公司干了什么之类的,最恼火的是有些公司根本不问技术。后来发现找工作,大部分都是靠运气,那么工资呢?就看你胆子有多大了,前几天和朋友出来吃饭时,说到这个问题,他说之前他的一个朋友去新浪,当时实习期要了好像是19K,在实习期过后,他的上司问他当时为什么只要了19K,他的上司说他是他那部门要的最少的。他要19K也是心虚,觉得要的够高了,但除了第一次开口谈工资后,将来想升就不是那么简单了。所有说工资的高低大部分看你自己敢要多少,可能你会说面试的时候我工资是要的高啊,但没人要啊,关键你的底气就在那,谁看不出来呢,另外就是你投的公司他本身觉得技术人员不值那个价钱(很多创业老板就有那种想法)。这个得看你运气了,另外一点就是你技术比较好,而且是本科毕业之类的,或者里面有认识的人,让人内推。不然就算你技术厉害,谁知道你技术真好还是假好,你得让人知道啊,如果你是后者建议您开始写博客吧,把自己技术分享出去,扩大知名度,至少将来成大牛了,还有人知道,不然你找别人说,我技术很厉害招了我吧,谁理你啊。

你可能会说学历不代表技术,是不代表技术,但至少说明人家以前比你努力,虽然说我也何尝不是这样想,因为我也没啥学历,但知道曾经犯下的错,始终是得还的,另外一点就是你无法改变这个事实,我们只能靠现在的每天去弥补,相信有一天,它不会再是你的一道坎。

对于找公司,谈谈我的体会,首先你想长期在公司待下去还是只是说去混个经验,如果只是混个流程什么的,就不要太在乎公司的发展什么的,因为和你没有任何关系。还有一点我认为最重要,就是看你对这个公司是否有兴趣,如果都觉得没意思,干的不爽,那就算公司前景再好,也是空一场。自己觉得有意思,做起事来也有干劲。其实对于很多人来说公司的发展真的不重要,大部分人离职率还是很高的,反正自己综合考虑吧。

对于大公司还是小公司,以前我没有经验没法说,但现在也是多少有那么一些的,虽然没去过大公司,但没见过猪跑还没吃过猪肉吗,从全面的角度上来讲肯定是小公司比较合适,如果从专业的角度来说那肯定是大公司,那究竟是大公司能学到东西还是小公司能学到东西,这就不一定了,如果你是一个爱学习的人,不管到哪都能学到东西,但对于大部分人来说,其实这个根本不需要考虑,首先你得进的了大公司啊,在你既没有能力也没有学历的情况下还是别想那么多了,另外一点就是别想着去了哪个公司就能学到技术,这个真不一定,千万不要有这种心态,如果说你一直找不到一个好的公司呢?那就从此堕落了?想学还得靠自己,我现在这个公司还不是很清闲,那又怎么样呢,我还不是学到了很多,所有说啊别指望公司了,自己的路自己把握。当然如果能去大公司建议还是去大公司吧,不是说小公司不好,而是大公司对技术的要求高,因此有些东西你得做的比较好,另外一点就是技术气氛好点,气氛这东西是很有用的,在大公司的缺点就是你对项目的整体可能不是特别清楚,个人感觉吧,也不多说,毕竟自己没去过,那小公司呢,可能就是个个方面都会了解一些吧,那到底去选择哪个?坦然说不管去哪,只要你自己觉得值那就行了,至于在哪能学到东西,这的看你自己,你想学在哪都能学,另外一点不是你在公司做的项目多就一定能成大牛,做的项目多,最多就是你发现的问题比别人多一些罢了,发现问题虽然很重要,但最终目的是要解决问题的。还有你真想靠着公司那点项目提升自己啊,劝你打消这个念头,一个项目做下来能发现几个问题?后面的项目都是同一套东西吧?所有说光指望这个是不行的,平时还是自己多研究多思考,才能走的更快。

公司没什么事是否要接单?之前我也有想过这个问题,但实际上是不值得的,有那个时间多去提升一下自己技术水平不好吗,难道接单就不能提升吗,不是说不可以,而是那样太慢了,一个项目下来就有你受的,左改右改,老板要是不懂技术,你还得诶个解释,白花花的时间就过去了。另外一点呢就是有时间也不一定得看技术方面的,我们还有很多得学习的,毕竟我们不是一辈子程序员啊,以后怎么样谁说的定呢,程序只是我们的一部分,有时间多看看关于生活方面的,提升一下自己,或者有空多出去爬爬山啥的,扩充一下自己的视野。多为以后想想吧,20年以后你还是程序员吗?我不知道,或许早已离去吧,又或者坚挺着,但那时回过头来想想或许又是另外一回事。

讲了这么多,说一下我的最近状况吧,因为公司比较清闲,所以有很多时间去思考问题,这段时间主要在研究CSS,话说国内研究CSS比较少,从我发布博客的文章就可以看出来,关于CSS的文章明显比别的浏览量少,我想应该是都在研究JS和各种框架吧。如果你看过我博客可以发现在之前很长一段时间里,都是关于JS的,而CSS的文章却寥寥无几,主要那时我觉得CSS太简单,而且没有研究也可以写,但直到最近才发现自己错了,因为我发现项目的大部分时间都是在写CSS,JS反而比较少,如果自己对CSS再熟悉一点,是不是开发效率就更高了,所以就打算花一段时间彻底的研究一下CSS,在研究的这段时间里面收获很大,并且把很多研究出来的用来了项目中,确实减少了很多开发时间,代码也更加规范,从这以后我懂了,不是工作的时间长技术就越好,往往很多人一种技术用了半辈子。说到工作经验,不得不提,我最近思考的一个想法,那就是为什么工作经验很重要?因为工作时间时间长的人碰到的问题也多,自然解决的思路也更多。首先分为两点,一点就是他们碰到的问题多,第二知道的东西也多。我想这就是工作经验的大部分吧。那么如果我平时就去了解很多开发中的问题,以及解决他们,那么不就可以说是我用一年时间完成了别人的两年甚至三年,理论确实是这样的。只不过剩下的是坚持罢了。

对于新手来说,还有一个最大的问题是虽然看过了很多教程,但在项目中该怎么写还是怎么写,早把那些教程上的东西抛到脑后了,导致这个问题的原因可能就是你只是学了一点皮毛,只是看了一下语法,和相关介绍,而没有研究他们的实际运用场景,这也是工作经验带来的,但如果你是个爱研究的人,绝大部分这和工作经验没有半毛钱关系,因为事先你就知道它可以在什么地方用了。另外一点就是,别人的东西再好,到了你手上也只剩下3/1了,人本来就是不喜欢别人讲授的,更喜欢自己琢磨出来的。

还有一点就是你会发现,每天都在学习,然后前面的很快就忘了,这也属于正常现象,你可能会说,那学习还有意义吗?肯定是有意义的,你会发现虽然我们忘记了一部分,而一些重要的核心的总是记下来了,而一些无关紧要的,比如单词这些都忘了,但依然不影响我们编程,或许这是大脑的机制,我们不去探讨。不过我想说的是每天的学习是很有必要的,虽然每天都在遗忘,甚至我已经忘了前面写的是什么,但那不重要,我只要知道此刻在做什么。

对于框架的学习暂时不做打算,我的计划是先把CSS基础打扎实,然后把JS重新过一遍,当然这次的重新不会是一笔带过,而是对它们做深入的理解,直到自己觉得没有问题了,接着看一些框架和库,然后自己模仿着写写,平时关注一下最新的动态。

基础是一切,它决定着你未来是否可以在这个行业待下去,前端变化很大,北京现在前端找工作已经比较难了。一切顺其自然吧,本来每个行业就是这样的,从缺到多,然后到专,没有哪个行业可以摆脱这个自然定律。

以前还看好搜索引擎,现在感觉它越来越不重要了,很多人上网都是到特定的网站上,比如一说网上购物,你可能想到的就是淘宝,JD。我想互联网会越来越专业化,甚至我都怀疑淘宝还能坚持多少年,因为将来必定是追求品质的,看看那些曾经走过来的,从社区,到微博,再到微信,以后会怎样谁知道呢,但我相信会越来越专业化。

说说项目架构方面的事,如果是一个新项目,另外你是一个新手的话,结构目录最好参考一下一些大牛的,网上可以搜索到,这个非常重要,如果目录有问题,将来改版会有你受的,另外很多新手会觉得类似面向对象之类的,不但感觉麻烦而且也没省多少事,其实倒真不是说它有多方便,而是防止在你出错了的时候少改一点代码,而且人也是很懒的,我想很多代码都是临时补起来的吧,这种会有很大的后果,那就是以后项目有改动,你就得改非常多的地方,另外千万别瞎写公共代码,不然你想改都不敢改,这里面牵扯到多少页面,你是无法确定的,所以很多代码都会烂在那。想扔,扔不了,如果这个页面是你上一个同事写的,那这种情况会更糟糕,甚至我觉得大部分互联网公司都存在这种问题,而且很难解决,除非重新写。

很多人说前端这么多东西,看着就头疼该怎么学啊,对于这种问题,我只想问你一句话,你是想在前端待下去还是选择其他,如果选择待下去那就啥都别说,要么离开前端,就像你又想和她在一起,又要在乎她的缺点,有意思吗?要么和她在一起,要么和她分手,哪有那么多废话。

这篇文章不会再更新了,因为我觉得这篇文章已经说出了它的所有,没有更好的了,几年后再回过头来看这篇文章或许又会是另一种感觉吧,生活还在继续,我也该继续走我的路,到这就结束了,如果对你有帮助请分享给你的好朋友,谢谢。忘了说了,最近可能出一本关于CSS的书籍,也有可能会开源,如果你感兴趣可以关注一下本人博客。