前端三年,经历与经验

水文,没有干货。

在选择职业时的考虑

文理分科

2012年底,高一上学期末,即将文理分科,当时考虑到:

  • 学理科有助于发挥最大的学习潜力

文科需要背很多东西,而对我来说,早上背书毫无问题,晚上因为已经经历了一个学期的晚自习,也勉强可以接受,但是下午坚决不行

  • 听说理科更好就业

因此选了理科。

高考志愿

2015年6月的一天,第一次高考后,为了填报志愿,去网吧查百度百科,看了几十上百个专业的词条介绍,最终大概就选定了2个:计算机和机械类。计算机其实是一直都想的,因为喜欢玩电脑,机械类就是那时候看了半天找出来的不得已的第二选择。

还好,最终报志愿的时候,发现计算机类下面还是分了很多专业的,而最多只允许选6个专业,一般都够了,首选的是“计算机科学与技术”。

大学课程及职业规划

在上大学之前,受家里人对我的影响,我对未来的想象是:学一些office之类的软件操作,后面工作就是坐在办公室里上班……

到了大学才知道原来这个专业是培养程序员的,但是又比较杂,学了一大堆语言:大一上学期学了Python,下学期学C,大二学C++、C#、PHP,大三学JAVA。至于前端方面,从大一上学期就开始学HTML、CSS了,PHP。并且那位老师经常宣称“前端十万年薪”,这极大地增强了学习的动力。

每个学期结束,寒暑假的时候,也会学点前端知识或者在浏览器里瞎折腾。因为前端接触得早,大一就开始了,其次是前端调试简单,容易上手。家里的电脑比较烂,其他语言需要配环境以及启动IDE不是太方便(比如Python,在学校用了PyCharm,明明已经是4个空格缩进了还是报错。另外JAVA也是,哪都配了还是乱码,十分受挫),只有前端最方便,只需要一个Sublime Text和浏览器即可。后面学php,用了phpStudy也很方便。

后面大三的时候,开始逐渐规划职业了。当时我是偏向于前端的,毕竟已经有一些沉没成本了,当然PHP我也是愿意的,其他的就算了。

大三快结束的时候,才从寝室室友那里听说了Vue,还在B站看了教程,最后把之前做的个人网页期末作业改写成Vue了。

另外也考虑到js的应用广泛:可以用NodeJS做服务端,也可以做小程序、PWA应用等,感觉JS无所不能,就算去做其他的,最后也难免转行到前端,不如一步到位。

求职

三年前,那个酷热的七月,历历在目。之前候写过一篇《一年经验》,实习那段经历就不再赘述了。

2020年6月底回学校参加毕业典礼(实际没有典礼,就是拍了毕业照),然后在宿舍住了几天投了简历,也有一次面试,我一直记得当我说期望薪资7k的时候,面试官犹豫了一会。当时我心里其实没多少底气,只是仗着刚毕业,之前又拒过一个6k的,想着不多说点就亏了。

之后7月初来了深圳。其实我当时最想去的是上海。因为小时候去过一次,看了世博会,对那里的环境挺满意的,而且靠北一些,想着应该没有深圳那么热。但是有如下原因导致最后来了深圳:

  1. 还没有约到上海公司的面试,深圳约了一家
  2. 同学中打算来深圳的人多些
  3. 我爸说推荐我来深圳,不过他也不知道我想去上海

初到深圳,面试经历并不顺利,之前还发过一次微博宣泄情绪。

后面由于运气终于面过了,详见《一年经验》。当时7.27入职,到7.31刚好一周。第一周还在参加应届生培训,连电脑都没怎么动,8月5号发了两千多块钱工资,那个时候真的超级开心,心想:我一定要好好干!

工作

在工作之前,我对前端工作的想象是:敲代码敲到天昏地暗、日月无光。实习时还比较接近,到了实际工作并不是这样。

首先谈谈基本情况:

  • 工作氛围:良好。公司的整体业务避开不谈,这也不是我能指指点点的。但是内部氛围感觉还不错,遵守法律,合乎道义。
  • 技术栈方面:其实没有太多可说的,项目一般是vue2+koa2,新项目是vue3+egg+ts,也在逐步接入单测。刚来的时候还有angular1.6的项目,后面重构了。后端之前是php,后面也都开始转到go了,go我还完全陌生……

还是很感谢公司的,年初有一波小范围裁员,当时我的绩效也不好,仍然待到了今天。炎炎酷暑,可以在公司吹空调,真舒服~

工作内容方面,看了一些同行的文章,应该大体差不多,反正就是需求评审-写技术方案-开发自测-联调测试(大部分琐碎的需求都是免测的)-发布上线,有2个很想吐槽的点:

  • 写技术方案(下面详细谈)
  • 发布上线需要等待审核,而发布时间又是开发人员需要提前给的,且一般都只能在傍晚才能发布,导致一般都在傍晚提审核单,这时候审核延迟会导致加班发布(虽然我加班习惯了,但是由于别人的原因导致加班还是很不爽的)

技术方案

起初要求开发工时超过3天的需求,需要写技术方案并开会评审,后面改成每个需求都要求写技术方案。而对技术方案的标准是:把技术方案丢给别人,别人也能写好代码。

我感觉好难,要预想遇到的问题,还要给出解决方案。直到现在我还是没写出一篇完美的技术方案,除非改动非常简单,很容易想出需要改动哪里。这种情况感觉技术方案都是多余的,直接上手就好了,反正也不太可能会有异议。

对于复杂的需求,既然能写出技术方案,那必然坑已经踩过了,这种情况假如代码没开始写,不太可能说“踩过”。假如已经写了,那么技术方案其实就是对代码实现的说明而已,但是又要求在写代码之前出方案,总感觉是个悖论。

而且有时候实现一个功能有多种方案,自己不一定能想全,即使想全了,列出来,各个方案又有一大堆细节,这时候可以选择:

  • 提前对比优劣,只单独列一种选定的方案继续写细节

弊端:可能会议评审的时候,别人说另一种方案更好,此时需要重新写方案并评审

  • 列出所有方案的细节,最后对比

弊端:太多了太繁琐了,太耗时间了,相当于本来是做一个需求,变成了一个需求做n次

所以我还不太会写技术方案……

核心感悟

身处业务部门,技术是其次,业务才是最重要的。

同事不一定会天天来问diff算法、动态规划,但一定会问前端xx接口调的是后端哪里的接口,页面展示xx取的是哪个字段……

实际需求也不会有太多“造火箭”的机会,大部分都是这里改一点,那里加一点……

但是业务往往又是复杂的,就像之前一年经验的时候写的:

总感觉这个项目太庞大了,又有很多重复的部分,改起来有时候很麻烦,但是随着时间的推移,又感觉业务需求本就如此,总有一些重复的部分,要么复制一份,那么以后修改就要多改几个地方;要么共用代码,那么以后维护如果要区分情况又要拆分出来。如果是一个新项目,有特定需求的话,应该总能找到一个最优方案,但是无法预测日后产品的走向,最终(仍然会)导致项目代码十分混乱……

其实说来说去,负责的也就那几个项目,不断迭代迭代再迭代,这里加一点功能那里加一个接口,有时候大需求就每个项目都要改。就比如最近就是,有个专项需求,要改一大堆东西。

我感觉如果是能小范围闭环的都还好:

  • 最好是纯前端的改动,可以一直coding下去,无视世界的喧嚣
  • 次一点的就是node写接口,但是又不涉及数据库改造的
  • 再次,有些要跟组内后端联调的接口。由于离得近,沟通也方便些
  • 再次,跟其他组或其他部门联调,一般都是通过办公软件沟通了,也偶尔会有一点会议沟通

这种事情多了也很难管得过来,有可能有些要在开发过程中才发现需要别人支持,存在一定的协调成本

  • 最难的,是供应商变更。可能涉及API变动,或者一些其他的底层改动导致效果不符合预期,这种情况往往要调研很久

还好我暂时没有直接接触过

前两年基本上都是跟组内后端联调的,跟外部团队的接触比较少,但是今年跟公司内其他团队的交流变多的。主要是接入了容器云原生,然后部署会遇到很多问题都跑去咨询了。

“云原生”这个概念我去年才听说,当时后端已经准备开始用了,不过现在我还不是很了解……

所以实际工作中,有时候写代码并不是耗时最多的,甚至有可能一天下来都没写什么代码,项目管理也占了很大一部分。

上下级关系

说起管理,又有一些要补充的了。

前文提到我今年绩效不好,所以有个“绩效改进计划”,又恰好换了领导,新领导就特别看重“汇报”这件事:

  • 汇报形式上,一定要搞得非常有条理:精简词汇,善用缩进
  • 要牢记领导是一名管理人员,作为下级要及时把工作内容、问题反馈给领导
  • 要多考虑一些。有时候领导交代事情的时候说他会做一部分,但是作为下级,不能真的心安理得交给领导,还是得多完成一点

这些感悟目前没有正面例子,都是反面例子。工作三年,我还没有成长起来……

三年之最

  1. 最迷茫的时候:一直都很迷茫
  2. 最无聊的时候:2021年下半年,都是零散的小需求。印象最深刻的是国庆前后给项目添加多语言的文案,搞了一个多礼拜,全是体力活,还好最后上线了没啥问题,当时我还奇怪,改了这么多,居然没问题?
  3. 最考验技术的时候:2022年
    1. 上半年搞一个H5页面,遇到了手机输入法遮挡底部输入框的问题
    2. 下半年:
      1. 继续做另一个H5页面的优化
      2. 把一些后端接口改成Node实现
      3. 给一个内部项目接入了WebSocket,通过RabbitMQ做到各Node进程同步消息
  4. 最担心的事情:各种分享。技术分享、个人分享等,技术方面一点也不精通,生活方面天天宅着,哪有什么可以分享的呢?
  5. 最低谷的时候:23年初,绩效二星
  6. 最开心的时候:第一次发工资的时候
  7. 最满意的项目:说不上来什么满不满意吧,大部分项目都不是我一个人做的,做得好也不是我一个人的功劳,做得不好也不能全都怪我。但是对于一些自己搭建的项目存在偏爱是真的
  8. 最大的成就:没有成就
  9. 最大的收获:也说不上来,学会了一些库、框架、中间件的使用?感觉还不如说是体验了一把“上班族”的氛围

工作之外

面试

工作之后只面试过一次,那时候工作快一年了好像,一个HR突然来联系我,说之前投过简历(应该是大四的时候投的)。然后约了一次远程面试,一面就挂了。隐约还记得当时问了柯里化和链式Promise,第一个写的也不知道对不对了,第二个没做出来……

源码

平时不怎么看源码,很少主动去看,一般也就是遇到问题的时候会翻一翻。像Vue的双向绑定、diff算法之类的经典源码都没有真正意义上读过。

总结

没有总结。

都是水文,也无法总结……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值