zoukankan      html  css  js  c++  java
  • 前端这条路,我们该何去何从,续集

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

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

    那是我离开上一个公司的半个月里,那段时间里每天早上一起来就看个大网站投的简历,一开始是在智联,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的书籍,也有可能会开源,如果你感兴趣可以关注一下本人博客。

  • 相关阅读:
    LeetCode 461. Hamming Distance
    LeetCode 442. Find All Duplicates in an Array
    LeetCode 448. Find All Numbers Disappeared in an Array
    LeetCode Find the Difference
    LeetCode 415. Add Strings
    LeetCode 445. Add Two Numbers II
    LeetCode 438. Find All Anagrams in a String
    LeetCode 463. Island Perimeter
    LeetCode 362. Design Hit Counter
    LeetCode 359. Logger Rate Limiter
  • 原文地址:https://www.cnblogs.com/pssp/p/5962392.html
Copyright © 2011-2022 走看看