Kun

Kun

IT学徒、技术民工、斜杠青年,机器人爱好者、摄影爱好 PS、PR、LR、达芬奇潜在学习者


共 212 篇文章


  帮助自己回顾一路变化

起因

我本科是读的机械工程,但是在大四的时候在中科院做机器人的过程中受到师兄、机器人编程启发及个人向往,开始做计算机。由于本人天赋不高,想做的事又很多,因此较为艰难,也很想记录下学习过程和心得

时间线1:2018年9月-2020年4月

2018年7月我到中科院深圳研究院实习,熟悉机器人项目和组内成员。

8月陈君师兄拿到腾讯的offer,9月我开始和师兄熟起来,师兄给我看了我他写的机器人程序、安卓app以及校招过程中的一些事情,心生向往,这期间也跟着师兄做了相较于自己之前很不错的工作。

10月我返校处理上课事宜,12月返回中科院,此后开始间歇地向师兄打听、学习写网页的一些东西,服务器、域名相关的事情,因为这些东西不属于中科院的科研相关,我不好意思老问师兄,但是师兄很热情,非常感谢。

然后2019年整个春节没有回家,正好一个博士也在肝论文,于是借此留院,每天抱着自己的笔记本跑到距离自己宿舍两公里的深圳大学城图书馆,成功肝出来自己的第一个网页,域名为www.kunzhang.me,整个页面就是非常简陋的html+css,页面格式混乱且代码照着网上乱写,但是非常有成就感。这个域名沿用至今,并且将一直用下去

其后到6月份实习结束离开中科院,再到7月份本科毕业,一直沉迷于搭建自己的网页,有了较为丰富的内容(大概)。这期间试图找计算机工作失败,于是回到太原市一本专业机械国企工作

因为国企很闲,自己无法适应,所以自己找了php和前端的教程来学。期间开始学日语。2021年3月本人辞掉国企工作,打算找计算机工作,但是因为疫情,在家一直待到5月份。这期间开始使用google,并且根据自己调研,写了flutter、electron和php的一些demo,同时把自己的主页换成hexo,其后一直基于hexo更新内容

5月到7月考了科二,同时找工作,7月离开太原到了深圳,第一阶段完毕

时间线2:2020年7月到2021年3月

这是我正式从事的第一份前端工作。首先是感谢v2ex论坛,当时自己通过google找到这个宝藏论坛,在这里找到了不需要工作经验也能够从事前端的工作机会,其后也常常使用

然后是感谢自己的第一个leader,他在知乎工作了三年,虽然是安卓出身,但是对flutter、前端也做了相当工作,是一个技术大牛,目前也是。他基于我过去的经历给了我信任,给我第一份工作。我与他交流的过程中了解到graphql、dart和ts、泛型等很多的东西。虽然自己当时都不懂,连基本的JavaScript的函数都不会用,这是会简单地写一些vue和html

然后是自己的第一份工作,是在一家做医疗软件系统的工作。其实当时的同时整体都很菜,有的四五年了连Vue的框架都只是会用而已。鉴于自己开始计算机不久,水平也和他们相当。

因为公司的整体氛围很宽松,即使当时自己很菜也很容易存活下去。在这样的情况下,自己疯狂加班,每天都加到8点半,周六也去公司,整个半年都处于强输入的状态,周日也去找自习室学东西。这期间找到阮一峰的JavaScript教程,了解了整个javascript的发展历程,把所有js中的常用语法和Vue框架用的很熟,当然还有前端的很多面试知识点,http协议等,甚至还有ts,但是只是每天看很多东西,很多面经,填鸭式记入自己的博客,很多东西还并不理解。

2021年三月开始不满足于公司同事的技术水平和项目水平,开始寻求跳槽。其实当时面试了蛮多公司(10家公司左右)。但是因为自己确实半年经验有限,又是非科班出身,而自己又想寻求较好的公司发展,

时间线3: 2021年3月到2021年10月

这是我从事的第二份工作。我刚到公司的时候整个前端团队还很小,加上我只有4个人,但是所幸leader是蚂蚁金服出身,也是北邮计算机出身,虽然现在看起来相比于他的履历他本人还是有点水的,但是比起当时的我已经足够我成长了

在这里的几个月,我首先是刷了leetcode。从3月到5月底甚至6月。因为在三月份跳槽的时候自己觉得不错的公司都会写一些简单题,但是当时太弱了简单题都写不对,所以深恶痛绝,这在自己的跳槽日记中也有提到。当时从3月份前简单地记录了20道不到,到7月底基本上有150多道再后来不断完善到接近200道。对每个数据结构,二叉树、链表、数组、字符串,还有常见的算法 递归、回溯、动态规划、二分法都有了基本的概念和应用案例,这是基础,也是我师兄一直向我强调的东西,只是我之前都不当回事

然后是官网的项目。这个是我leader交付给我的相对简单也要求我独立负责的项目,我也完成地相对使他满意。但是对我而言,这个是我难得的补充基础的时机。我很好地补充了移动端调试经验、css写法、代码规范、官网的seo优化、自动化脚本部署、外链图片分享等常见的功能。项目虽小,五脏俱全,我们公司的UI也很专业,会提一些很常见的交互需求,我非常感谢他们给我提供的机会

然后是公司的产品。我们新公司的技术栈是react和ts,最初的三个月我并没有参与,只是会下下来偷偷看代码。这也是我第一次看react和ts的项目代码,虽然我们的项目但是用ts尚浅,没有像我的前任知乎leader写的代码高级,但是对我也足够受用了。我了解了很多react的库和react的写法,后面加入公司的两个前阿里同事也提了很多ts的代码规范,包括抽象组件的写法等等,让我很是受用。

然后是其他方面的一些提升。我们公司的运营很专业,UI很专业,文档较为专业,我和他们对接需求的过程中给了我很多很多好的之前没有听到过的代码之外的建议和想法。同时我独立负责了前端项目和修改了官网的部署,熟悉了很多linux的命令。我还通过图数据库学习到了一些偏后端的知识。我还学到了很多开源的知识。我们公司的产品是基于bff框架的,也有云原生的想法,做的产品也是基于promethues这样的开源数据,这样的架构让我学习很多

其他方面就是自己的学习。我学习了react框架底层的机制,学习了最新的hooks写法,深入学习了webpack的打包、插件写法和很多功能,深入理解了ES6的很多新特性,并且基于这样的新特性前端未来的可能性,学习了可视化插件d3 svg和g6 canvas的使用,拓展性方面学习了deno-view和node的写法,学习了vite,学习了微前端和SSR的概念,学习了node工具的使用,我甚至自己写了一些单元测试的代码,深入了解了我想做的electron方面的内容。因为这期间我总是被其他人吐槽拓展性有余而深度远远不够,我不想给人留下这样的印象,我会向这方面补充。

不过也是在此期间,我基本上确定了自己的前端架构方向,对于做产品和沟通不太感冒

对了,在这家公司我也是第一次使用git项目办公,我学习了git和github的很多使用方法

对了,在此期间我还使用我的z6微单拍了很多相片

如果你觉得我的文章对你有帮助的话,希望可以推荐和交流一下。欢迎關注和 Star 本博客或者关注我的 Github