一个跨界程序员:不务正业的这几年,我如何让自己的收入翻了十倍(转)

文/姜志辉

  3W 小时学编程

  我是个很勤奋的孩子,打小就是。

  家里对我唯一的要求就是学习。

  我在子弟学校,接触计算机比较早。那时候学五笔、CCED 还有 WPS。WPS 有个万能密码:按住 Ctrl 键+求伯君的全拼。我用它在学校的电脑里寻找所有可以找到的情书。这是我第一次感受到信息不对称带来的红利。

  后来我也写了一个程序。密码是:Ctrl + 姜志辉。

  编程这门技能需要大量的真枪实弹的刻意练习。

  有个天才定律,你在一个领域里沉浸了差不多 1W 小时以后才有可能成为专家。我笨一点,用了 3W 小时。

  我猜测是因为那些传统的学习模式让我绕了很多弯路。我一直在试图理解“灰姑娘”是谁写的?哪个国家哪个朝代的?来自于格林还是安徒生童话?(请自行搜索从中美老师讲《灰姑娘》看教育的差异)

  进展非常慢。刚开始我有些灰心,花了很久才走出这种纠结。

  事后诸葛

  1W 小时定律是建立在有技巧的刻意练习上的。

  一个师傅开了 5 年出租,他的车技是不是就很好呢?一个程序员写了 5 年代码,是不是他的技术就很高超呢?不尽然。

  编程基本功的练习于武术拳法的练习是一样的。通过一套有效的『拳法』将基本功内置其中,反复练习,使得开发技艺成为手指记忆的一部分。这样,当面对实际开发时,我们就不需要为基本技艺而费神,将更多时间应用在业务逻辑的思考上了。

  同时练习又需要方法。

  增删改查这种技能练上 1 万小时并不能让你成为高手。你需要一个知识体系,然后将这个知识体系拆分成若干个小的节点,针对每个节点大量的刻意的反复练习。(关于这个部分可以在我个人的公众号”姜胡说”中回复 jQlite,看看我是怎么为 JS 设计 Kata 练习的)

  设立一套标准和即时反馈的机制,便于自己的不断调整、改进。在每个节点和节点之间建立连接,形成一张有体系的知识网。这样的练习才算的上刻意。

  现在看来这是一件好事,因为它让我从传统的应试学习慢慢转向实用学习。

  这种转变指引我在北大蹭了整整两年的课,学习一切自己想学的东西,从哲学到工商管理。那里有国内最棒的学习资源。你可以横跨各种学科,自己选择学习什么,不用考试也不用交学费。只是没有毕业证而已。

  做自己喜欢的事

  我不需要毕业证。我在那里就是最好的证明。这种思维带来的变化让我开始尝试接触各种可能。最开始我喜欢上了涂鸦。就是单纯的喜欢。当你做自己喜欢的事时,周围的场域就会发生变化。这或许就是「吸引力法则」。那会儿我认识了很多人……后来我们还一起组建了 VTC。

  我发现很多行业实际上是由一些门外汉推动的。因为他们身上有一些本职从业者没有的热情。涂鸦给我的工作带来了很大的帮助。我不是专业的画师,理不清阴影和透视。这很棒,它促使我必须用最简单的线条来表达背后的复杂。

  我的课没有 PPT,也不需要记笔记。一些人随意的围坐在一起,自由、简单的交流沟通。这种方式让我大受欢迎,课酬也随之提高了。一人一故事是我非常喜欢的一种戏剧形式。

  在那里我学会了倾听每一个人的故事,用心去感受他们的生命。然后用表演把它呈现出来。所有的呈现和反馈都是即时的,在当下。谢天谢地,在学习那些所谓的产品方法论之前,我认识了一人一故事。

  产品是为人服务的,任何方法都不可能脱离对人性的理解。

  用什么技术很重要,更重要的是为用户解决了什么问题。洞察、同理心、场景、觉知、生发、行动、反馈。那就是做产品的方法。也是组建团队的方法。

  大概在 03 年年底,我组建了一个软件开发团队。我的角色也开始飘忽不定起来。即是程序员,也是管理者,还要担当架构师。我阅读了大量的书籍,从技术到管理,从 CMMI 到敏捷。引导带给我了非常大的帮助。

  接触引导是因为一个很偶然的机会。当然也是必然的。意识的改变会影响到你周围的场域。反过来周围的场域也会作用于你。不务正业让我认识了很多原有领域之外的朋友,我作用于他们,他们也作用于我。

  我开始学习各种各样的理论,SPOT、开放空间、行动学习、U型理论等等。那些理论让我认识到最好的答案并不是由你传达的,而是来自于人的内部。来自于他的自我认知。这更改了我的世界观,更改了我和他人的相处方式,更改了我对团队的认识。

  我不讲什么是自组织,因为你就沉浸在自组织的场域里。我也不讲什么是敏捷,你可以在那个场域里自己去感知。就像禅。我看了张小龙在饭否上的日记,我能理解他当时的状态。我也修习禅学、每天会静心冥想。它并不高深,就像刷牙洗脸一样。你需要每天清理你身上的木马程序。

  我开始接触任何不务正业的领域。比如练习写作、音乐。当然也包括「姜胡说」这个公众账号。(我发现音乐可以影响人的情绪。在互联网时代它可以做为一个非常酷的”界面”影响人们学习的场域)。

  有一个T型理论,就是当你的纵向足够深的时候,横向发展会给你带来更大的收益。

  【注】比如我在纵线上花费了 10 年的时间,从 2 万到 20 万。但并不代表你也需要 10 年。这和打游戏是一样的,没有地图,漫无目的的瞎走,会浪费很多时间。有个人带着下副本,会轻松很多。有时候花点银子找个 NPC 问问路,还是挺划算的。我那会儿就是太穷了。

  从 20 万到 200 万,用了差不多 5 年的时间不务正业,其实是在完成这条横线。

  有前面 10000 小时打下的根基,在进入其他领域时,实际上用不了 1W 小时,很快就可以成为一名大工。因为这个时候的你已经拥有了学习方法,会节省很多时间。同时社交货币的价值也体现出来了,你见到的是另一个领域同一级别的 BOSS,不需要从一袋弟子做起。

  别只盯着后 5 年,既需要低头走路,还要抬头看天。两者缺一不可。

  我发现这是一个很好的理论基础。我的发展轨迹也确实证明了这一点。但我并不是基于这个理论才行动的。我是基于热爱。别紧张,他不是要寻找你的终身伴侣。我根本没准备把视觉、引导、戏剧当成我的终身职业。甚至还有点始乱终弃。他们是我人生中的过客。经历过就好。

  接触他们是因为那一瞬间会让我兴奋。当你做自己喜欢做的事时,时间就弯曲了,你整个人都开始绽放光芒。根据吸引力法则,你身边就会聚集很多很多和你一样的人。你徜徉在那里面,甚至都不用刻意的行动,生命会自然的把你带到你该去的地方。就像河流,你只需要顺着它就可以了。

  打破思维局限、提升视野

  我猜想很多人会说,那是因为你已经实现了财务自由。

  不。这和财务自由没有关系。他们没有时间的先后,他们是相互的。

  我知道说服你也『不务正业』这很难。你需要打破原有思维的局限。墙的作用就是让你知道自己能够达到的最大高度。很多时候你不愿意跳出牢笼,是因为一旦跳出牢笼,那些原本的食物没有了。别给自己太多限制,视野有时候比工作效率更重要。

  比如从 1 加到 100,最后的结果是多少?你是怎么算出来的?难道真的是从 1 加到 100?

  由你的内心出发。找到那些让你兴奋的事,然后进入其中。不要太功利,你做这些仅仅是因为你快乐。快乐会带给你无限的创造力。你不需要刻意为之,你不需要辞掉原来的工作,不要从一个极端到达另一个极端。我仅仅是提醒你不要把全部的时间都浪费在为了生存上。

  喜欢就去接触他们,享受他们给你带来的快乐。站在科技和人文的十字路口。中国正在进入一个愿意为知识和创造力消费的时代。

时间: 2024-10-03 13:38:40

一个跨界程序员:不务正业的这几年,我如何让自己的收入翻了十倍(转)的相关文章

【知乎】怎么成为一个优秀的程序员,而不是一个优秀的码农?

怎么成为一个优秀的程序员,而不是一个优秀的码农? 9 条评论 分享 默认排序按时间排序 98 个回答 3844赞同反对,不会显示你的姓名 萧井陌 微信公众号:炼瓜研究所 技术社区 - 3844 人赞同 优秀的程序员会告诉你打根基的重要性,会劝你在厚积薄发前要隐忍. 优秀的码农会告诉你学啥底层.啥啥啥一拖就好了,学了python还要啥自行车啊,数据结构排序函数二分搜索这不都内置了吗?工作中永远用不到,学算法有啥用啊?成为高手有很多种方法汇编是个屁啊? +++基础的分割线+++ 列举几个我认为比较重

如何做一个出色的程序员(转)

首先要告诉大家的是要爱这行! 从事任何行业都一样,只有真正的爱上了这份工作,才会投入热情,才会在顺境中自我警醒,在逆境中寻找突破.这个行业的竞争很激烈,你停下来走,别人就立刻会跑步超过你,没有对这一行业的一种热情,就很难在困境中保持一种执着的态度坚持到底. 踏踏实实“扎马步” 今天无意中看了“校长”的“程序员&司机”,其中谈到了关于程序员速成的问题.其实速成班毕业的 “系统杀手”早已在遍布大江南北,只是在互联网时代,互联网的应用型软件生命周期越来越短,业务驱动主导的情况下,这种速成方式看起来反而

一个无锁消息队列引发的血案:怎样做一个真正的程序员?(二)——月:自旋锁

前续 一个无锁消息队列引发的血案:怎样做一个真正的程序员?(一)——地:起因 一个无锁消息队列引发的血案:怎样做一个真正的程序员?(二)——月:自旋锁 平行时空 在复制好上面那一行我就先停下来了,算是先占了个位置,虽然我知道大概要怎么写,不过感觉还是很乱. 我突然想到,既然那么纠结,那么混乱,那么不知所措,我们不如换个视角.记得高中时看过的为数不多的长篇小说<穆斯林的葬礼>,作者是:霍达(女),故事描写了两个发生在不同时代.有着不同的内容却又交错扭结的爱情悲剧,一个是“玉”的故事,一个是“月”

如何成为一个设计师和程序员混合型人才

优秀的设计师和程序员统治着网络–毕竟是他们创建的网站.而那些创建最好玩和最有用的网站的人,往往都是两种技能兼而有之,他们可以将两种完全不同的视觉语言和技术语言运用自如. 会设计的程序员和会编程的设计师是最抢手的,尤其在创业公司中.能够掌控所有的环节能让你的产品快速高效的从概念变成产品–这这是很多年轻的公司尤其需要的.这些综合型人才在获得一些经验后也能成为优秀的产品经理. 所以,如果你是一个除了写代码之外还想有作为的黑客,或者如果你是一个想要有更多开发的设计师,你如何能从仅是一个领域的专家变成一个

一个大神程序员的使命感究竟应该是什么

来源:一个大神程序员的使命感究竟应该是什么 工作了五年的工程师,算不算高级开发者?归类开发者不是简单地看工作年限,因为经验这种东西千金难换但又一文不值. 我们现在工作的行业很奇怪.明明每年都有新的从业人员涌入人才市场,但企业依旧诉苦自己迫切需要大量的开发.这种问题存在已久,而且已经越发严峻. 开发者这个行业非常年轻,也面临着很严重的人才短缺问题.大部分的软件开发项目无疾而终,原因是后期开支过于庞大.那些行业里的大佬是怎么建议我们 的,他们说「世界上永远存在解决问题的办法,但我们还是会遇到各种难题

学习Axure的心得&amp;关于如何做一个优秀的程序员

这些天学习了Axure的一些基础知识,感觉自己就只是刚刚入门,还有好多东西不懂.本想在网上好好地学一些更高的操作,却找不找比较好的学习视频.网上的资料太多,而且质量参差不齐.(视频画面根本就看不清)到后来就找了一些文本资料来看,但还是未能坚持看下去.不过,我看了一些关于程序员的资料. 下面就来说说我的看法. 一 努力刻苦地编程.好的程序员是后天炼成的,是靠一行行代码和一个个算法给喂出来的.因此,只要努力就一定能成为一个优秀的程序员. 二 拥有过硬的技术和本事.要明白,在IT行业,靠的不是关系,地

一个优秀的程序员所具备的14个品质【转载】

慎于说Yes 在没有搞清楚开发需求.任务工作量.团队期望值之前,有前途的程序员不会轻易答应.特别是对于新人来说,比较急于表现自己,对于同事或者老板的工作安排来者不拒,精神可嘉,方法不可取.承诺太多,会出现自己无法按时完成的情况,即使按时完成,也可能没有达到别人的期望值,长期以往别人对你的失望会越来越多. 敢于说No 看起来和第一条雷同,其实细究起来不一样.第二条执行起来比第一条难得多.当遇到明显不合理的要求时,可以考虑拒绝,前提是准备好了全面充分的理由.不要经常说No,但是一旦说了,就要切中要害

互联网创业:如何雇佣一个优秀的程序员?

经常有人问我:“你在哪里可以找到或者聘请到优秀的程序员?”因为个人就是一名互联网项目经理,经常做项目管理,和程序员打交道的时间非常多,所以了解很多程序员的心态和习性,当然这里面也有很多的小技巧,下面就简单介绍一下我是怎么做的.下文提到的他,泛指程序员和程序媛. 问一些有过项目开发的朋友: 发现人才的最佳方式是通过别人的参考.曾经做过网站建设和软件开发以及APP制作的朋友,他们一定和优秀的程序员打过交道,他肯定会推荐一个好的程序员给你.建议有朋友如果在外包公司的话,那最好不过了.首先,你不必担心筛

做一个“合格”的程序员

其实这篇文章很早就想写了,一直忙的没有时间,今天总算得空,下面就针对程序员这个职业来说一说我个人的一些想法: 要想做一个在我认为是"合格"的程序员,那么应该要做到以下几点: 代码规范,注释清楚 要做一个好的程序员,代码的质量是最重要的,代码是项目过程中最为重要的资源,有很多程序员觉得写注释太麻烦,还会花太多时间,尤其是很多规模比较小的公司,更不会注重这一点,但是往往到了项目后期,乃至项目由他人接手后,维护的成本会变得非常高,代码阅读困难,注释不详细甚至没有,维护人员需要靠自己去猜测某个