findxc / blog

88 stars 5 forks source link

工作五年,那些好玩的事情 #67

Open findxc opened 2 years ago

findxc commented 2 years ago

转眼就工作五年了,唉,为啥没有每年写个总结呢,一次性写五年的也太难了~

2017年,从零开始学前端

我从 2017 年开始工作,在一家麻雀虽小五脏俱全的公司,有产品、设计、前端、后端、测试、运维。

说到运维,当时老的运维同事准备离职,然后招了一个新的运维,入职当天就把测试环境数据库删了,笑死我了。在服务器上修改或者删除数据一定要谨慎谨慎再谨慎。

为了学前端我有买《锋利的jQuery》这本书,准备一边工作一边学习,结果并没有用上,进入公司后就是 React + Redux 全家桶了,打包是 Webpack ,很幸运直接就和时代接轨了。

当时对 JS 还不太熟悉,一直以为 React 中的 class xxx extends React.Component 中的 class 是 React 的语法,直到我去看了萧井陌的 直播编程写游戏 - 1_哔哩哔哩 这个系列才知道原来 class 是 JS 的语法。

他这个系列是教你写一个打砖块的游戏,挺有意思的。我记得是会用 class 先定义一个基础类,然后其它元素,比如砖块、球、挡板再 extends 这个基础类。所以我一下子就理解了 class 原来是这么用的。当时也有去了解设计模式,然后发现 class 的这种应用其实就是 模板方法模式

当时也还不知道原来 JS 中对象是按引用传递的,有次版本上线,出了一个 bug ,才知道还有这么一回事。下面是一个小测试,看看你会中招不 =.=

const obj1 = { name: 'xc' }
const obj2 = obj1
obj2.name = 'xc2'
// 这时候 obj1.name 会变吗?

const obj3 = { name: 'xc' }
const obj4 = { ...obj3 }
obj4.name = 'xc2'
// 这时候 obj3.name 会变吗?

const obj5 = { current: { name: 'xc' } }
const obj6 = { ...obj5 }
obj6.current.name = 'xc2'
// 这时候 obj5.current.name 会变吗?

公司一周工作 5.5 天,周六上午一般是自己学习或者技术分享。有次老板做了一次关于 shell 命令的分享,有个命令特别炫酷, cmatrix ,对,黑客帝国里那个效果。

Kapture 2022-02-08 at 14 40 30

是不是挺好玩的,让我觉得命令行真的太酷了。当时自己的电脑是 Windows 系统,还特意去折腾过 Windows Subsystem for Linux

由于公司不怎么加班,下班后有大把时间可以学习,毕竟啥都不会 =.= 去 Codewars 上做了一些题来学习 JS ,去读《深入React技术栈》来学习 React ,还去读了《代码整洁之道》,知道了原来注释不是写得越多越好,去读了《程序员修炼之道》,它说不要靠巧合编程哈哈,等等。

当时的自己真的很努力,想让自己变强大。

很感谢当时一直耐心帮自己 review 代码和 debug 的大佬,有人指导的日子真不错。

2018年到2019年中,学了很多前端以外的东西

由于一心想去一个大点的厂感受一下,我跳槽了。结果去了一个大点的厂,里面一个部门的,小小小团队 =.=

有多小呢,也就是我是第一个正式前端开发的那种小。除了我之外还有一个正式后端开发加一个外协前端开发。对,开发人员就这些。然后没有测试没有运维。

当时的项目一开始是外包做的,然后觉得前景还可以,才招正式的开发人员来后续迭代,所以我去的时候开发团队是差不多刚开始正式组建。

由于没有运维,项目就是我们自己来上线。恩,DevOps 从我做起。那时候写了人生第一个脚本, 自动部署代码到服务器 。后来有更多经费后,买了更好的云服务器,就是用 GitLab CI/CD 来进行测试、生产环境自动部署了。

部门主要是做渗透测试服务的,就是去找网页、服务器、 APP 等的漏洞。当时部门老大提了一个要求,每个人都要去网上找一个漏洞,后来我在同事帮助下找了一个网站的弱口令漏洞提交了,还是挺有意思的。

当时我们做的产品,部门其他同事给我们免费渗透测试了一下,找出一堆漏洞 =.= ,比如前端富文本、URL展示的地方有 XSS 漏洞,比如一些后端接口权限校验不够会有越权问题,等等,真的给我上了一课。

当时我们的产品销售同事会拿出去卖,开发团队需要背业绩压力。不得不说,确实挺有压力的,经历过几次封闭开发,见过凌晨 6 点的天空。

加班,非工作时间的微信消息、电话,终于让我有点崩溃。我也并非不能接受加班,只是,通过加班完成的功能,真的让我们产品变得有那么好了吗?

当时的自己觉得无法改善自己的处境,于是离职了。有时候我会想,如果是现在的我回到当时,我能做得更好吗?

当时部门老大有说过,如果你觉得产品经理的规划不好,你就自己去思考产品应该怎么做比较好。当时觉得开发为什么要管产品规划,现在却觉得,其实还是挺重要的。如果我当时有去分析产品的服务人群,产品的优势劣势,进而让产品往一个更好的方向迭代,产品更加赚钱,开发团队压力就会小一些,我们的处境就能得到一定改善。

好吧,总之这就是我的第二份工作经历了,除了前端之外,学了一点 MongoDB ,学了一点 Docker ,学了一点团队管理。

2019年中至今,思考人生,梳理前端基础知识,好好工作

从上一家公司离职后休息了一个星期,来到了现在的公司,和第一份工作的公司有点像,不加班,下班后也不会有工作上的事找你。

2019 年下半年和 2020 年更多是在思考人生。上班时间还是有认真工作,下班后更多的时候在放松,思考人生。在学习包容和接受自己,不勉强自己做不喜欢的事情,随性一点。在学习包容他人,理解万岁。

接受自己、接受他人有时候是一件很难的事情,你们会有这种感觉吗?好吧,不展开了,只能说自己现在心态还是好很多了,毕竟年纪越来越大,看开了 =.=

没思考人生的时候,跟着《剑指 offer》学了一些算法,万一哪天用上了呢。

2020 年想得太多, 2021 年开始实干了。花了更多心思在工作上,帮团队解决了一些难点和痛点,工作成果得到了 leader 和其他同事认可,还是挺有成就感的。这一年自己还去仔细梳理了一些前端基础知识, HTTP 缓存,跨域, Cookie 等,去学习了 Redux 和 React Redux 的源码,写了 20 多篇博客,很充实的一年,梦回 2017 的感觉,那时候单纯的自己~

生活是不是,如果你不想复杂,其实可以很简单?工作,学习,娱乐自己。

好吧,这就是我的五年经历了,继续保持愉快的心情,开启下一个五年~

colgin commented 2 years ago

前来学习,可以分享一下最近工作在做的事情吗

findxc commented 2 years ago

@colgin 我们组一般项目如果是小迭代就是这里改改那里改改,大点迭代涉及到新功能的可能会有些业务逻辑复杂或者交互复杂点的地方。

暂时还没新需求 hhh,在自己学习。看 next.js 文档,梳理一下,公司有个 next.js 项目看性能还能再优化下不。然后最近还准备看下 react-router 源码,还没研究过。

wangjs-jacky commented 2 years ago

前来学习+1,视频做的很棒👍🏻,学到了不少东西。

NoirVoider commented 2 years ago

加油加油

Cloudkkk commented 2 years ago

加油!

zhou7985 commented 2 years ago

我发现了很多的错别字

findxc commented 2 years ago

@zhou7985 比如说?让我修改一下

angiegigishang commented 1 year ago

来回顾一下,大神是怎样炼成的(o^^o)

bingmayongshouhuci commented 7 months ago

感谢分享,学到了很多东西,生活继续,加油!!!