一个前端的职业轨迹

欧雷 发表于

0 条评论

从春节回来开始直到现在,公司就像开了闸的西湖水一样进行着新陈更替,可以说开发团队算是重组了。眼看着身边发生这种情况,虽然没有什么想法但还是有了点想法,所以想写篇文章阐述一下。几天前还在朋友圈里撒下了种子——

朋友圈状态
朋友圈状态

本来是打算着重写「职场危机」的,但前几天看到了「计算机之子」程劭非(winter)的文章,也就是在第二届 FEDay 前端开发者大会上的分享的补充版,《一个前端的自我修养》之后有些共鸣,再加上最近在职业发展上有点思想上的转变,所以这篇文章的主要内容就变成了讲述「职业轨迹」。

本文是从自身经历出发,再结合对他人的了解所进行的总结,故标题中的「前端」可以理解成「前端工程师」这个职业,也可以理解成是我自己。

背景

我是一个 80 后,准确点说是 85 后,再准确点就是 80 年代的尾巴。掐指一算,已经快 30 岁了,想想有点小悲伤呢……

内向的我绝大多数时候不想动嘴,喜欢一个人静静地待着。

人人都想的「静静」
人人都想的「静静」

因为这种性格,我社交能力不是很强,也不喜欢随随便便就跟一个人建立联系;但是我思考总结能力略胜一筹,想象力也稍微丰富一些。没办法,普通人在社交能力和思考能力当中只能占一样,这是性格特点所带来的「技能加成」,如果全占的,不是天赋异禀就是自我训练能力特强。

因为做事方式,有些人会误以为我是处女座,然而并不是,实际是跟下面这位一样——

史蒂夫·乔布斯
史蒂夫·乔布斯

借乔帮主的光,为我指明道路。

职业选择

我天生就是个好奇心重的人,对很多方面的事情感兴趣,也愿意去为了感兴趣的事物付出。我是一个兴趣驱动的人,绝对相信只有对一件事情抱有兴趣甚至爱上它才能够做好那件事

乔布斯名言
乔布斯名言

所有事情中,最激动人心的就是去创造一个东西!写作是创造,绘画是创造,编程也是创造,这些都是我的爱好并且一直坚持在做。但作为职业,写作和绘画不太适合我。其他的创造类的事情中成本最低的就是软件开发了吧?去进行实物的创造需要不断地购买原材料,试错的成本较高;然而写代码就不一样了,基本有电脑、电和网就差不多了。因此,填志愿时我报的是软件专业。

在实习时,我是做客户端开发的,用的是 VC6,做起来很是枯燥,一点激情都没有。后来开始写博客了,想要个性化自己的页面,发现能够很容易地将自己所想的用代码表达出来,感觉很是好玩,让我充满激情!以之为契机逐步了解前端技术,记得那年是 2009 年。我是先接触的 HTML、CSS,在找第一份正式工作时才去学 JavaScript 和 jQuery。

工作经历

第一份工作是在老家的一个算是外包公司的小作坊,每个人整天到晚就是忙着工作,都没什么技术交流,在那期间没学到什么很有用的东西,不到一年我就离开了那里南下杭州另寻一片天空,听说走了不久那就倒闭了……

来杭州后的第一份工作是在滨江的一家 web 安全行业的公司,不是互联网公司,做的是面向企业的 B/S 架构产品。因为做的不是互联网产品,成就感就是差一些,并且没太大的挑战性,再加上客户的性质,不适合我。

之后的公司是一家既做游戏又做在线教育的公司,这两个业务分别是不同的「子公司」在做,我是做在线教育的。当时的专职前端只有我一个人,没什么人交流专业技术,感到有些孤独寂寞冷……另外,都两年多了业务一直没怎么起来,所选择的方向做起来有点困难,人生苦短,再耗下去我就完了……不过,这家公司在开发方面还是有很多优点的,气氛也是比较缓和轻松。

再后来,就是做汽车电商的买好车了。入职后把代码拉下来看了一下,给我的感觉就是一个词——混乱!无论是目录结构还是 git 分支。B2B 业务开始后,前端采取了新的开发方式,目录和代码的划分更为清晰;虽然还不够严格,git 分支的管理也开始使用 Git Flow 了,提交规范也要搞起来。这些都在朝着好的方向发展。在这里,我想也希望自己能够担当团队中一个重要的角色,不是 leader,而是帮助团队加强生产力,引领提高整体水平的存在。

思考

多年的工作经历以及通过各种形式在跟其他同行交流后,让我对职业、职场和与公司之间的关系有了更全面更客观地认识,看到了一些问题。

职业素养

无论何时何地,一个人在群体中活动时需要有公共的规章制度进行约束,更需要个人对自己的制约,这是更为重要的事情。在职场当中,就是职业素养,大概包含以下几个方面:

  1. 职业道德;
  2. 职业思想;
  3. 职业行为习惯;
  4. 职业技能。

前三项用通俗易懂的语言来说就是:忠于公司、爱岗敬业、遵纪守法、积极进取。不管从事什么行业,这些都是共通的,是作为一个职业人所必备的基本素质。第四项则主要包括日常工作技能及专业技能。一个白领在日常工作中应当能够书写用词得当、排版规整的工作邮件以及掌握办公软件的基本操作;关于专业技能的事稍后会说,这里就不赘述了。

不得不说,「有些人」的职业素养真的很差!他们会有如下思想和行为——

做软件开发的工资高,这是很多人对软件行业的认识。尤其是分支之一的 web 前端开发,由于近些年来互联网行业和前端技术的发展,前端工程师的薪资水涨船高,一大批人涌进这个行业。

这些人中有很多是因为这个职业看起来薪资高且门槛低才选择进来的,这催生了一些培训机构和从培训机构出来的人。他们对这个职业根本就没什么兴趣,完全是冲着钱来的。在面试时如果碰到稍微有些要求的公司,都会被 pass 掉。运气好的话会遇到没有专职前端的或者要求较低的公司顺利通过面试,这很有可能是一家节奏较慢,不怎么紧张的公司。

在一家没有紧张感的公司待了一两年,养成了懒散的习惯:经常性迟到,甚至是严重迟到;稍微感到不舒服就请假,即使年假已经用完;每天准时下班,就算当天的工作没有完成;不思进取,专业水平跟不上也不去努力学习;无法沟通,让与他协作的人无语;工作时间的大部分是在聊天灌水而非工作或自我充电……

这种人上班就是去打酱油的,拿着公司给的工资而不作为。这些恶习一旦养成,无论他们换多少工作也很难改掉。不过,恐怕离开了那个「安乐窝」,他们就再无去处了。

技能成长

每个从业人员都应关注自身成长,这不仅关系到自己的专业程度和所体现出的价值,说得实际些,还关系到拿到手的 money 和圈内的声誉名气。

程劭非的那个分享的主题就是关于前端工程师的成长。他将成长分为「知识」与「能力」两个方面,比重分别是 20% 和 80%。「知识」中包括了比较稳定且几乎不会被推翻的「标准」和变化很快的「技术」;「能力」里包含了用代码解决问题的「编程能力」、解决代码规模问题的「架构能力」与解决协作问题的「工程能力」。这种划分方式我是十分赞同的!

知识与能力的比重
知识与能力的比重

可以看出,对于一个前端工程师来说,去阅读理解标准和训练培养能力才是真正稳健并有益的做法,追逐日新月异的技术和框架是很肤浅浮躁的行为。

技术或框架的诞生是为了解决某个场景下出现的问题,有一百个场景就可能有一百个以上的技术或框架,它们是特定问题的解决方案,是工具。创造一个技术或框架,需要的是上文所提到的能力,然后遵照标准去开发。由此可见,标准和能力的重要性远远大于技术和框架。

不光光是前端工程师,只要是从事软件开发的人就应该意识到,一名软件工程师的核心实力不是懂多少语言会多少技术,而是编程、架构、工程等能力的高低。优秀的开发人员不会把自己局限于某种语言或某个技术,那些都是可以根据实际需要进行调整更替的,而能力是不可替代的。

软件工程师的划分
软件工程师的划分

遗憾的是,很多人在工作三五年后的关注点仍是在技术、框架或工具上。这些人要么是功利心太重,进入这行就是为了拿高薪,没有爱;要么是没去思考过职业规划,别人学啥就学啥,随大流;要么就是不够聪明,没有看破软件工程师这个职业的本质。他们要学的东西受市场需求影响很大。

写进一家公司的招聘信息中的对应聘者所掌握技术的要求,是这家公司的技术架构所决定的,而其技术架构是公司里的软件工程师根据业务场景经过技术选型所制定的。也就是说,那些没头脑的「软件工程师」的职业路线受软件工程师所摆布。

「软件工程师」在进了一家公司后基本只能做做底层的苦力,核心业务啥的跟他们没太大关系。还想拿高薪?先讲讲「闭包」是什么?

什么是「闭包」?
什么是「闭包」?

如果能像贺师俊(Hax)那样牛逼,你就是站在「金字塔」顶端的人!

公司挑选

在公司中的历练对一个人的成长起着十分重要的作用,在不同类型的公司中待过之后,我觉得对于我们写代码的人来说公司一定要精挑细选!我在各种场合不只一次说过:

选择到什么样的公司去工作是一件需要万分谨慎的事情。进错公司毁一生,我不是在开玩笑!不要小看人性的弱点和环境的作用。

欧雷

是的,不要小看人性的弱点和环境的作用!

在「有的公司」里会遇到如下情况——

为了节约成本会把不同岗位的事情都塞给你一个人去做,傻傻的你觉得这是一种锻炼,了解了多个岗位的事情……Are you kidding me?干多个人的活拿一个人的工资,还觉得这是锻炼自己?要真想锻炼为啥不利用业余时间做些自己想做的项目?

工作从早忙到晚,做的竟是些重复性没难度的工作,对自己的成长毛帮助没有。公司没提供有挑战性的工作也就算了,还剥夺个人自我学习成长的时间。当别人问起工作咋样,听到自己工作忙像是挺好的样子,实际啥都没学到,白白浪费了青春。

你在公司的作用就是干活的人肉机器而没有发言权,提出的建设性意见在上级眼中就是屁,需要你去做的事情在讨论需求阶段不叫你去参加而直接分配给你任务去做……还谈什么参与感?!什么把公司的事业当成是自己的事业?!

如果想要自己的事业路线走得顺利,就要避免进入具备上述特点的公司。但这些在没进去工作一段时间时很难知道,除非有认识的人或者通过其他方式进行侧面了解。不过,有些特点在网上查查或面试时问问就能知道:

  1. 是否为互联网公司;
  2. 是不是某集团下属的子公司或已融资 A 轮以上的公司;
  3. 五险一金会不会全交以及缴纳基数;
  4. 年假的天数多不多;
  5. 升级体系是否完善;
  6. 是否提供零食、饮料、水果;
  7. 有没有健身休闲娱乐室。

要是一家公司有好几点没达标,那么基本可以把它判定为「不靠谱」,就不必考虑了。

有人会觉得 6、7 条就是扯蛋,有没有那些又有什么关系呢?当然有啊!它们的存在可是体现了一家公司对员工的人文关怀啊!也许你会问:「照你这么说,那些公司就没人去了?!」当然有啊!那是给「有情怀」的人去的。

当然,例外总是会有的。要是某初创公司的 CEO 从各方面被证实了人品性格好,富有卓越的远见和优秀的行动力,即使只满足 1、2 点也是可以考虑的。

职业之路

自己所要走的职业道路的目标和规划都是越早做越好。在践行的过程中难免会有偏离正轨的时候,但只要大方向上没错就没太大问题,能始终如一是一件难得的事情。

起初,我是想在技术上进行深入研究,走在业界前沿,成为一名布道师到处进行演讲,就像程劭非和贺师俊他们那样。然而,现在我的思想中混入了对于科研型技术人员来说具有致命破坏性的「不纯因素」——财富。因为我对未来生活的憧憬,我想要的那种生活需要一笔巨大的资金作支撑。

现在想想,能够让我在技术上进行深造的同时拥有大量钞票的方法,能想到的只有在某个具备上市潜力的成长型创业公司中身居技术部门核心地位并且手握很多股权,当时最好是 33 岁左右。

那么问题来了——如何分辨一家公司是否具备上市潜力,并且让还算年轻的我能够在合适的时间经过努力奋斗处于核心地位,是一件较为困难的事情。

如果时间能够倒流,刚毕业那一两年说死我也要进大公司去工作!一次面试不行就闭关一段时间后进行第二次,再不行就三次,直到进去了为止!若是那时进了阿里巴巴,还有股票拿。

现在的我处在职业和人生的十字路口,该往哪走,且容我再好好想想。