Open heyong-2015 opened 6 years ago
2017年主要工作:
station进销存的开发与维护,承担进销存的所有所有开发与维护工作,目前系统运行稳定很少出现bug。
ma商户系统的开发与维护,期间重构老版本ma商户系统,接入新的技术框架使得ma系统更加容易迭代开发与维护。
去外部采购供应商需求开发与维护。
权限管理系统需求的开发。
前端拼音库研究与能力支持,最近出来一个方案,使得拼音库由之前的3M变为17kb,压缩后可以达到只有3kb,对系统的运行性能和打包性能都有比较大的优化。
导入导出方案的研究与实现,以前系统的导入导出都由后台支持,性能效率比较低,现在移交给前台,给后台减少了大量的工作量同时,速度还得到了很大的提升。
前端性能数据监控优化,以前系统内的数据监控比较混乱,而且数据显示效果不是很好.优化后系统统一了统计方案(百度统计)。
参与前端组件库的开发与维护,组件库使整个系统的迭代效率更高,维护更容易。
前端图标库能力支持与维护,使用iconfont图标库能使系统能使用的图标海量增加。
感悟:
技能变更太快,比如从开始的flux到reflux到redux在到现在使用的mbox,仅仅不到两年的时候就变换了这么多,感觉才刚开始熟悉一个技能,另外一个新的技能有出来了。这使我们要有好的适应和学习能力,2018年我也要一直保持学习能力,不断提高自己来适应时代的发展。
对自己最大的不足是对做需求工作的时候,不是说自己每做一个需求都能学到新的东西,都能有新的成长。2018年在完成工作的同时,多思考,多总结,争取没做一个需求都能有新的收获,新的成长。
工作主要太倾向业务需求的编写,在2018年,除了完成业务需求同时,也能有时间丰富自己的软技能。
2018年展望:
完善工作时间的细节规划。(高效完成工作之余,学习新技能如脚本命令行,开始写博客......)。
提高编程能力及编程技巧。(多阅读代码,多思考提高编程能力)。
提高自身综合能力同时多为团队提供贡献(多分享工作过程中学习的知识点,踩的坑;多参与框架,组建的编写使团队的开发更为高效)。
公司越来越好,团队越来也大。
2017还是很幸运的,有幸成为观麦前端的一员。
从一个react白痴,跟着勇哥接触业务,学习react,还记得当初因为文件命名和标点符号害勇哥帮我找bug所在,真是太笨了。
熟悉工作流程、工作规范,这大半年了解了git、shell的一些常用命令行。 其实熟悉更多的命令行,会省下很多事,所以18年就慢慢强迫自己脱离触摸板、鼠标,多敲命令行吧。
熟悉ma和station,尝试开发与维护一些功能。 参与开发的项目
不过还是太年轻了,开需求评审和技术评审会的时候还需要勇哥去提出基础难点和很有可能踩坑的地方。 并且导致很多线上bug,因为考虑不周全、业务不太熟悉、写的代码有毒等等,2018年就期望自己写的代码能没有bug吧。
参与web框架层重构 这一项挺不称职的,正如大佬所说的,这些可以在空余时间多想多看多写,慢慢就完成了,但我就是懒吧。所以18年最重要的目标就是,完成web框架层重构。
参与react-gm的迭代与维护
多看代码,多想,多写。别该着了。
重温了一遍阮一峰的JavaScript教程,巩固一下以前因为业务更迭而忽视的JavaScript细节,学习了Nodejs/Koajs,给公司搭建了官网,也算实实在在地全栈实践了一遍
很多人都觉得前端不太需要像后台那样,深刻理解业务逻辑,其实不是的,在更多了解业务逻辑的前提下,前端的一些交互不容易出BUG,上半年主要负责官网以及在线文档的搭建,所以做station/ma的一些需求时经常出BUG,但其实很多时候都是业务逻辑搞错了。而下半年,每次需求评审我都会提前花一些时间认真去熟悉背后的逻辑,慢慢地BUG也开始少了。
公司那一次对工具的分享虽然记得最清楚的是那个可以模仿机械键盘敲击声音的软件,但偶尔遇到某些需要频繁重复的事情上,还是会想起使用什么工具能有效提高自己的效率,感觉多开这类型的分享会还是挺有意思的
2017前端冒出很多新鲜的框架/库,层出不穷,技术栈也慢慢有了改变,从redux转向了mobx,因为在线文档的搭建,也扩展学习了Hexo这个搭建静态博客的框架。业余时间还去了解了微信公众号的开发,微信机器人的学习和使用,小程序开发,区块链,golang...这样写代码的时候更能多角度去考虑问题
从掘金小册那里买了本关于git的小册,加上平时在公司里对git的使用,也更加深入了解了git的工作原理以及git flow 的工作方式
多读优秀的代码,深入理解里面的代码逻辑并学习之然后总结分享
多学习业务逻辑,多给团队贡献提高效率的工具
多review代码并学习typescript
加深自己对station/ma/admin/bshop/react-gm框架层的理解,以及里面优秀代码的学习
重构掉2017年那些写的糟糕的代码
2017 年,是很特殊的一年,从职场到学校,再从学校到职场;从广州,到深圳;学习、求职、工作,充满了不确定,充满了新事物。有失落,有遗憾,也有收获。生活不易,To be or not to be。
从 2017 年 7 月 3 日加入观麦大家庭,至今 2018 年 1 月 7 日,满半年,期间陆续请假回校共 23 天,总的来说实习时间为 5 个月。
与君互勉。
2017年,我记得,周会时,大家都在报告自己的工作,而少有关注其他人完成了什么,或者大家都觉得这好像不关自己事。2017年,我记得,我曾经写了一篇 iconfont-guide ,写这个的原因是我修改了 gm-mfont ,所以出了一份规范,然后我在群里周知了大家。大概一个多月后,有同事提出我修改了 gm-mfont,导致出问题了。我修改 gm-mfont 没考虑全,是我工作失误,与此同时,如果大家有看我周知的那个 iconfont-guide 的话,或许 bug 能更早发现和避免。借以此例子,希望在新的一年里,大家能更关注其他同事的动态,或者在下一分钟,这会与自己息息相关。这一方面,自己也做得不够好,新的一年,与君互勉。
在学校,能有更多的时间折腾新技术,新事物。而出来工作做需求业务时,起初是能得到较大的收获,但是时间久了,可能会沦为一个只会做需求的码农,人也变得慵懒。因此在工作过程中,得常总结,常记录,因为可能过两周,就已经忘记自己曾经做了什么,又谈何进步;除此以外,还要做到不只有需求,不满足于需求,要保持学习,提升核心竞争力。咱们公司的工作时间,理论上是较轻松的,只要在工期内把该完成的工作量完成就好,所以工作氛围较轻松,所以可能使人懒惰,或安于现状。有人说,在这样的环境中,有能力的人会让自己越来越强大,而安于现状者,会被甩得越来越远。我不想做温水里的青蛙,你呢?
很感谢能加入观麦前端团队,有很好的 Leader,很好的导师,以及有技术氛围的团队。在团队里,Leader 教的思想,导师给予的帮助,以及我所观察到的各个同事的特点,还有良心用苦把我引导到更大的技术圈子去学习,还有肯定以及鼓励,这点滴,都让我很感激。有人说,人应该尽可能利用身边的资源让自己快速成长起来,观麦前端是个很好的起点,不该是终点。
目标不只是目标,要转变成事实。
充电自己 2017年,从C#转到JavaScript,一路过来学习了很多,不断的增加自己知识和技巧。
学习ES6和ReactNative
了解数据流,学习数据流管理Mbox
学习ReactNative和web项目的框架
学习React-gm、ReactNative-gm、lodash库
Electron知识的了解,以及与web的交互
git工作流的学习和使用
主要工作
PC端称重系统的开发和维护
PC端配送单系统的开发和维护
RN从玉项目
RN--Pad版称重app
采购app的搜索
总结自己
虽已入坑RN,但感ES6和JavaScript的知识不足
RN设计方式尚未完全吃透
RN项目代码不整洁,坑坑洼洼,龇牙咧嘴;组键设计考虑不全
数据流使用不流畅
代码整洁,实用,望bug少少
巩固RN,ES,mbox知识,以及更熟练的使用各种库
多使用辅助工具如git等,提高自己的工作效率
多看优秀的代码,从中学习更多逻辑与之分析总结,逐步提高自己
优化掉自己过去累赘的代码
前端技术不断推陈出新,需保持关注。同时,2017年是ai、blockchain火爆的一年,对这类技术感兴趣,未来会尝试深入了解一下。也许能产生奇妙反应。 总的来说,希望接触更多不同技术。做一个程序员、而不是前端程序员。
2017年,主要输出是在react-native上,做了采购App的一期和二期开发,也有对定制化打包的研究:
自动化打包流程:
研究App自动化打包方案,将App打包的流程一再合理化+简化,大大提高了App的打包效率.
原生知识:
在开发react-native的过程中,不免要接触到需要原生的知识,如iOS和Android的config配置,键盘布局,集成微信支付,蒲公英等等.
深感,作为一个新时代的大前端
开发人员,仅仅只会JS是远不足够的.
性能:
在做采购一期的时候,由于App的某些页面对手机性能要求较高,但是考虑到我们的部分用户使用的是比较低端的安卓手机,需要让我们的App在他们的手机上也能完美的跑起来.
于是针对展示复杂的页面和数据过多的长列表页做了组件设计和渲染优化,使App在内存小于2G的老式安卓手机上也能流畅运行。
react-native升级
采购二期的时候对项目进行了react-native版本的升级,积累了升级经验,过程中也粗略的了解到RN在原生里面做的一些事情,如注册JS事件,如何调用Android的Activity等.
同时也把路由从navigator切换成了react-navigation
.react-navigation是个更原生,自由度更高的路由组件.它提供的基础API很简单.想要单纯的用上并不难. 但是一些我们会用到的功能却没有提供,如getCurrentRoute
,想要获得这些功能,就需要配合它的高自由度,自行开发实现.
稳定
react-native是出了名的不稳定,容易闪退. 为了保证项目的稳定性,在开发过程中非常注重自测环节.在过程中也踩了许多坑,但是我相信这些坑是踩得值得的,都是非常宝贵的经验.
另外,采购App5月发布至今,运行稳定,没有接到客服反馈严重的bug.也印证了我们在这方面做的努力没有白费.
web-view
主要研究了RN web-view与H5之间的通信.
完成Station 广州大学 和 landing页的开发
开发Web需求的期间学习了Station的技术框架和业务。同时也补足了很多web方面的知识,如webpack
,react-router
,css
等
相比团队内正在使用的redux数据流框架,了解到一款更加小而敏捷的数据流框架mobx。 在业余时间深入学习了解mobx框架,并向前端团队科普相关知识,推动团队技术的更新迭代。
学习-分享-推广:
相比团队内正在使用的redux数据流框架,了解到一款更加小而敏捷的数据流框架mobx
。 在业余时间深入学习了解mobx框架,并向前端团队科普相关知识,推动团队技术的更新迭代。
沟通:
与运营同事对接,给予指导,主动推进App打包对接事宜,定下收集信息流程方案,减少了双方之间的沟通成本。
react-native:
作为团队react-native上的主要力量,希望在2018在这个点上能继续输出更多.
Web:
web方面是软肋,希望可以加强这方面的能力.
小程序:
作为团队一块新的试验田,期待可以在这上面有所斩获.
开源:
不知道什么时候,开始喜欢看github上别人的开源项目,看别人的代码,总是能汲取到许多新鲜的东西.同时也希望自己能为整个开源社区贡献一份力量.
英语能力:
英文文档阅读能力,希望能做到无障碍的阅读国外的文档和技术文章.
技术流上,从node(主要还是express)转移到react,慢慢热爱上react
曾经有一段能自己自由把控的上班时间,于是玩了一把全栈.自己开发一个留言板,后台方面用上熟悉express.数据控库上了MongoDB,前端用React-redux全家桶,master-UI 实现了一个自己的留言板,自己的小便签,还蛮有意思的.
换了一个新的环境,技术氛围更浓厚了,不定期的分享会,对知识面扩展十分有利. 自己也做了一次分享,关于react图片预览组件.
数据管理上,从redux转到mobx
. 前端的世界,变化真的快. 上一年,感觉用熟redux没多久,现在mobx有风行了,紧跟时代的浪潮,唯有不断学习. 还好,mobx十分容易上手,而且API也很友好,还解决了写redux的时候大量模版代码的问题👍
尝试了vue
,文档超级漂亮舒服,而且中文. 但是很不习惯,还得觉得了react更灵性,熟练之后为所欲为.
用上了webpack3
,平时最怕配置webpack了,感觉很多东西都是很多工程通用的,但还是要重复配置. 而且webpack文档,太繁杂了,文档看起真有点无所适从的感觉.(可能是我的打开方式不对吧? 2018继续努力...)
2017-03-23,HEXO个人技术博客上线,想着培养自己的写作习惯,分享技术的同时,思考技术问题的本质,加深自己的理解.'尝试解释一些理论给其他人听,如果别人听不懂,那肯定是自己的理解还不够深刻'
,这句话一直都我分享的动力以及出发点. 2017年,写博客这件事上,自己执行力还是不够,所以博客更新频率不高,有待加强.
代码版本管理上,从git merge
流走向 git rebase
流. 开始真的很不习惯,对rebase概念模模糊糊,频繁搞出事情. 后台多看文档,请教大神,才慢慢有了感觉. 学习就是这样,突破瓶颈的时候往往是最艰辛的时候. 一旦突破,后面的路子就平坦很多.
生活上,从金融公司到农产品SaaS,跨度有点大.这一年,既学到了金融理财相关知识,又学习了SaaS系统,生鲜链配送等业务. 这个世界的变化速度真的越来越快,感觉自己逐渐摸清了社会的规则,但这个世界又很快风起云涌,变幻莫测,一下子又不是原来的模样. 危机感不时袭来. 这一年是人工智能元年,区块链技术的爆发年,感觉世界新一次的工业革命就要来了. 兴奋的同时有点担忧,很多人都要失业,很多规则又要改写.
开发环境上,从 window
转向了 mac
. 以前一直觉得mac上的开发体验跟window差不多吧,直到我用了mac. 我发现我之前是多么的天真,mac在环境安装上比window好太多. 各种工具也使用十分便利,大爱Alfred,努力想成为键盘党,cool cool的. 各种工具合集分享
认知上,逐渐多关注了软技能
这个概念. 以前信奉Linus的'Talk is cheep. Show me the code!'
这很Geek.可以说,对程序猿的最好赞誉,就是'your code is cool'. 不是每个人都是Linus,在工作环境中,做出一个好的产品,单单是编码能力是远远不够. 业务上,需要理解能力,交流上,需要沟通的能力.
及时总结,复盘,了解过去的优势和不足. (任重道远)
将思考点记录下来,形成记录习惯.
有意识提升自己的任务管理能力,时间管理能力. 预估工期还是要多拍脑袋.
多读代码,多读源码,多review. 感觉自己的编编程能力,到了一定瓶颈,有点迷了. 迷下去不是办法,据说读优秀代码提升超快,2018要开始执行.
加深学习命令行,多读各种脚本. 学会写简单脚本,解决自动化问题.
2017 年初离开了小农女,说不上好不好,只是朝着计划中进展。这年和很多人感觉的一样,技术变化得有点大。从自己有意的感知(可能是不全面或者片面的感知),前端框架主要是
react
,vue
的生产使用在激增,这年头不会些框架都不好意思去找工作了。其次是状态管理方案,从自己学习react的flux
, 到进入小农女学到的redux
, 再到现在mobx
还有未来可能用到的rxjs
,都是对项目复杂度理解变迁的一个体现。编程语言放面,也逐渐从传统javascript慢慢转向了目前使用还很蹩脚的typescript
。构建工具方面除了webpack
,我们好像又多了新的选择rollup
,parcel
。慢慢地,从一个不怎么会切图的切图仔变成了技术海洋的一叶扁舟了
antd
, react-gm
, bfd
等UI库的一些实现。刚刚开始的实现版本一个人用没有感知,但是在团队推广后发现还有一些兼容的问题,这样修改发布修改发布的流程几次后,发现是时候研究一番cli了,默默借鉴vue-cli
写了一个组件库的cil工具进行开发与版本发布和demo部署。直到现在还是没有抽出时间去把组件的样式模块化,用的依旧是封闭开发时期的打包样式(囧...)eslint
的推广,可惜最后实施者不是自己,最终也没有往一个比较理想的方向走下去,项目的规范貌似依然很松散,这都是husky
推不开的锅,也怪自己的准备和决心不足egg.js+java+dva+antd pro
)和微信小程序端(wepy
),这样一来,之前公司预研的小程序技术没有先落地反而在自己的项目可以先用上了。当然其实也不太算是预研,主要就是套上了wepy
框架然后开发和vue差不多了。管理端因为其中一个舍友是做Java的,所以为了减轻他一个人扛着我们两个前端的轰炸,于是抽空向他学习了一下spring boot
,于是晋升成了一个初级接口仔,用他的话说是可以在他公司做一个初级的接口仔了(卡卡卡卡卡卡....)react
源码,vue-cli
important
nodejs
2017 年对于我来说是十分重要的一年, 说是改变了我的人生轨迹也不为过。这一年从学校走向职场,从东北走向北京又走向深圳,经历了三家公司,学到了无数的东西 ......
二月寒假回家后决定放弃本专业(石油工程),开始学习我喜欢的前端。整个二月和三月都宅在家凭借以前玩 Python 的一点薄弱的编程底子啃《JavaScript 权威指南》,不得不说这本书是真的厚,还好我坚持下来了,看完之后收获巨大,这是我后续学习的基础 !
三月和四月, 学完 JS 以后,马不停蹄地学了一点 React 开始写小项目。四月写完了我人生中第一个个人项目: 一个独立音乐社区的第三方客户端。这是我第一次感受到创造的快感,虽然功能十分简陋,以现在的眼光,代码也很丑陋,但是这却让我自信心爆棚 !
整个五月和六月我都在开发我的第二个项目: 一个自动化管理、生成、部署个人网站的工具。我在这个时期学了 Node.js 并且用在了项目里,也是从这个时期开始学习 Rust。在整个开发流程中,我一直处于一种高度兴奋的状态,一段时间内竟然 Commit 了近 400 次,经常一不留神写到半夜(然后白天上课睡觉啊哈哈哈哈),我想这大抵就是热爱吧。
六月凭借上一个项目,北京有个公司主动邀请我去实习,我拿到了人生第一份 Offer。被告知公司前端基于 Vue 技术栈,六月底和整个七月,我一边看 Vue 文档,一边重构我的第一个项目,得益于之前的经验,我在短时间内几乎毫不费力地上手了 Vue。在这个时期,随着项目规模的扩大和复杂度的提升,我逐渐开始注重易读可维护的代码、清晰的项目结构、合理的发版节奏等。最后项目上线时还进了 GitHub 的全球 Treading 排行(虽然时间很短23333)。
八月和九月在北京开始我人生中第一次实习。这段时间内,比起纯技术上的提升,收获更大的是了解到了技术团队怎么分工协作、怎么解决项目冲突、怎么进行技术方案选项与评估、怎么预估排期、怎么与产品沟通等技能。这段经历开启了我的职场生涯,让我学到很多。
九月参加了腾讯校招提前批,顺利通过前三面,却不幸挂在交叉面。十月份回学校上课,面试挂了伤心之余,开始决定研究前端底层原理,之后便一直花时间研究前端编译和框架内部原理等。
十一月到十二月来到了深圳,开始在观麦实习。不得不说公司的氛围真的很好,大家都很 Nice,并且有很强的技术氛围,每个人都很勇于也乐于去做技术分享。并且 Leader 教会了我很多: 包括技术选型考虑的风险因素、如何写出易读的代码、如何正确地使用合理的技术完成工作(拒绝黑魔法、尽量简单化)、如何使代码可拓展等。有时候我会问大家很多问题,但是每个人都会很耐心地回答我,能在这样一个氛围下去工作和学习,我真的十分幸运~
年底,抱着试一试的心态去了腾讯的社招,没想到凭借我的 Muse.js 项目,竟然顺利通过,拿到了 Offer,进入 IMWEB 团队,开始了腾讯课堂的实习。
很多时候想的太多,开了无数的坑后续填不上。
精力分散,很多东西浅尝辄止,知识面杂而不精。
长胖了太多!!!
当然是继续深入前端(前端的水实在是太深了 ! 学不完 !),同时多了解一些其他的领域。
尽量填完之前开的坑(Muse.js、编辑器等)
学习 Canvas (抽象出一套自己的数据可视化 API)
把一直在看的 Rust 用起来(WebAssembly、WebServer等)
实践 React Native
学习 Scrapy 和 SQL
抽时间健身
越往后,一年的时间总是过得越来越快。有人说,这是因为一年占你生命中已度过时间的比重越来越低,一岁的小孩,一年就是他已经度过的一辈子,怎么能不漫长。想想我现在已经是1/26了。
现在已经离开小农女一年半了,越往后越觉得,小农女前端团队的难得,这是一个真正的互联网的前端团队。感觉以后也很难碰到更优秀的前端团队。认识雅堂,应该是我的前端生涯迄今为止最重要的节点。
抛开业务不谈,今年的主线应该是两大项目的重写。一个是PC管理端,去年10月开始,一直持续到今年3月;一个是h5管理端,今年八月开始。两个工程都是从0到1到上线,技术栈大同小异,都是React全家桶。
h5管理端引入了更为成熟的redux-saga,但并未直接引入,而是使用了蚂蚁金服dva的封装;h5对性能要求较高,于是引入了一系列性能优化相关的东西:比如seamless-immutable等。其他的方面的点,不值一哂。
接下来的工作主要是组件库和脚手架的抽象、老工程的技术栈统一以及线上项目的持续优化等。
在前端推行了一系列规范,如编码规范(风格类的):eslint、stylelint;commit规范,分支管理规范,git flow工作流等。总得来说,实行的还不错,对前端软实力的提升显而易见。主要心得是:规范的推行必须要结合工具来强制约束,文档公示,群里喊话什么的,没用。
编码规范(风格类的)等搞定之后,剩下的就是代码逻辑的方面的优化了,这个本来指望code-review来推动的,结果没推动。难道保证团队代码的简洁优雅就真的只能靠个人自我约束吗?这个问题希望我能在18年找到答案。
本来还计划下一步直接上CI的,苦于没有找到满意的前端方案,再加上需要和Jenkins及后台、测试等部门配合,分线之后诸多不便,然后业务压力也大,暂时先观望吧。
抛开两个业务的重写,剩下的主线就是业务了。上半年主要在负责订单模块,下半年有两个月多月的时间投入到进销存里面,对相关的业务也算是比较熟练了。有人说:程序员必须要懂业务。但实际上直到现在,我依然对业务没有太多的感触,不知道它会对我的职业生涯有什么帮助。可能是因为前端的角色的接触到的都是表层的业务逻辑吧,深层次的业务逻辑都是后台处理的。看看这个问题在18年能不能找到答案。
坚持写了一年的技术blog,累计三十多篇。写blog是对自己的知识体系的一次梳理,是一次深度思考。个人觉得很有必要,而且对知识体系的建立帮助很大。
今年的对新技术,新框架的追求没有那么盲目了,更多的关注底层知识的积累,关注框架背后的东西,如思想、实现方法等。框架什么的,万变不离其宗。原理性的东西会了,剩下的不过是文档和代码的熟悉。
之前的我,都不算会读书,顶多算会看书。直到今年下半年,我才真正学会了读书。
读书最重要的是选书,选对一本好书,事半功倍!这点上豆瓣是我最重要的参考,我现在也是图灵社区的忠实粉丝:大部分书都有pdf电子版。
这里推荐一篇文章:读书最大的误区是什么?
一些自己读书心得如下:
主要是现在找到 高质量、成体系(成套)
的资源(或者说资料)太难了,除了看书,基本别无选择。
读书笔记是整本书精华的浓缩,是阅读时思维碰撞的结晶,是后期回顾时的资料备份,是沉淀方法论、形成思维模式的肥料和基石。
读书时做读书笔记会强迫自己搜寻书中的精华部分,就相当于是带着目的和疑问在做事,结果肯定是大不相同。
而且根据我亲身经历,读书时做读书笔记和不做读书笔记,收获确实也大不相同。在不做读书笔记的情况下,大多数时候就是囫囵吞枣,猪八戒吃人生果,看完后记得多少,收获多少,全凭运气和状态。后期老牛反刍时,只能够找到书再翻一遍,每次思维的基础都是全书,而不是更高的一个层次,太泛。
读书笔记就是你读书的成果,可视可评估可量化,一目了然,让数据和事实说话,也避免了自欺欺人。
很多技术方面的东西,官方文档都是最权威的。如:
很多技术书籍本质上就是官方文档的通俗化的解释或者整理而已。可以通过阅读技术书籍或博客降低入门门槛,但还是要以官方文档为主。
个人感触是:不要跟风,专门从头到尾看一个项目的源码,否则看完之后也是囫囵吞枣,只留下吹嘘的资本。最好是带着问题或者带着目的去读,了解源码背后的思想和知识体系,这样收获才是最大的。
三观没废,还略有提升,实属不易,也是颇感欣慰。
从实习到现在已经呆了4个创业公司了,感触颇多,感觉有必要进大厂看看了。
引入外部的东西结合进来,事半功倍。这也是创新的源泉之一。
前端也要懂一定的设计、产品和项目管理等软实力方面的东西。
扎实前端基础,找准方向。
搞定四大金刚:计算机网络,数据结构与算法,编译原理,计算机系统。
目前对web安全方向感兴趣,希望18年能确定是否深耕。
持续改进自己的思维体系。
2017总结
web统治
16年最大的事情是,很快web就把“前端”统一了。把以前的 android c# 统一到 web 技术栈内。统一的结果是维护成本,风险大大降低,效率大大提升。组件复用,开发思想、开发流程统一,最佳实践通用,安全处理、风险规避通用,性能优化通用等等。
一个9个人的前端团队。维护了7个产品线(还有其他挂掉的)。维护了15个开源库。还能保证高质量,大概一周也就5个bug左右。还有些小工具。复用、成熟的技术方案、可执行的开发规范指引。发展下去,我们的边界成本会越来越低。
17年横向扩展比较多,未来我们会在深度上涉足更多。动画,交互体验,极致性能等等
库
关键库自己开发,一定要自己开发。如果有能力建议自己开发库,依赖第三方库会给业务和技术选择带来非常大的羁绊。因为随着认知的改变库会经常做调整。现在前端的节奏变得非常快。我们的库已经调整了很多次,接入的业务平台也变化非常大,现在到 6.x.x 了。接第三方是不敢有这么大的动作
自己开发能控制代码体制,控制无用代码,精简。维护库的人一定是业务做的很6的人,因为脱离业务很难搞出优秀的库。
管理
偏松散,自由,也有一些基本原则和约定。自由不代表输出会降低,反而会调动大部分的积极性。他们大部分在下班后周末等业余时间还处理事情。自由是让人乐在其中,反而自发投入了更多的时间。自由会提供更多的思考,让我们的决策来的更准确。自由提供更多充电机会,反推工作。反倒那些加班的公司,其实员工成长很慢。当然也有少些人变动懒散,这是我做的不够好地方,18年会加强这些人的约束。
在这样的环境,有能力的人反而能使自己越来越强大,舒适者会被甩的越来越远。总体上产生了好的效应,我们会坚持。
周报。周报通过了 gitlab issue 来管理。周报记录一周的工作计划,随时可以修改,同时也是每个人管理自己的工作 TODO。这个执行的非常好。
技术管理者一定要在一线呆着,否则很容易想法和执行对不上,否则没法深切感受到技术上的痛点和全局的决策。可以不了解业务,但必须对技术有十成的控制。
既然是工作,就需要成为一个称职职业人,最基本做业务做需求产出。 自然自由学习的时间会被压缩。那怎么学习?业务时间是拉开距离的最快方法。 那业余时间不过多干涉,我想讲得是做需求也会是成长最快目标最明确的方式,我每做一次需求都有非常多的总结和自己的理解。所以尝试改变做需求的认知吧。
放权。放权是对成员最好的成长,放权的同时一定是要有精力关注到。否则放权放着放着就黄了,对双方打击很大。
原则
我们有一些有意思的原则:
三个原则:闭环、谁难受谁推进、Think Bigger。
充分利用身边的资源来达到目的,身边的任何人物都可以是你的资源。(不懂问人,或请求别人协助处理。事后再找时间复盘。)
(重要重要重要)把事情简单化。做1+1,不做乘除开平方。如果事情复杂,可能方向错了,停下来思考简化,总有简单方案代替的,无非是认知的局限,那交流就显得更为重要。
提倡纯粹的沟通,以解决问题为主。(交流很重要,交流很重要,交流很重要。每个人都是特别的,我现在的知识体系很大一部分是依靠和团队成员的交流组成的,不停的在交流从他们身上吸取知识)
鼓励犯错,从错误中吸取教训是成长最快的。
人
进进出出也有一些来回。不合适的出,合适的进,非常不合适的赶紧请出。团队会流动,拥抱变化,其实我不希望抓死一个公司的人,反而鼓励他们变化。人出去了,关系还在,技术交流还在。你就当一个外派学习的。事实证明,我们在这些技术交流中非常受益。
btw,我本身没管理经验,无非就是技术稍微好点。做上了龙哥这条好船,然后招兵买马,搞到臭味相投的人。然后遇到个放权利的老大,让我来摸索。然后大家一起来管理。人性格很重要,那怕技术差我们也能把你带上来。
技术
规范。Eslint + 一些约定 + 一些最佳实践。
redux => mobx。数据流管理从 redux 转移到了 mobx,转移到 mobx 的时候还是遇到了点问题。
性能优化。静态资源上cdn,加缓存。webpack 打包上 dll + 多核 + mainfest + externals + 按业务拆分代码。redux + connect。 mobx 天生性能优化。移动端 + immutable。
数据。从 growingio => 百度统计。基于 sentry 的错误收集。基于 graphql + mongo 的其他数据收集。
可配置。搞了个静态化配置平台,支持产品的个性化定制和数据的配置。以前是写在代码上,现在抽出一个平台来配置,无非就是些静态 json 文件。业务用就 fetch 获取即可。
前端
变化依然很快,千万不要停下脚步。从 react 到 RN 到 小程序 到 iOS Android。 从 redux 到 mobx,从 react-router1 到 react-router2 3 4 到 react-natigation。从 es5 es6 es7 babel webpack 等。从 web 到 chrome app 到 electron。从 png 到 iconfont 到 svg。都是新东西。
每次处理以前的收藏时,总会删除很多事情。因为他们已经陈旧。
知识的来源
慢慢积累了一些固定的知识来源。 第一当然是各种公众号了,现在很多个人和公司的都会输入自己的技术。公众号也占了60%的来源,其他就是各种官网官网。 反倒掘金、知乎、微博、segmentfault很少很少接触。我认为消化掉公众号的已经非常多知识点了。
还有就是做需求的时候,每一个需求背后都有很多知识点,只要够认真,思考的够仔细。就可以从做需求中学到非常非常多的知识。
还有就是交流,随着和身边的人不断的交流,自己的理解也不断的被刷新。身边的每个人都是宝藏,学会像棉花一样吸取精华。
技术方向
还是会一如既往的前端,能用前端做的事情就用前端来做。主要还是偏js方向多点。 后面在逐步看一些css和设计的事情,在积累,还没有集中精力去攻这块。
书
看的很少,偏向于 css。《css揭秘》《css核心技术详解》《0基础学UI》《0基础学UI进阶版》《Javascript函数式编程》
技术群
组织了一个前端群,24人,非常的活跃,质量还行,互相帮助解决问题。貌似有过一次线下聚会,不太清楚了。其实没想好怎么搞,所以没有后文。 也尝试过通过其他形式去搞一些其他组织,反正没后文,不提了。
生活
跑步。是上半年的事情了,坚持了很久,在年前就给自己买了个华米手表。 环境也挺重要,那个时候隔壁是西乡体育馆,经常过去跑步。 自从有了娃,换到固戍就很少跑了。不过身体素质也在逐步下降。 上个周末打篮球,才上了3次场,就酸痛了3天。
咖啡。上半年是各种泡咖啡厅,各种找咖啡喝,还买了小型咖啡机放家里,每天冲好带公司。 10多月份后慢慢转移到喝茶了。
小车。今年买了车,走了1.3W公里。主要还是回老家和带娃去各种地方。平时上下班用的不多,上下班走107,其实也还好不是很堵车。就是停车费油费算下来太贵了。晚上累也不太安全。
吃。当然是乐凯撒的榴莲 pizza 几乎是没两个星期关顾一次。
带娃。主节奏。 每天10点睡觉,哈哈。反倒养成一些良好的习惯。习惯后,每天上班的精神状态都很好。不像以前熬夜,带着80%电量进入工作。
展望
更严格,高要求,更多鼓励的管理团队。但希望哪天又可以回到非常自由那种状态,那时大家都能自主了。
团队宣传。团队和人的标签希望被加强。