本文是非技术向的随笔,慎点!
熊写代码这三年:阅读写做与技术成长 从属于 程序熊的自我修养系列。临近毕业,随手写了篇随笔,聊以记念我过去研究生三年间的技术之路,感谢陪伴我这三年的家人,感谢全部陪我一块儿打拼过的战友,感谢全部阅读过我文章的陌生人。前端
本文是一篇种田流水文,但愿以平淡的笔触记录笔者这三年的成长。本文总体大概会包括自我定位、阅读、写做、知识殿堂这几个部分,为了不过于正式就不分章节了。git
笔者的第一份工做从大三开始,在南京某家安全公司从事安全培训与渗透平台开发,兼职作作讲师;老实说肚子里没几滴墨水却要对着台下数百听众,搜肠刮肚地忽悠他们,很锻炼面皮啊。后来某个来头不小的二代找我说一块儿创业吧,他想颠覆世界,问我敢不敢一块儿。因而我就拉着身边的兄弟走了出来,很感谢个人两个舍友那些年里给个人支持与包容,容忍了我作的那些傻逼的事情。如今想起来,我还挺佩服 CEO 勇气的,竟敢找我来创业,真的是年轻啊。那个时候常常逛的是以 DZone 为表明的这类网站,并不是说它们很差,不过确实太多的标题党,动辄新一代产品或者性能提高 100%。那时的我太过年轻,才从农村出来尚不知城市套路深,轻信了这些标题党,固然根本缘由仍是咱们毫无经验,结果两个月的时间开发出来的 Hybrid APP 启动时间 20 多秒;当时我还一脸没法理解为何 CEO 会露出绝望的眼神,毕竟以前参加某软件大赛的做品启动要将近两分钟还获得了好评。经历了技术波折以后咱们老老实实回到了原生开发,接下来的一年多时间我技术上不必定成长多少,市面倒是见了很多,充分认识到关系不是万能的、产品经理是必须的、需求是不能随便变的、领导的话是不能轻易相信的等等等等。后来,公司黄了,一分钱没赚到。后来,我参与到其余的创业当中,满怀热情,也看着那些年的冬日里熄灭的火苗。次数多了,也就不会痛了,印象比较深入地还参与过某在线婚庆创业,某 3D 打印创业等等,直至如今有时候会去妹子所在的某建筑行业软件服务公司帮帮忙。现在公司招人,我引觉得豪地能拿出来说夸公司的一大优势就是,咱们公司有稳定收入,不会吃了上顿没下顿,不会一朝入冬。想一想走过的路,有两个本身打本身脸啪啪响的典型,一个是大二的时候推崇底层开发,裸写机器码,以为 Web 不过是套模板的毫无前途的活计;另外一个是跟运营商接触多了以为传统软件行业里都是观念陈旧的老技术、毫无创新理念与创新动力。而后我如今主要依托于 Web 技术栈,在于政府合做的建筑投标软件行业里混饭吃。这三年走过大江南北,到过万里以外,见过异域风情,写过数百万字,赚到数十万元。印象最深的是爱人相伴,友人相随,笑过哭过,也有后悔。程序员
笔者啰啰嗦嗦这么多,想表述的不过是认识你本身。天地不仁,万物刍狗,咱们要相信勤奋是会有回报的;念念不忘,必有回响,连机器都能经过大量学习优化模型,况且智人乎?笔者是早产儿,七个月的时候出生,差一点就不能跟这个世界说你好。从小略显愚笨,弱于常人,就像笔者对于数学心有畏惧,这么些年一直没学好算法结构与机器学习。笔者也没有过人的毅力与执着的态度,到如今也没能真正的好好锻炼过,也没能如预期般学完一个课程或者看完一本书。更多的时候我是想着怎么跟本身妥协,寻找到真正可以完成的,精神与肉体上都能接受的方案。另外在将技术相关的东西以前,笔者仍是但愿读者能认清本身的定位,不是说必定要怀着莫大的热情才能进入 IT 领域,而是尽量地找到本身的定位。我以为很好的例子就是我夫人,当年也是在某外包公司作嵌入式码农,天天工做都是痛苦万分;后来慢慢地摸索,发掘了她某个最大的优点:以轻微的强迫症去作产品经理,女生特有的细心与品质决定了她能更好地去催促程序员赶进度。如今她同时实现了自我价值与集体价值,成为了公司运转的核心之一。知前路之漫漫,敢披荆而斩棘,相信你们都能找到合适本身的位置。github
化学中的放射性元素每每有所谓半衰期的概念,即某种特定物质的浓度通过某种反应下降到剩下初始时一半所消耗的时间。同理,知识的半衰期则是用于衡量知识的价值随着时间流逝它消失的速度。相对变动较慢的医学知识的半衰期约45年,物理学知识的半衰期是10年,而计算机知识的半衰期可能只有两年,一直在激烈变化的互联网领域知识可能只有几个月。沉舟侧畔千帆过,就像笔者在怀着被抛弃的恐惧在奋斗中前行描述的,鱼与熊掌不可兼得,放弃安逸的铁饭碗而进入竞争激烈的 IT 行业,势必会被后来者超越的,咱们只有不断修修打打本身,才能不被这个时代所抛弃。古语有云,开卷有益,对于笔者的阅读相关能够参考某熊的阅读与写做平常 ,这里不做赘述。不过回望本身的阅读流程,我最初是从刷推酷的每日推荐开始,大概天天能看数百篇,选出有价值的放到 Pocket 里面留待后看。后来慢慢的发现天天刷的列表里面仅有两三篇会被留存下来,慢慢的就转向了 Reddit、HackerNews、Medium 这些;老实说笔者并不是崇洋媚外,不过目前来看中国的社区相对整个世界仍是一汪浅水,因此我默默地把公司默认搜索引擎设置成了 Google。在成长之初碎片化的阅读颇有益处,虽然会感受很痛苦,仿佛被强行填食的鸭子,可是如破茧而出,帮你打开广阔的世界。笔者如今逐步的有强迫本身去看书,虽然有时候跟看文章同样一目十行,走马观花,可是不得不认可书和论文里成体系的描述介绍不是碎片化的文章所能给予的。这里推荐笔者前一阵子收集的追求技术之上的进阶阅读学习索引与机器学习、深度学习与天然语言处理领域推荐的书籍列表。面试
文以载道,歌以咏志。当咱们阅读积累到了,天然就会造成本身的想法,而且想对这个世界说出来。笔者的写做分为两步,首先是作笔记,然后是写文章,厚积薄发,切不能强求。笔者最初作笔记的时候,不少朋友会质疑,记录的笔记真的会去看吗?是否是记录以后就能记住了?答案天然是否认的,笔者一直以来鼓励本身作笔记的动力并非让本身不会遗忘,而是但愿在下一次须要的时候可以以最快的速度学习让本身回忆起以前的东西。笔者发现身边不少人的学习能力并不弱,可是技术能力难以进步突破的问题倒是在于永远都在重复学习,譬如笔者团队中秉持岗位轮换的原则,可能作几个月的服务端再轮换作一些简单的前端,可是每次都须要从新学习,看不出什么进步。罗曼罗兰说过,多数人二十或三十多岁已经死了,他们变成本身的影子,不断重复之前的本身。有时候咱们的笔记会是咱们生命存在的痕迹,让你可以记得本身走过的路,踩过的坑。笔者如今大概分门别类地有两千多篇笔记,断断续续地写了二百多篇文章;并非说没有积累就不能写做,而是你没有积累很难去进行长时间的持续地写做。写文章自己不只是让你的思想曝光于世,让别人帮你发现本身的不足;仍是很好的打造我的品牌,增长本身社区影响力的好方法。算法
若是你是前端新人或者技术新人,很建议从尝试翻译开始;InfoQ 网站包括其架构师月刊等一直是我认为国内质量比较高的资讯来源之一,年后也有幸成为了其社区编辑。我发现他们有个很不错的任务领取与报酬机制,若是你但愿相互督促,也能转点零花钱,那么能够尝试加入这个大社区,跟着你们一块儿前行。数据库
记得包法利夫人里面有一句总结,浅薄且不甘平庸是最大的原罪;而在技术之路上,在没有知识体系的状况下,学习的知识都是相互独立,难以互相借鉴,触类旁通,阅读也不过是春风拂面,一掠而过,不留痕迹,知识也就难以真正的沉淀下来。笔者很是支持承认碎片化学习的思想,可是否认在没有知识体系的状况下盲目的碎片化学习。特别是对于还没有创建基础知识体系与认知能力的同窗,若是突发性地吸取过多的知识,反而会摧毁本身的认知能力。就好像传说中的吸星大法,乱吸的后果就是体内真气斑驳不堪,最终走火入魔,爆体而亡。所以咱们必需要创建本身的知识体系与思惟宫殿,梭罗在《瓦尔登湖》中写道:知道本身知道什么,也知道本身不知道什么,这就是真正的知识。知我所知是对于本身能力的正确认识,知我所不知则能为本身将来的路明确些方向。笔者关于本身的对于软件世界的认知写在了2016-个人技术之路:编程知识体系结构图里。Program into Your Language, Not in It.编程
前端工程化这个词一直很火,笔者在 2016-个人前端之路:工具化与工程化、2015-个人前端之路:数据流驱动的界面 这两篇年度总结里都有详细的不成熟的自我思想的介绍。记得面试腾讯的时候面试官问道你这么激进地使用现代语法,使用 Babel 而后致使包体增倍怎么能兼顾老旧浏览器或者带宽上不是很好的地方的用户呢?我默默想起了如今公司碰到的一个有趣的事件,咱们作的某个投标工具(Web & Electron)对于浏览器或者系统有较高要求,可是政府客户典型的标配 XP 与 IE。咱们思考了很久如何去达成兼容性,最后欧了一波笔记本电脑跟软件产品打包发售,还额外赚了一笔的说。工程作久了,有时候会发现本身陷入到某种瓶颈。本节可能过于主观了,对于咱们所熟知的云计算与大数据、服务端应用程序架构(API、微服务与高可用等)、基础架构(数据存储、虚拟化、分布式系统与集群计算等)等等偏工程的进阶之路,老实说并非螺丝钉们所能轻易实践的。笔者以前一直感慨于混迹在小公司之间,所谓大数据不过镜花水月,很难真正有实践的场景。除了工程向的进阶以外,笔者我的主观感受还有两个偏理论的进阶向,即便不能有所实际成就也能提高我的品味的方向,一个是偏向于数据学科与人工智能,包括机器学习、深度学习、天然语言处理等等;另外一个是偏向编程语言原理、计算机系统基础理论、数据库系统基础理论的方向。笔者本科的时候发了四五篇文章,遗憾的是在南大的三年未能投身学术,一文未发,愧对师长。有时候看着其余同窗仰望星空,本身只能默默在沼泽地里蹒跚前行。segmentfault
本文最后,笔者仍是想对于全部阅读过个人文章的朋友说声谢谢,大家的支持是我前行的动力,但愿在将来的岁月里我可以继续完善个人知识体系中的内容,也但愿可以帮助到全部花时间阅读我文章的人。诚如罗胖所说,将来的世界是时间的战场,愿意花时间阅读的朋友自己也是一种付出。笔者这些年来一直笔耕不缀,不过写的绝大部分都是属于某个领域中某个技术细节的介绍与实践总结,借这篇随笔之际,笔者也是打算以随笔的方式,描述本身对于编程的认知、感悟、猜测,由于这个系列更多的是非技术性的思考,但愿能获得真正的你们指导,与其余人思惟碰撞。笔者不敢取名为程序员的自我修养,毕竟笔者本身都不知道本身是否称得上合格的程序员,所以取名为程序熊的自我修养。【程序熊的自我修养】系列拟会包含如下部分:前端工程化
【程序熊的自我修养】知识体系与自我定位
【程序熊的自我修养】阅读与积累
【程序熊的自我修养】工具与实战
【程序熊的自我修养】产品与工程化
【程序熊的自我修养】编程之道:编程语言、数据结构与算法、编程范式
【程序熊的自我修养】Web 前端
【程序熊的自我修养】服务端应用程序架构
【程序熊的自我修养】数据科学与人工智能