本文是非技术向的随笔,慎点!
熊写代码这三年:阅读写作与技术成长 从属于 程序熊的自我修养系列。临近毕业,随手写了篇随笔,聊以纪念我过去研究生三年间的技术之路,感谢陪伴我这三年的家人,感谢所有陪我一起打拼过的战友,感谢所有阅读过我文章的陌生人。

本文是一篇种田流水文,希望以平淡的笔触记录笔者这三年的成长。本文整体大概会包括自我定位、阅读、写作、知识殿堂这几个部分,为了避免过于正式就不分章节了。

笔者的第一份工作从大三开始,在南京某家安全公司从事安全培训与渗透平台开发,兼职做做讲师;老实说肚子里没几滴墨水却要对着台下数百听众,搜肠刮肚地忽悠他们,很锻炼面皮啊。后来某个来头不小的二代找我说一起创业吧,他想颠覆世界,问我敢不敢一起。于是我就拉着身边的兄弟走了出来,很感谢我的两个舍友那些年里给我的支持与包容,容忍了我做的那些傻逼的事情。现在想起来,我还挺佩服 CEO 勇气的,竟敢找我来创业,真的是年轻啊。那个时候经常逛的是以 DZone 为代表的这类网站,并非说它们不好,不过确实太多的标题党,动辄新一代产品或者性能提升 100%。那时的我太过年轻,才从农村出来尚不知城市套路深,轻信了这些标题党,当然根本原因还是我们毫无经验,结果两个月的时间开发出来的 Hybrid APP 启动时间 20 多秒;当时我还一脸无法理解为什么 CEO 会露出绝望的眼神,毕竟之前参加某软件大赛的作品启动要将近两分钟还得到了好评。经历了技术波折之后我们老老实实回到了原生开发,接下来的一年多时间我技术上不一定成长多少,市面却是见了不少,充分认识到关系不是万能的、产品经理是必须的、需求是不能随便变的、领导的话是不能轻易相信的等等等等。后来,公司黄了,一分钱没赚到。后来,我参与到其他的创业当中,满怀热情,也看着那些年的冬日里熄灭的火苗。次数多了,也就不会痛了,印象比较深刻地还参与过某在线婚庆创业,某 3D 打印创业等等,直至现在有时候会去妹子所在的某建筑行业软件服务公司帮帮忙。如今公司招人,我引以为豪地能拿出来讲夸公司的一大优点就是,我们公司有稳定收入,不会吃了上顿没下顿,不会一朝入冬。想想走过的路,有两个自己打自己脸啪啪响的典型,一个是大二的时候推崇底层开发,裸写机器码,觉得 Web 不过是套模板的毫无前途的活计;另一个是跟运营商接触多了觉得传统软件行业里都是观念陈旧的老技术、毫无创新理念与创新动力。然后我现在主要依托于 Web 技术栈,在于政府合作的建筑投标软件行业里混饭吃。这三年走过大江南北,到过万里之外,见过异域风情,写过数百万字,赚到数十万元。印象最深的是爱人相伴,友人相随,笑过哭过,也有后悔。

笔者啰啰嗦嗦这么多,想表述的不过是认识你自己。天地不仁,万物刍狗,我们要相信勤奋是会有回报的;念念不忘,必有回响,连机器都能通过大量学习优化模型,何况智人乎?笔者是早产儿,七个月的时候出生,差一点就不能跟这个世界说你好。从小略显愚笨,弱于常人,就像笔者对于数学心有畏惧,这么些年一直没学好算法结构与机器学习。笔者也没有过人的毅力与执着的态度,到现在也没能真正的好好锻炼过,也没能如预期般学完一个课程或者看完一本书。更多的时候我是想着怎么跟自己妥协,寻找到真正能够完成的,精神与肉体上都能接受的方案。另外在将技术相关的东西之前,笔者还是希望读者能认清自己的定位,不是说一定要怀着莫大的热情才能进入 IT 领域,而是尽可能地找到自己的定位。我觉得很好的例子就是我夫人,当年也是在某外包公司做嵌入式码农,每天工作都是痛苦万分;后来慢慢地摸索,发掘了她某个最大的优势:以轻微的强迫症去做产品经理,女生特有的细心与品质决定了她能更好地去催促程序员赶进度。现在她同时实现了自我价值与集体价值,成为了公司运转的核心之一。知前路之漫漫,敢披荆而斩棘,相信大家都能找到合适自己的位置。

化学中的放射性元素往往有所谓半衰期的概念,即某种特定物质的浓度经过某种反应降低到剩下初始时一半所消耗的时间。同理,知识的半衰期则是用于衡量知识的价值随着时间流逝它消失的速度。相对变更较慢的医学知识的半衰期约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、微服务与高可用等)、基础架构(数据存储、虚拟化、分布式系统与集群计算等)等等偏工程的进阶之路,老实说并不是螺丝钉们所能轻易实践的。笔者之前一直感慨于混迹在小公司之间,所谓大数据不过镜花水月,很难真正有实践的场景。除了工程向的进阶之外,笔者个人主观感觉还有两个偏理论的进阶向,即使不能有所实际成就也能提升个人品味的方向,一个是偏向于数据学科与人工智能,包括机器学习、深度学习、自然语言处理等等;另一个是偏向编程语言原理、计算机系统基础理论、数据库系统基础理论的方向。笔者本科的时候发了四五篇文章,遗憾的是在南大的三年未能投身学术,一文未发,愧对师长。有时候看着其他同学仰望星空,自己只能默默在沼泽地里蹒跚前行。

本文最后,笔者还是想对于所有阅读过我的文章的朋友说声谢谢,你们的支持是我前行的动力,希望在未来的岁月里我能够继续完善我的知识体系中的内容,也希望能够帮助到所有花时间阅读我文章的人。诚如罗胖所说,未来的世界是时间的战场,愿意花时间阅读的朋友本身也是一种付出。笔者这些年来一直笔耕不缀,不过写的绝大部分都是属于某个领域中某个技术细节的介绍与实践总结,借这篇随笔之际,笔者也是打算以随笔的方式,描述自己对于编程的认知、感悟、猜想,因为这个系列更多的是非技术性的思考,希望能得到真正的大家指导,与其他人思维碰撞。笔者不敢取名为程序员的自我修养,毕竟笔者自己都不知道自己是否称得上合格的程序员,因此取名为程序熊的自我修养。【程序熊的自我修养】系列拟会包含以下部分:

  • 【程序熊的自我修养】知识体系与自我定位

  • 【程序熊的自我修养】阅读与积累

  • 【程序熊的自我修养】工具与实战

  • 【程序熊的自我修养】产品与工程化

  • 【程序熊的自我修养】编程之道:编程语言、数据结构与算法、编程范式

  • 【程序熊的自我修养】Web 前端

  • 【程序熊的自我修养】服务端应用程序架构

  • 【程序熊的自我修养】数据科学与人工智能

熊写代码这三年:阅读写作与技术成长相关推荐

  1. 80、20%时间写代码,80%阅读代码。代码写得一坨屎,后患无穷

    权限控制,能单独维护 就单独维护.权限逻辑分3部分,各自维护.哪里变化了,就只改 某个子方法. 20%时间写代码,80%阅读代码.代码写得一坨屎,后患无穷. 每天瞎忙,没干几件事,更别提 成长了.也没 ...

  2. 写作—开启技术成长之路

    一.前言 作为一名程序员,经常在网络上查找各种各样的资料.此时,会检索到很多优秀的技术文章.一篇好的技术文章,可能不仅仅会解决我们的问题,更能在阅读的过程中带给我们一些美好的体验. 许多时候我们也憧憬 ...

  3. 只会写代码的程序员永远无法出色?!

    程序员和常人有着什么样的区别?是否所有的程序员都是天然呆?为何女性程序员的人数要远远少于男性?在本文中,我们将带着种种疑问深入探讨计算机程序员中的文化. 作者 | Jennifer Ouellette ...

  4. 技术总监到底要不要写代码?

    https://www.toutiao.com/a6698485180505522695/ 这是一个非常敏感的话题,每次谈论到技术总监要不要写代码的时候,总会引起一片争论. 有的程序员说技术总监如果不 ...

  5. 写代码三年,月薪不到一万,是不是很失败?

    导读:写代码三年月薪不到一万是不是很失败? 近日,有程序员就因为这个问题在某职场社交软件上,被认证了的百度京东员工一顿嘲讽. 真实生活中,程序员究竟何时月薪过万?又是怎样月薪过万的?我们特意采访了北京 ...

  6. 编程同写作,写代码只是在码字

    编程同写作,写代码只是在码字 原文作者: Phodal Huang  原文链接 看到一篇文章<We Are Typists First, Programmers Second>,日期是20 ...

  7. “写代码三年月薪不到一万是不是很失败?”

    写代码三年月薪不到一万是不是很失败? 近日,有程序员就因为这个问题在某职场社交软件上,被认证了的百度京东员工一顿嘲讽. 真实生活中的,程序员究竟何时月薪过万?又是怎样月薪过万的?CSDN特意采访了北京 ...

  8. Replit的野心,让Web3的创作者写代码像写文章一样简单

    Replit 是一个创新产品,我们可以将其简单理解为编程领域的 Figma 或者 Google Docs,也就是基于浏览器的云端协同开发平台. 通过它,我们不需要在本地安装.配置任何软件,就可以非常简 ...

  9. 揭秘 ClownFish 比手写代码还快的原因

    说明:本文的第一版由于反对人数较多(推荐/反对数量是:23 / 17), 我在8月20日删除了博文内容,只留下一段简单的内容. 既然分享技术也引来这么多的反对,那我就不分享了. 如果希望知道我的优化方 ...

最新文章

  1. 关于数据库中存储过程 的用户从属。。
  2. 征战蓝桥 —— 2016年第七届 —— C/C++A组第5题——消除尾一
  3. PLSQL DBMS_DDL.ANALYZE_OBJECT
  4. linux禁止root用户直接登录sshd并修改默认端口
  5. iOS - UIScrollView
  6. 项目经理(project manager)刘小备的一天
  7. Bootstrap 编译版文件结构
  8. 目录:关于【稳定性建设之道】大纲速览
  9. “这辈子不可能打工男子”出狱了,司法所将重点关注,网友:《今瓶没》今日上映!...
  10. ecshop修改后台登陆密码
  11. 向pandas DataFrame添加一行
  12. Ubuntu系统 -- 初始化配置与基础操作
  13. GUI实现学生点名系统
  14. 项不会计算为接受 0 个参数的函数_玩转excel函数:详解四种计数函数,从基础到提高...
  15. python画折线图参数配置
  16. 算一串数字的entropy_【一点资讯】数字的作用,远比我们想的多得多 www.yidianzixun.com...
  17. 姿态角解算(MPU6050 加速度计加陀螺仪)
  18. K线形态识别—三K线之买入型三日K线组合
  19. Vue3 Suspense 组件
  20. 10个程序员可以接私活的平台和一些建议,兼职必看

热门文章

  1. Flutter 环境配置
  2. 装修心得体会(家装团购实战版)
  3. 【经典算法题】用两个鸡蛋和100层的楼来测鸡蛋硬度
  4. 小白学python-决策树和随机森林
  5. 只有一重循环的排序——侏儒排序(Gnome Sort)
  6. PYA 练习2-3 输出倒三角图案
  7. PS平面设计如何学?零基础学习有多难?
  8. 【Nape教程】Nape刚体碰撞检测
  9. Knowledge Embedding Based Graph Convolutional Network
  10. 神州优车粗暴裁员:人与人之间最起码的尊重呢?