2018 对我而言是很特别的一年, 也是我成长最快的一年. 年初的时候, 我还在抱着一本 GRE 红宝书啃着单词, 心里做着 "美国梦". 年中, 却以前端实习生的身份加入了 Teambition, 确立了自己的职业方向.
心态的转变
说起来你可能不信, 其实我的专业是物理. 大学里上过唯一一门和计算机沾边的课就是公共的『C 语言程序设计』, 还是简化版的那种, 你甚至不需要知道啥是指针就可以考满分. 不过, 我一直都对代码有着浓厚的兴趣, 或者说喜欢折腾. 大学几年里, 折腾过各种乱七八糟的东西, 用各种博客程序搭博客 (就是没写过几篇), 自学了 Python, 照着教程用 Flask 撸了个简易的博客, 还自学了 Swift, 为社团做了一个能跑起来的 iOS App https://github.com/Hopsken/WakeUp (也只是能跑起来而已).
三月份的时候, 大三下学期开始了, 这个时候大家都开始考虑其自己的前途来. 不少人选择了考研, 可是我对科研没有半点兴趣, 也不愿意多花两年时间去换取一张学位证书. 还有些人选择了出国留学, 虽然我也考过了托福, 可是我还有个可爱的女票. 所以就这样, 我加入了春招的队伍.
之所以选择前端这个方向, 是因为我觉得它离设计很近, 离用户也很近. 几行代码就能做出赏心悦目的效果, 多棒. 当然这只是我个人幼稚的想法. 说实话, 在决定成为前端工程师前, 我对前端的了解还停留在很原始的地步. 我知道 html 标签是干嘛的, 但是不知道啥是语义化.我会用 CSS 实现简单的样式, 但是不知道啥时 BFC, 不知道 CSS3. 我知道 jQuery, 听说过 vue 和 React, 不过却连 JS 的基本数据类型也列不出来.
春招的经历
既然选择了前方, 便只顾风雨兼程.
这是我很喜欢的一句话. 既然决定好了, 努力去做就好了. 既然知道自己哪里不足, 努力去弥补就好了. 于是我开始了一边投简历, 一边复习备战的生活. 每天除了吃饭, 睡觉, 上课 (和约会), 就是泡在牛客网上, 备战春招.
不懂算法, 就去看《剑指 Offer》. 不懂 CSS, 就去看《精通 CSS: 高级 web 标准解决方案》. 不懂 HTTP, 就去看《图解 HTTP》. 不懂 JavaScript, 就去看各种书, 包括但不限于《JavaScript 实战 300 例》,《锋利的 jQuery》,《JavaScript 权威指南》,《JavaScript 高级程序设计》,《JavaScript 语言精粹》,《数据结构和算法 JavaScript 描述》等.
为了简历上能有个能放出来的小项目, 就去做了个 Hexo 的主题 https://github.com/Hopsken/hexo-theme-wen 和一个倒放 Gif 的小工具 http://trygif.herokuapp.com .
后来发现, 现在都要求 Vue 或 React 至少会一个, 于是就跑去看 Vue 官方文档, 然后一边对着 API, 一边跟着视频教程做了个仿美团的页面. 还跑去看了 React, 但是苦于其陡峭的学习曲线, 也是一知半解. 还顺道去学了 Webpack 和 Gulp, 知道它们是干嘛的, 然后自己试着配了一下.
过程中, 也参加了几个大厂的笔试, 但是因为基础实在太差, 都没能再往前一步. 期间感觉坚持不下去的时候, 就喜欢跑去看别人发的面经, 看看别人的经历, 就有了坚持下来的动力. 这里, 强烈推荐 Alex007 的小册《Web 前端面试指南与高频考题解析》, 对于查漏补缺很有帮助.
最后, 很幸运, 经过将近三个月的努力, 拿到了 teambition 前端实习生的 offer.
实习的经历
在 teambition 实习的三个月, 是我成长最快的三个月.
实习期间, 我开始潜下心来学习 React 及其周边生态. 学会如何从零开始去搭建一个项目的框架, 学会如何去配置 Webpack, 学会如何使用 TypeScript, 学会如何使用 Redux 进行状态管理, 学会如何使用 Git 进行版本管理和团队协作. 更重要的, 得益于 teambition 优秀的技术氛围, 我了解到代码质量的重要性.
实习的几个月里, 得到很多前辈的帮助, 是他们让我知道了自己的不足, 让我知道了自己前进的方向. 是他们耐心的教导, 让我知道编程是门『手艺』, 让我不再像一个愣头苍蝇一样四处乱撞. 借此机会, 我想由衷地对他们说一声『谢谢』!
生命不息, 折腾不止
回到学校后, 由于已经是大四了, 课业还算轻松, 我便开始试着实现一些自己的小想法. 于是便有了 ColorKitty https://colorkitty.com/generate 这个项目, 一来可以锻炼一下自己编程能力, 提高『代码感』, 二来可以做点东西出来, 做个小小的『产品梦』. 这个项目主要是想解决产品设计中『色彩选择』这个问题. 目前的功能还很简单, 基于『你需要的色彩就隐藏在图片里』这个理念, 这个工具可以帮你从图片中提取色彩, 然后根据自己的需要进行组合, 调整.
项目的架构很简单, 前端使用 React+TypeScript, 部署在 Netlify https://netlify.com 上; 后端使用 Python + Flask, 部署在 Heroku http://heroku.com 上. 之所以选择这个架构, 是因为我对这些都比较熟悉. 中间也尝试过 serverless 的架构, 不过最终还是放弃了. serverless 是个好东西, 只是现在还不是太成熟, 用起来总感觉有些隔靴搔痒的感觉.
2019 展望
2019, 我对自己有这些期望:
买一只喵
持续输出, 一年至少完成 33 篇文章
专注技术, 巩固基础, 深入学习 JavaScript, 看完《You don't know JS》
学习 Rust 语言
继续完善 ColorKitty https://colorkitty.com/generate 这个项目
学习日语, 至少到 N2 级别
Last but not least, 新年快乐~
掘金年度征文 | 2018 与我的技术之路 征文活动正在进行中......
来源: https://juejin.im/post/5c4679f4e51d4551d045393b