我的程序经验

  1. 前言
    主要是想记录一下自己的历程:

是怎么就不明不白的成为了一名程序员
不知不觉得就进入了前端领域
怎么从小白到以为不是小白再到小白的过程
自己是如何学习的,计划如何学习的,如何走向下一步的
2. 入坑
我一个小山村非科班,基本上不会接触到程序的普通本科出生,实在是没想到如今自己会成为一名程序员!说起来计算机、程序、编程语言这些,大学以前是听都没听说过,一上大学,基本上就是从书本课程中学习了解,记忆中是大一的时候,那时候学习Visual Basic(VB), 也算是很有兴趣,基本看书听课讲,好像还去51自学网上学习,然后就做了好多小工具,什么音乐播放器,有趣闹钟等等,至今还保留着,算是自己的程序第一步吧!

后来非常幸运的去了学校最棒的实验室,在里面就接触到了自动化的东西,开始画PCB板子,开始学习C语言,记忆中是把C的指针学习完了,后面的就没深入了,其中对数据库也做了简单的了解,再到后来就是 matlab,也算是有一段小插曲吧,但是都没有特别深入。后来也特别的幸运,以管培生的身份去了京东,再京东的日子是非常幸福的,幸运的有一个非常棒的领导和一群同事,至今还有些在联系呢!非常的幸运!后来自己选择了另一条路,选择了读研究生,因此也就离开了京东,离开得无厘头的,至今是我的一段遗憾。

硕士期间更是幸运值爆棚,团队是国外人员占多数,所以自己的英语口语和阅读得到了质的飞跃,以至于现在我看英文的文档基本不畏惧,也结交了很多国外的朋友,还有两个国外的导师,更是喜爱。导师也是非常的棒,给了我很多自由,因此,我硕士接触到了很多新的事物,机器学习深度学习就是其中之一,其中给我印象最深的是《机器学习实战》这本书,我基本是一句一句一点一点的学习,所以本来我以为自己未来应该是走这一条路线的,不过,事情突然就转变了。

2017年六月份,导师有一个任务,需要前端工程师,可能自己给导师的印象是还会一些,因此导师给了任务和时间,我和另一名同学就开始全身心的投入到其中,也就开始了我的前端之旅,万万没想到成为了自己的职业,也让自己成为了一名程序员。

说起来,这也是缘分,也是自己选择的结果(导致的)。其实不知道怎么说,内心里,自己并不是想要特别走这一条路,本来希望自己能够走算法,机器学习的,不知道怎么就到这条路上了,看我的博客,最受欢迎的也是梯度下降,真心希望以后能够有机会再回首看看,记录一下,不忘初心。

不过,既来之则安之,通过这几年在前端圈的浸润,特别是在工作中的学习和实践,让我深深的意识到,语言不过是一种工具,能做出什么产品,关键看用的人,这就好比剑是武器至尊,但拿剑的人就一定能打过拿菜刀的吗?所以我下定了决心,既然走了这一遭,那就好好的!

  1. 过程
    3.1 真正的进入前端 —— 觉醒
    前端确实是有些吸引力,语言方面 C,Python, PHP, JAVA 都有涉猎,较于前端JS,基本上来说学习起来没有那么大的吸引力,也是个人原因,喜欢 PS 这一套,所以似乎慢慢的偏向了!当然其中 Python 我也是很喜欢,因为库(比如 Numpy, Matlplo)以及框架 (TF)这些实在太方便了,再加上python 是机器学习必备,所以Python算是自己处 JS 外比较喜欢和了解的了(现在已经有些遗忘了)。

真正进入前端应该是我实习吧,实习去了一个国企,日子很悠闲,那时候就做了一些东西(项目,博客,小程序,公众号等),算是真正的进入吧!期间,算是让自己彻底成为了一名程序员,成为了一名前端工程师,了解到了前辈们的强大,也了解到 JS 能做出的产品——桌面级应用、网页、APP、小程序等多端应用以及后端。

3.2 小白到以为不是小白 —— 一重境(饕餮)
应该是2017年年底,从最初的小白,基本不会,到 JQ, BootStrap, Vue, React 基本都会写,不论是前后端混合还是分离的项目,还是手机APP, 再到上线部署等等个,自己都能够独立的完成,算是进入了一重境。

那时候自己更喜欢写原生的JS,比如特别喜欢用原生的 JS 写轮播,那时候写无缝轮播可有意思了、还有写淘宝,利用原生 JS 和 DOM操作写购物车写订单等等。

正因为更喜欢原生的 JS,所以在大致研究前端三大框架Vue, React, Angular后, 毫不犹豫的选择了 React,刷过文档,写过 TodoList,也利用React+Redux+Express+MongooDB+Nginx 做了前后端开发,权限控制,动态路由等,基本都会写后,一些基本的实践,后台都没什么问题。

再接下来呢更多的是在 React 社区中探索,从 redux-thunk和redux-saga再到之后的 umi 和 dva, 从 koa 和 koa2 到 egg, 那个时候几乎就是学习这些框架,实践,开发然后重构博客。

然后就以为自己能写了,懂JS了,就去实习工作了,实习基本上就做一些简单的东西,也算是积累了一点点的经验。

不过现在看来,多了解框架是好的,但是那么多框架是学不完的,应该做的是沉淀下来,因为万变不离其宗,JS 才是源头!

3.3 再到小白 —— 二重境(螭吻)
有了之前的工作和实习经历,2020年4月,来到一家不大不小的公司,当时也拿到了苏州互联网龙头的offer,思考了很久,权衡了利弊,最后选择了现在的公司,非常的幸运,来到了现在的团队,让我认识到原来自己是怎样的无知。

这也是让我再次回到小白的原因,现在工作完全的让我认识到自己就是个什么都不懂的,根本就是个婴儿一般,需要学习的太多太多了,基本上都是不懂不知道的,有什么线上问题了,不知道该从哪里下手处理,该不该这样写code也是不知道;同时也看到了很多,一些非常优雅的封装和轮子,让我十分的震惊。

因为实践经验的原因,自己工作还算游刃有余,所以有比较多的时间学习,这也是我选择的原因之一。不仅仅是在工作中看到的优雅的代码和实践,同时遇到的很多新东西都刺激着我,所以我做了决定,沉淀下来,好好看书,从最初开始,把自己打回原形,一点一点的学习,然后给自己安排短期的任务和学习的目标,渐渐地,越是看越是学,越让我意识到自己的渺小。

所以写下这个博客,记录自己需要学习和接下来计划学习的,希望明年的1024我能进入三重境。

  1. 学习 —— 平生好吞
    4.1 Vue
    现在公司使用的是Vue,虽然能写业务,但是有太多太多的细节不知道,而且源码也是必须要看要学的,更何况现在 3.0 出来了,以前选择 React 就是觉得 Vue 太简单 ,现在工作看了源码才知道我以前太天真了,为什么 Vue简单,是因为框架做了很多事情。真正的理解框架很难的,同时也能够真正理解Vue的强大,所以需要好好学习。

4.2 TS
弱类型语言转变成强类型是必须的,这也是语言强大的必经之路。以前写C的时候就觉得强类型的确有其优势。

4.3 Webpack
如何打包,如何构建,会用,会搭建项目,但是个中缘由,还是不清楚,这也是进阶必备。其实 Webpack 就是使用 NodeJs 进行的一系列文件、服务操作,因此,NodeJS 是前提。

4.4 Docker
神奇的容器,一次封装,任意使用,简直就是出门旅行必备良品呀!
Docker容器、Dockerfile构建镜像和 DockerCompose 管理多容器以及实现持续集成。

4.5 微前端
这也是未来的趋势,多技术栈融合,全局监控添加等,这都是微前端的优势,大势所趋!
目前非常的幸运,跟同事一起做了这件事情,几乎重构了公司的前端架构,非常的幸运,感谢来到这里!

4.6 算法
不懂算法,写出来的代码总是低人一等!
虽然算法在平时的工作中用的不多,但是优雅的代码例如源码,没有算法的基础,别说写,看都看不明白的!

  1. 书 —— 颜如玉
    为了完成上面的进阶任务,自己有短期类需要学习完成这些书:

《算法4》
《JS高级程序设计4》
《JS设计模式》
Vue3.0
6. 短期任务
搭建自己的 CLI 和 Template (node、ts)
再一次重构自己的博客(koa2+ts)
这是第一次专门写博文给自己!写得很简单,但内容并不简单,好好加油!明年的1024我一定可以更棒!

©️2020 CSDN 皮肤主题: 1024 设计师:上身试试 返回首页