2012.07毕业后,进了一家游戏公司作运营策划,写过营销方案、作过内容编辑、知道广告投放和换量,还得兼职产品经理画原型。 天天9.30-23.00之后,周末常常加班,像无头苍蝇同样碰撞一年后,我没有任何成就感,我开始思考本身天天作的是什么,未来会作什么,作的这份工做是本身喜欢的吗?在这个领域上未来会有所成就吗? 一、重复而繁杂 => No,我喜欢专心研磨一个东西,直到作好它 二、各类会议和无数遍的方案修改 => No,我作事的时候不喜欢被打扰,但这并不妨碍我是个喜欢交流的家伙 三、表面上付出了无数心血的产品,到头来讲不出它哪些地方属于你 => 很可悲,螺丝钉,物质和精神上都没有获得回报 四、我的成长,想总结本身毕业一年的提高,除了满口的流量、DAU、PV等词汇和一套又一套的运营方法论,发现居然都是一些很虚的东西(至少在当时的我看来是的) 五、高强度而无原则、低效率的加班javascript
基于以上等等,从2013开始,我不断的审视本身,我本身是个什么样的人,我喜欢作什么,我适合作什么,我会在什么领域有所成就前端
一、我常常会为了研究一个东西废寝忘食,投入而专一 => 貌似适合作技术 二、我能坚持作一件事情,不会三分钟热度 => 貌似适合作技术 三、我大学很喜欢捣鼓跟电脑相关的东西,从软件PS、AI、ID到优化电脑系统到重装系统到最后本身组装电脑 => 貌似适合作IT 四、个人舍友是后端,在我捣鼓第三点的时候他已经在帮学校和外面的公司写系统了,我很崇拜他,但大三大四读了《人人都是产品经理》,崇拜归崇拜,毕竟仍是经理比较有吸引力,年少无知随大流 五、我是985通讯工程专业,好歹见过C语言,知道数据结构,上过计网 => 这不明摆着去作开发的意思么vue
综上所述,我看到面前清清楚楚的写着三个字:程序员 再加上询问了一些朋友和同窗的意见,2013.09.01开始在家全日制脱产自学,从前端开始……java
嗯,自学开始,怎么学呢?node
我并无一股脑就开始学python
这里得感谢第一份工做对个人锻炼,我利用了产品思惟来看待这件事 目标:4-6个月找到一份前端工做 核心技能:HTML、CSS、Javascript + 一个框架(Vue)+ 一个项目react
确认好需求后,我利用思惟导图把这三个模块进行了需求拆分和梳理,每一个大需求下要学的是什么,特别是最核心的模块-JS 而后是寻找合理快速的学习方法,我浏览了不少关于如何自学前端、前端推荐书籍、前端知识体系等等方面的内容,最后总结出来我要作的事:看视频快速入门 => 看书扎实基础 => 大量敲代码实践,期间不断积累好的博客资源,吸收前人的经验,特别是github(懂的天然懂)webpack
但其实,前面的我并无消化多少,对新手来讲 《Javascript DOM编程艺术》 《Javascript面向对象编程》 这两本书我以为是比较合适的,其余的书都有它对应的阶段,强读不来 《Javascript高级程序设计》真是一本好书,入门后就值得不断的翻看了git
到如今工做一年了,个人桌面上常备《Javascript高级程序设计》+《You don’t know JS》系列,闲来无事就翻一翻,我的以为进阶必备程序员
大学折腾过科学上wang,看得懂hello world的英文水平(大学过完六级后就扔了)……在墙外发现了一些新世界:Google、Medium、Youtube、Twitter
四个月后的我,能写静态网站、JS基础能随口胡扯一点、会Vue的基础使用(对,烂大街的仿饿了么Web App)、用github page给本身作了个在线简历
这段时间留下来的积累是30多张知识脑图+50篇博客(不是如今github上的)
花了一个月去面试,这次省略一万心酸字,最终入职一家理想的互联网公司,产品技术驱动、最新技术栈、leader和同事是985大牛、技术氛围很nice、效率至上965 回想起来当初的本身真滴是渣渣,肚子里那点东西一眼忘穿秋水,换作如今我是面试官,说不定本身都会摇摇头 面试时获得的反馈:能学到的东西叫技能,花时间就能学会,咱们要的是有自学能力和技术热情的人。 很感恩如今公司的CEO和前端老大,或许由于中大华工一家亲?
6.1儿童节当天正式入职,对我来讲,还有个特殊的意义:在前端路上,我只是个儿童,刚刚开始蹒跚学步,将来路很长……
刚开始是内部管理系统的开发,vue对新手小白真的很是友好,过分平缓 而后写了两个星期的微信小程序,妥妥的练了一把手 紧接着就上了公司的react-native大船开发App(公司核心产品),一开始真的是一无所知,幸得leader炒鸡耐心,简直手把手有木有,在react的路上越走越远…… 加入RN-App项目后,我花费了大量的时间去熟悉项目 加上我很喜欢从大局看问题,想掌控一个项目,因此不断的尝试如何从零搭建项目、移动端打包测试、项目部署、App Store提审等等流程,所有本身跑了一遍,有时候不懂的就直接拉着leader教本身,在此过程顺便了解了下gulp、webpack、Xcode相关操做 从添加小功能 => 负责独立模块 => 宏观掌握App => 参与重构 很快我就对react技术栈的使用驾轻就熟,但并不知足于此,开始研究数据流、项目性能优化、总结踩坑,开始去了解virtual Dom和diff算法,顺遍入了阅读react源码的坑(路漫漫其修远兮,吾将上下而求索),结果发现redux的源码更简单一点…… JS基础和框架刷累了,又跑去宠幸一下网络相关,HTTP、缓存、浏览器等张口就来,满口性能优化却又无从实践,不幸还发现了事件循环这个东西,又赶忙跑去系统撸了一遍异步
大半年后,公司前端方面的业务都已经驾轻就熟,功能开发和维护什么的都已经不成问题,这个时候的本身其实有点小窃喜了,感受本身在前端方面有点无所不能的感受,貌似只要有后端的接口,什么页面都能开发 幸亏本人一直保持着一颗敬畏的心和危机感,立刻意识到本身处于温馨圈了,必须得想办法打破它,给本身敲一个警钟
赶忙对本身进行总结:其实本身仅仅知足于获取数据渲染页面,就已经开始自我陶醉了
在面向内部人员的管理后台上,不太考虑性能优化、兼容性(只用chrome)、美观等,那么是否应该在开发复杂应用功能、优化权限系统、提升开发效率上下功夫呢? 在面向用户的App和web页面上,性能优化、兼容性又成为了核心要素
这时候很想试一下react同构和服务器端渲染,据说能解决白屏,大大提高首屏加载速度,但迟迟未和后端同事找到机会试,这时候就对后端的知识蠢蠢欲动,想本身动手
其实前端就够本身吃一壶了,加上node带来的各类工具,还有数据结构与算法、服务端、数据库等等,有点贪心不足蛇吞象,草草刷了一遍node撸了几个express的demo妄图通吃后端,却没练过实际项目,花了两天学完了python语法,殊不知所措……
越学却愈加心生焦虑,学的越多,发现本身越无知
学啊学的,某天终于悟出了一点道理:百艺通不如一艺精 每天听别人全栈全栈,这学一点那沾一下,太浮躁了 还不如在前端这个领域往下深耕,扎实基础,T型纵向深刻,等时机成熟了,一点点去扩展服务端的知识,横向面的宽度很重要,但急不来,只有把目前所作的东西给撸清楚了,留下本身的思考和沉淀,才能为长足发展打下厚实的基础。
若是你们对于学习前端有任何问题,学习方法,学习路线,如何学习有效率的问题,能够随时来咨询我,或者缺乏系统学习资料的,我作这行年头比较久,
自认为仍是比较有经验的,能够帮助你们提出建设性建议,这是个人web前端交流qq群851231348,有任何问题能够随时来咨询我。
再加上跟一些群里的大牛虚心请教,给本身确认了一些打基础的方向,也是接下来的长期方向
做为前端
做为程序员
以上几点都须要沉下心来,一点一点去积累,急功近利不得。
总结起来,这一年里有几个关键词:勤奋、养生、学英语、输出、杂学
这一年里,在本职工做以外,我貌似活成了一个很“正能量”的人 公司九点半上班,我八点就到公司开始看书学习(家里离公司单程地铁一个小时,没错,我天天6点多起床),下班后或者周末,不是在家里就是在公司学东西
天天六点多早起了,那天然是得早睡,11:00-11:30睡觉,最晚不敢超过12:00,对于一个程序员来讲,是否有点unbelievable 晚上下班回家后会去健身房或者家里旁边的篮球场练球 周末的话,雷打不动至少有一个下午打篮球,坚持了10年的篮球 身体是革命的本钱,尤为程序员这种物种 另外,我几乎不吃外卖。
不知从哪一个时间段起,发现常常要读英文文档,google和stackoverflow都是英文的,不少好的文章和博客都是英文的
决心把本身的英语捡回来,而后开始天天记单词、阅读英文文章、尝试无字幕看美剧或者电影
推荐一个叫Anki的软件,对于记忆内容很是有帮助,建议入手尝试一下
输出很好理解,就是写博客,坚持写 我充分利用了bear、MindNode、Axure、github这几个工具 把本身所学所想所思的内容都沉淀了下来。
对于杂学这个词,我想了好久,其实这个词很差,有点相似上面说的,啥都学一下,啥都不会
其实我真正想表达的是:我拥有对新技术的好奇心和热情,会主动关注最新技术趋势。对知识拥有饥渴感,之前端为中心发散开来的技术领域,我都会保持关注,但不只限于前端,给本身的定位应该是解决实际问题的工程师,前端只是我目前的一个职业。
对于接下来要学什么,上面笼统的写了个大方向
做为前端
做为程序员
仍是给本身一个一年内的目标吧 一、继续react源码学习(学有余力就把vue的源码也学了) 二、学Node,并用Node+react(vue)写一个完整的先后端项目 三、把《算法》第4版啃完
时隔一年,多亏本身有写东西的习惯,还能勉强写个总结 新的一年,但愿本身能更上一层楼 虽然本身起步晚,但有句话:种一棵树最好的时间,一个是十年前,一个是今天,不要被这个事情影响 另外,坚持是制胜法宝
有人会以为,大神们才有资格写学习心得,你算个什么东西,你的资历呢,请先show出阿里腾讯的5年经验!
我的初衷,写这一part是把本身这一阶段的学习态度、方法、心得记录下来,可能哪天本身回头审视的时候,发现这个阶段其实有点学习方法是错误的,那么也能及时更正本身。重点:这是我本身的学习方法 另一方面,目前的确还有不少小白还苦恼于如何学习,但愿能有幸对这一群体有点点帮助,那我也是作了好事,算回馈社会了吧。 因此,大神们请绕道啦
请充分利用好下班时间
若是你是996,加上通勤就没有本身的时间了,彻底没有下班时间给本身充电,我建议仍是尽快换一家公司
大部分状况下(除了项目上线+短时间内敏捷开发),这些加班都是无谓的消磨时间,试想一下,六点半,感受下班了,点个外卖或者出去吃饭,这里起码得消耗一个小时吧,七点半到了,吃完饭休息一下,这时候大部分人的心理是想着反正还要加班,吃完饭休息一会,找个娱乐活动,看会抖音、头条、斗鱼、动漫,就半个钟……八点到了,进入工做状态,离9点就剩一个小时,即便全程投入,有效加班时间也就一个小时,反正我是不相信白天的八个小时内没法经过提升效率和专一力来弥补这一个小时。 若是你说常态要加班到十一点以后,那么复出的就是身体的代价了,还有前途。工做时间的业务驱动,每一个人都会有,你想比别人更有优点,就要利用工做以外的时间。 程序员是靠技术吃饭的,若是没有工做以外的时间来增加技术,还要赔上大量时间,你很快就废掉了。
请利用好下班后的那一两个小时,日积月累,你会看到不同的本身,一万个小时理论。
as for me,除了利用下班时间,我还有早上的一个多小时能够静静看书,不受任何人影响。还有一个隐形的优点,吃的健康睡得早,我天天都精力充沛,因此我能保证白天的工做效率。
一、列好todo list,分好优先级,作完一个划掉一个,好比这样
二、工做一段时间起来休息一下,这是为了确保你下一个工做时间段更有精力,番茄工做法了解一下
计算机、软工的科班好学生能够忽略,我是转行的,因此我须要大量补基础 不仅仅是JS基础,还有网络、算法、服务端等等等
若是是学习新框架或者其余工具,请第一时间看文档,有代码的地方就对着实践一遍,别人的博客最起码也都是第二手资料了 官方文档做者是最了解这个东西的人,你不问他问谁? 遇到问题,也请第一时间查看官方文档,再看其余
普通程序员+google = 超级程序员 国外真的有很多好的资料,Medium、Youtube、Twitter请了解一下,github上也大部分是英文的 国内大部分资料都是二手的,除了慢,还有翻译是否准确的问题
想要吸取国外的精华,学好英语相信是毋庸置疑的
还有,不会英文你可能连报错都看不懂,还有google+stackoverflow的超级组合咧
学英语其实比学编程简单多了,并且产出比很是高,你能够从装翻译插件开始 你只须要坚持背背单词+强迫看一段时间的英文文章,技术词汇就那么点,很快你就能看得懂了。
这一点上,请相信我好吗,你不会后悔的。
我的搜索问题三大步骤,请放弃百度,拥抱google,查看顺序 一、官方文档+github 二、Stack Overflow 三、国内答案、博客、其余
搜索不出来后,能够求助于同事或者朋友,请准确描述问题 不要没搜索过就问人,反正我就会很反感这样的人咯,别人的时间也很宝贵的
这一个,更多的是一个思惟习惯 也是提高本身最关键的一个步骤
具体怎么作呢? 若是初中高中有作过错题本、喜欢作笔记的同窗,特别是理科生,可能会比较容易理解这一块
最笨的方法,先从记录bug、写博客开始,得先有一部分的实践与素材才能开始整理概括 而后慢慢概括同一类问题,同一类优化方案 至于更高层次的触类旁通,就要看我的积累与沉淀了
其实这一步也不难,对吗,也就是多写写,记录记录而已
另外就是,看了别人的博客文章,也能够记录下来,做为本身的经验所用 踩在别人的肩膀上,你会看得更远 若是踩的是巨人,那就更好了
最后
若是你以为这篇文章不错,请别忘记点个赞
跟关注
哦~