Skip to content

前端开发职场生存指南:网友问答

Updated: at 12:00 AM

网友问答

以下是部分我在 GitChat 平台跟大家交流时的互动问题。为了更具普适性,问题和答案都有不同程度的修改,希望对你有用。

  1. 问: 关于日报的问题,你说主要包含三点:1. 今天工作的主要内容;2. 遇到的问题;3. 感悟。 但是实际往往很难说,因为如果白天遇到什么问题,就直接问导师或者百度解决了。而对于第 3点感悟,正常应该是写今天学到的东西,或者有其他想说的内容,可是我有时候感觉一天下来啥都没学到,就是在完成任务。这种时候该怎么写呢?

答: 第 1 点似乎没什么好讲的,流水账都可以;第 2 点,有时候虽然你已经解决了问题,但是你的解决方案不一定是最佳的。所以最好还是列出来,让导师知道你遇到了什么样的问题,也方便知道你现在的成长阶段。另外也可以指出你的方案有问题的地方,或者思考思路不合理的地方。对于第 3 点,我相信你每天多少都会学到一些东西的,没有感悟就没有感悟。如果几天都学不到东西也要说出来,这说明你的工作内容或者方法不合理,需要让导师知道,及时调整。最后,提问不要局限于导师,别人都是你的同事全都可以问。

  1. 问: 我现在的工作是我的第一份前端开发工作,可是我们领导并不是什么大牛,项目规划上也有好多问题,技术也一般。所以我并没有像您说的那样的导师,准确的说现在这份工作对我找下一份工作毫无助益。那么,我该如何提升自己呢?

答: 首先,大牛都不是天生的,这不用我解释,你只是需要努力提升。其次,不能说这份工作毫无优势,没有导师也没关系,既然是第一份工作,肯定是先打好基础。如果工作有挑战更好,可以强迫自己紧张起来多学点东西,如果工作没有挑战,那更可以利用业余时间充实自己,让自己的经历丰富起来,能力强大起来。最后,如何提高自己,我先简单说,还是打好基础,不要被眼花缭乱的框架迷惑,经典的几本好好啃一啃,用心搞几个自己的小项目,维护好 Github,博客等能展示自己的地方。另外在工作上多积累项目经验即可。另外,不要气馁,网上你看到的很多大牛,开始都是在默默无闻的小公司,还有很多都是半路出家,他们一样可以做的很好,所以信心和坚持更重要。

  1. 问: 怎么才能写好一份日报呢?

答: 这个不展开讲了,简单来说主要包含以下几个方面:

  1. 条目要清晰,但忌流水账。

  2. 重点体现思考过程,而不是结果,思考过程可以体现亮点。

  3. 语言文字清晰流畅,尽量贴近职业语言,少用口头表述方式。

  4. 对自己的总结也很重要,不只是汇报,也是给自己一个交代。

  5. 排版尽量美观,尤其是对于前端,或者 UED 团队的,这是你的专业。

  6. 问: 我在的公司前端有 100 人左右,但是团队并没有完善的培养体系。实习的时候 leader 分配了一个和我差不多同时进公司作为导师,平时以交流问题为主,没有什么正式培训。做的项目主要是专题活动,没什么挑战,感觉入职以后还会做同样的事情。请问老师,您觉得上级这样安排是出于什么考虑呢?

答: 前端 100 人算是很大的团队了,不过培养体系这个东西,说实话,并不是标配。毕竟公司不是培训机构,本质上不会让你拿着工资来学习的。所以姿态要摆正,有条件要充分利用,没有条件就要努力创造了。实习生本身水平参差不齐,有可能只是用几个门槛较低的项目让你们练练手,如果直接就上来搞业务,怕除了问题你们也 hold 不住。不过,一样是做普通的小项目,肯定也还是有办法脱颖而出,如果你足够优秀的话。比如一定有可以优化的地方,一定有可以自动化工具化的地方等等。入职以后什么样不好说,最好和你的上级多沟通,不要自己猜测。

  1. 问: 现在在公司实习(毕业后入职)。但导师每天就是让我看代码,不会的可以去问他。现在的困惑是系统分层过细,无法把业务串起来。看到项目涉及的技术,一点点突破还是如何?

答: 第一, 建议你从上层了解,先不要纠结代码细节,比如从文件目录结构开始,画个脑图,看看每个文件夹对应的哪块业务,有个整体视图之后,再去深入代码细节。第二,这个问题我之前写过「技术学习的二八法则」。先突破那些常用的技术,做业务中使用频率最高的,然后闲暇时间再去啃硬骨头。

  1. 问: 实习期间发现得到的与自己的期望有偏差,该如何调整呢?包括学习到的、接触到的东西,和待遇等等。

答: 首先,肯定是要找到偏差的原因。是自己期望太高,还是一开始的沟通就有误解。具体到技术还是薪水,技术就不说了,跟刚才的类似。薪水有偏差,先看看自己是否愿意为了其他的牺牲薪水。比如团队或者发展前景,如果不愿意,那你有能力找更好的,肯定找更好的。如果没能力找更好的,那就说明还是自己期望高了,其实自身价值可能还没有匹配自己的期望。回答有点生硬,但都是掏心窝的硬道理。

  1. 问: 如何最大程度地从导师和同事那里学到东西?

答: 细心观察,找到内心标杆人物,仔细看他们的做事方式和学习方式,多问多探讨。找到目标很重要,如果你能找到一个你希望成为的人,那就很清晰了。然后努力去赶超他们!

  1. 问: 实习的时候,老板可能会带多个实习生,在我身上可能关注就不会太多,一周也就两次左右简单交流。这样一些细节的问题自己会较多时间去探索、研究,其中难免会走小弯路,容易懈怠放慢节奏。请问老师,怎样能让老板多关注自己,或者说,在老板关注不多的情况下,如何不懈怠,提高效率,少走弯路?

答: 你的一周两次交流我不知道是什么形式,如果是单独的交流,那已经不少了。要多利用平时的时间多提问,提好问题,准备好你的思路和解决方案,让他看到你的聪颖,这样慢慢就会受到重视。对于探索研究,也无所谓弯路,技术上走点弯路也是学习和思考的过程,弯路上也有和很多经验和血包,并不是白走的,多钻研是好事。

问: 实习公司是一家小公司,公司先后就是简单的小项目,在这种条件下,如何提升自己的技术,和能力呢?

  1. 答: 公司应该会有一些相对复杂的业务,如果你觉得挑战不够,可以提出来。应该不至于公司所有的业务都简单到不用思考,没有提升。还是那句话,本质上公司肯定是要你产生价值,而只是来学习。但是我们要靠自己,尽量做到双赢,既能自我提升又能创造价值。

问: 如果公司没要求日报,周报,该如何跟 leader 沟通,让其知道自己的成长和思考?主动沟通,害怕耽误 leader 的办公时间。有没有好的解决策略?

答: 没有日报,你可以定期邮件主动汇报成长和思考,或者整理到自己的博客,发给大家一起探讨。学习方向的话,要你自己来确定,找到感兴趣的方向深挖下去,同时也要照顾知识面,做 π 型人才。

  1. 问: 导师一般会选择提供跟公司业务相关的技术,而这样的话,作为一个名实习生,尤其是在一批实习生中只能留下一两个的情况下,可能最终自己没有机会转正,而在实习期间所学的又都是这家公司所需要的。那么实习期结束后,又没被录用,那么该怎么办呢?

答: 首先要确定实习的目的,是积累经验还是留下转正,这个很重要。如果目的是积累经验,那就多搞搞自己喜欢的技术。如果是留下转正,那首先要在业务上表现好,最理想的情况是,把你喜欢的技术推动应用在业务上,这样就两全其美了。如果不能,那还是先搞好业务。至于你说的市场需求,我不知道你的判断标准是什么,至少对于前端来说,没有太侧重的方向,各个方向都有很好的公司可以去。

  1. 问: 实习生当与导师在讨论中(比如某些技术,某些业务的解决方案)有分歧时,在不愿意对技术观点完全妥协,又担心与导师继续讨论会留下坏印象,影响到转正考评时,有哪些技巧可以更有效地沟通?

答: 首先要确定导师坚持的原因,是 TA 真的不懂,还是有业务上的考量,或者有历史包袱不能应用。其次,要确定你真的是对的。但往往有的时候,确实是存在你没考虑到的地方,最好还是说「我再看看」,或者我再考虑考虑,避免僵持的状态。然后你确定你是正确的一方,确定你的方案最好,确定没有历史包袱,再带着结论和理由去找他沟通。我想在工作上,导师也不至于一根筋不知通情达理。以理服人,但是方法要恰当。

  1. 问: 在 5 ~ 20 人的前端团队,应该如何定位发展呢?5 人以下的团队又该怎样走稳前端这条路呢?

答: 团队大小并不影响发展,关键还是看你们团队在做什么,是怎样的状态。是否大家都在积极学习进步,是否良性竞争,是否有健康简单的人际关系等。小团队有小团队的优势,反之亦然。重点是你自己要有个大概的目标,然后看团队与你的目标是否冲突。

  1. 问: 现在前端发展很快,在工作有一段时间时,如何检测自己有没有进步呢?有没有跟上发展的步伐,对于前端,你是如何规划自己的发展呢?

答: 检测自己有没有进步,一方面是你自己心里的感觉,另一方面就是要有沉淀。代码,文章,Github 项目,当你过一段时间回头看自己的代码,如果找不到问题的话,那可能真的没有进步。文章也是,如果过一段时间回头看,发现自己的文章还是好棒,那就危险了。还有一点就是刚才说的,找到标杆人物,自己身边的也好,行业内的也好,看看他们有哪些你还没做到的方面,很快就能找到方向了。同理,我也是这样的,我最开始的时候从 FrontPage 做网页开始,其实我不喜欢规划太远,我不太相信长期规划。短期你可以考虑升级,冲 KPI,搞开源项目,自己做个 APP 等等,都可以作为短期目标。

  1. 问: 在实习期,当「钻研精神」与「主动承担」并不完全契合,当想要学习的技术与实习公司当下的业务在时间分配上有冲突时,如何在对得起实习公司的前提下,获得自己想要的成长?

答: 我想,公司给你的项目应该不会完全没有营养,可以先把这个东西吃透,不管他是什么技术。前端是个大杂烩,今天觉得没用的东西,不定哪天就能用到。或者思路和方法给了你某些灵感。不要太排斥新东西。钻研精神可以业余时间再发挥。

  1. 问: 关于写文章,老师觉得怎么才算是一篇优秀的文章,能真正的起到提升自己的作用呢?

答: 开始写就是个很好的开端,可以从备忘开始,慢慢润色,最后再给别人看。写作是要慢慢练习的,基本的写作能力大家都有,但是内容和语言的组织,就要多练习了。我认为,技术方面优秀的文章,只要脉络结构清晰,能把问题说明白,并且讲的是「干货」,即真正有价值的内容,就算是优秀的文章了,其实不需要太多的文学功底,整理好思路,把它按部就班表达出来即可。

  1. 问: 我实习的算是一个比较小的公司,前端组一共 7 个人,实习期间收获很大,也有机会转正,就是待遇不是很好。现在正值春招,不知道要不要出去找找大公司的机会呢?另外,因为感觉自己前端知识不是很系统,最近网易出了个微专业,想听听老师的意见,这个到底值不值得报名。

答: 寻找更好的机会肯定是你的权利,但是也要权衡利弊,年轻人还是不要太看重第一份薪水,要综合比较一下技术,成长空间,团队等等。但请注意,我说的是第一份薪水,不是「年轻人不要看中薪水」。总体来讲,在上升阶段还是成长更重要,但人是要吃饭的,早晚你也会遇到结婚买房生子。至于在哪个节点选择更看中薪水,由你决定。再说前端培训,现在五花八门,如果不是全职去培训班,我觉得没必要花钱。你都已经参加工作了,自学能力一定是足够的。可以看看慕课网,360 奇舞团训练营什么的,优质培训很多。即使是看网上零散的资料,加上充分利用好搜索引擎,也足够了。

  1. 问: 自己毕业已经快两年了。刚开始实习时并不清楚自己想做什么,因为是计算机系的,所以实习的时侯就做了美工。后来因为自己的兴趣方向就朝着前端方向发展了。刚毕业的时候就进入外包公司,外派进了大公司。然而像我们这种专科生,不是校招的,没有什么所谓的导师,直接就上手项目。我现在的困惑是应该继续待在外包公司,还是找一个有前端团队的公司,或者能够实现自我提升和学习的平台。就想如何才能遇到自己生命中的伯乐?

答: 外包公司也分很多种,看工作的强度,在哪里都能提升的。但是,普遍来看,外包公司的发展还是过于狭隘,如果工作不忙,可以多自我充实一下,最好再考个本科,以后可能有用。如果你的工作忙到完全没有时间学习和提升自己,已经限制了你的发展,那最好还是换个地方吧。所以,重点是你自己要清楚你想要什么,对技术有什么样的追求,然后再做决定。

  1. 问: 数据结构是去大公司实习的必要技能吗?

答: 这个不分大小公司,对于当下的前端开发技能模型来说,多少是要了解一点的,毕竟是计算机行业,基础还是要有。虽然未必要深入,但一定要有些基本概念。具体到实际工作中可能未必用到,要看你从事的具体方向,和进入什么样的公司了。

  1. 问: 作为从前端设计转web前端的人来说,前端就是易学难精。前端的发展太快了,应该怎么去追求深度学习而不是一味追求广度?

答: 这个其实不算问题了,你自己都说了「一味追求广度」,那就不要一味追求广度嘛,重点是要选好方向,看你对哪个方向最感兴趣,深入钻研下去。如果很多人都是「一味追求广度」,那你多花些时间在某个方向,不是很容易就成为专家了?

  1. 问: 一个从学习开始就按照这种匠心的要求训练自己,会不会能在「有匠心 + 有效率」之间达到完美的平衡?您在「匠心」和「有效率」这两者间有明显的偏向吗?

答: 匠心和效率并不冲突,我也要求我这边的年轻人们都严格要求自己,如果从一开始就没有养成好习惯,后面就很难改正了。而且你出去到其他地方面试,一眼就可以看出没有受过正规的训练。我本身也是追求效率的人,效率可以体现在其他方面,比如工具,快捷键,流程的简化等,偷工减料不叫效率。所谓开起来受过「正规的训练」,就是你的代码看上去就很专业,有好的编码习惯和风格,你自己写的保持统一就好,到了团队尽量要保持团队统一。

  1. 问: 如何更快地学习 Javascript,感觉一直看着红宝书(《Javascript 高级程序设计》)来写,有点慢呢。

答: 基础教材快速通读一遍了解大概,然后就可以着手写代码了。比较快的方式就是弄个小项目,甚至只能叫 toy(玩具),自己玩一玩,比如 jQuery 插件,npm 包,chrome 插件等等,结合书本知识不断去优化,甚至还能做成产品给别人用,这样目标比较明确的时候,你学习也有劲头。虽然每次可能只是掌握了某些甚至某个知识点,但对建立信心获得成就感是非常重要的。

  1. 问: 当我们讨论「前端 UI 工程师的困境」的时候,会立足以个体为主,还是以是这个岗位群体为主?个体的话,转行,上下游都是游戏的规则和个人的追求,有各种各样的华丽转身的方式方法。那么对于群体而言,这是不是一个即将消失的岗位?这个消失和弱化又是什么样的外面因素和环境造成的?留给大家的时间还有多少?未来的趋势是怎么样的?

答: 首先,这种岗位设置对于大公司的流程来说,我认为是有益的。因为人员流动的风险极低,而且在细分的流程中也确实需要专精的 UI 工程师,因为产品经常面向都是亿级的用户,你的每个细节都有客户和同行在看,这些细节就能体现出一个公司一个产品的专业度,而公司需要这种专业的形象。所以我认为,UI 工程师这个岗位不会消失,更可能的是慢慢接管各种跟 UI 相关的领域。但是,也只能是在这种有大量用户的公司才可能发挥作用,从公司的角度来看,这个岗位挺好的。

  1. 问: 我觉得前端开发对设计本身的倚重越来越严重,而数据和泛前端交互业务逻辑的开发,反而需要依托一些成型的 UI 框架来完善产品初期的开发工作,你如何看看待呢?

答: 对于成熟的产品来说,模块化固然重要,这个是不容置疑的。对于 UI 工程师更多的价值是在没有成形的东西之前提供解决方案和思路,另外,UI 模块化的过程其实也是 UI 工程师主导。我也赞成 UI 工程化,在某些成熟的业务上是必须的,但实际情况是往往计划没有变化快,很多模块没用几次就又改进了。这时产品和设计的统一规范就很重要,在 UI 工程化之前先与设计和产品达成统一的 UI 规范,会更靠谱一些。最后,互联网里单纯职能的工作应该说根本就没有,每个人都要掌握很多技能,包括专业技能,专业相关的边界,通用技能等等。只是看你的技能模型怎样扩展而已。

  1. 问: 不懂产品的设计师不是一个好前端,这要怎么理解?

答: 我认为 WEB 工程师理解交互设计是必备的技能,公司有这样的机会让你锻炼一些交互能力是好事,要尽力做好,多思考一下产品和交互的东西,搞不好就发现了一个新的兴趣方向呢。最后一句话,这种句型的话很多,不懂 xx 的 xx 不是好 xx,其实说的都是对于边界或交叉学科知识的掌握,无数的成功例子表明,学科交叉处更容易产生创新。掌握多个学科,并能利用好交叉学科,成为跨界人才的人,往往能发展得更好。

  1. 问: 怎样更好地学习应用基础布局以及响应式布局?

答: 掌握 CSS 布局除了学习基本的技术之外,更多的是一种思维方式。它和平面设计的布局,甚至黑板报布局都是相通的。我小时候做过 12 年的宣传委员,每一期的优秀黑板报都是我,也得过很多美术的奖项。当然都是小时候的事,没什么意义。不过这些经验在培养我的审美和布局上是有一定助益的。同样,你平时看杂志和书籍,网页等,也可以多留意下基本的布局拆分,和杂志的排版。如果是网页的话,更可以直接通过开发者工具看它的具体实现了。我有时候给新人讲课或者留课后作业,就会随便拿本书让大家用 CSS 写出来,真的是很好的练习方式。其实基本的布局无非就是上下排,左右排,飘出去,挡起来等等,再加上多种设备的适配方案,也没什么高深的。多思考,多看代码,多练习即可,无他。