# 编程思维 身为一个曾经的编程大牛与编程老师。即便已经因为兴趣转移而转行。 我还是常常接到这样的询问请求 => 如果有机会的话,能够重新开设编程班。 学会编程,似乎是这个时代里,人人都有的一个梦想。 好似,学了编程就会变成超人。 即便如此,我虽然曾经打造过网上教材进度、设计,业内学员反馈是最好的编程班,但对于再次开设编程班,实在是兴趣缺缺。 一方面,我是厌倦重复教编程基础的内容。一方面,我觉得想来学很多人,其实没有学编程的必要。真收了双方也尴尬。 有一天,我去找个老友。这个老友已经接近财富自由了,月入上千万。他问我:"Xdite,你那编程班啥时再开,你那编程课教得真好,我真后悔当时没有好好跟你学"。 我没好气的呛他:「你都财富自由了,学编程干嘛,编程学得再 6,也不会帮你赚更多钱阿。你有钱,请个程序员帮你写就好了不是吗?」 他说:「不是这样说。你那么聪明,我也想跟你有一样的大脑。我最近业务有部分上不去,想跟你学学编程,看看能不能解开。」 我一头雾水???「业务上不去???」「然后想学编程????」 弄不明白两个逻辑的直接关系。 后来他跟我解释,我发现他是这样想的:他认为我拆解问题的能力非常强,往往可以把常人觉得没什么头绪的问题简单化,轻松的拆掉。他认为这就是编程能力的展现。 我的天阿。这误会可大了。这叫解题能力,不是编程能力。 他应该学的是解决问题的能力。而不是编程语言。 这个鸡同鸭讲的对话,其实在我周遭已经发生无数次了。我老是劝退别人不要学编程。 只是,那次我突然间意识到,等等,难道我们在说的不是同一件事吗? 于是我上了 FB,公开的问我周遭那些曾经想跟我学编程的朋友,它们到底为什么想跟我学编程,学编程想解决什么事?收到了一大堆的反馈。 我才发现,原来周遭的「一般人」想学的,还真是问题拆解的能力,不是编程语言。 简单来说: > 编程 = 拆解 + 梳理流程 + 自动化。 当一般人向程序员表明想学编程时,程序员的反应是: > 编程 = 自动化 + 编程语言 而一般人真的想学的是: > 编程 = 拆解 + 梳理流程 难怪鸡头鸭讲。 而且,不管哪一门编程语言,设计的再好入门。对从来没有编程概念的人来说,都是另外一维度的思考模式与表达习惯,很难快速消化。 而且就算学会「使用编程语言」,通常对「拆解+梳理流程」,一点帮助都没有。 这也难怪许多人往往学编程,从入门到放弃。 ## 编程思维:人造的高阶思维 编程思维,其实是一种高阶的思维模式。这种思维模型,其实不只存在程序员大脑内,也往往存在各行各业内一些资深的师傅大脑里。 不管是多难解决的问题,就算是从前没碰过。它们总能轻轻松松的从奇怪的角度破解,设计出正确且有效率的作法,好像在变魔术一般。 然而,当你向请教它们这种思维是要如何锻炼的时候,它们却又说不太出来这种能力是如何养成的。 只能大概推敲,这可能是资深的人才惯有的直觉经验。 不过,这种能力又普遍出现在一般程序员身上。 难道说,这个能力能够人造?又如何做到? 我开始去回想,我平常做事的方法,倒回去慢格播放,才发现,还真有套路,而且是一套下意识的套路。 ## 编程思维 = 分解 + 流程化执行 就举一个最近我才以编程思维解决的例子吧。 我底下有个公司,这几个月 KPI 是要养出一个财务公众号。但是进度很不顺利,放给运营部门经营,搞了几个月搞不起来。 本来我是不觉得这事到底有什么难的。 但是不管招了几个文案,公众号文章质量一直都上不去,内容不好,也没多少点开来看。大家很是气馁。纷纷跟我抱怨这件事实在是不可能任务。 结果,我花了一周就解决了这件事,而且阅读量与订阅数还翻倍。 ### 原始命题:打造一个高质量的专业公众号,文章素质高,又容易引起转发 原先运营部门的想法是这样的: > 要打造一个好的公众号。先决条件是,内容要好,文章结构要好。 于是它们的思路是: * 招聘有财经背景的人写公众号 后来发现,有财经背景的人,赚得钱相对比做新媒体的人工资高很多,如果只招对方来写公众号的话,根本招不来。 于是后来,它们就换一个思路。 * 找有写公众号背景的写财经 人是找到了,但是有困难。因为熟悉新媒体,写公众号的人,本身学财经速度太慢。就算能写文,也写不到痛点。 所以写出的文章,也是一团糨糊。 后来它们把主意打到了我头上,我对于财务知识非常熟悉,写文章又快。于是让我来更公众号。 我后来更新一两篇之后,就觉得这买卖实在太不合算了。 就算我写文章一篇只要一两个小时,就成本效益来说,是远远亏本。 所以运营部门一直觉得很痛苦。人招不到,文章又写不出来。觉得这是不可能的任务。