从程序员身上你能学到什么?

职场最重要的技能是什么?是看得见的解决问题的能力。

但是我们如何培养解决问题的能力?

做了多年程序猿的我总结了程序员的思考方式,希望能给你一些启示。

你可能会在想这究竟是什么意思,为什么学习程序员的思考方式?需要怎么才能做到呢?

古人早就知道每个人都有问题,但是很多时候我们并不是用心解决问题的。

除非你有一套解决问题的系统,否则的话你“解决”问题的方式就是以下的情况(我开始编码时就是这样):

1、尝试一种解决方案 2、如果这种解决方案无效,再试另一种。

如果还是没有用,重复第二步直到你走运。

有时候你会有很不错的运气,解决了问题。但这是最差的解决问题的方式!而且非常浪费时间。

你要形成一种属于自己的框架

怎么形成自己的框架呢?最简单的方式就是学习别人的框架,借此来完善自己的框架。

1、理解问题

准确了解问题是什么。只有了解问题是什么才能知道怎么解决?这就是第一步。

怎么才知道你是否理解了问题了呢?其实很简单,就是你把他说出来的时候。

你还记得问题卡住的时候,你开始解释问题,然后马上看到了此前看不到的逻辑漏洞的时候吗?

大多数程序员都知道这种感觉。

遇到问题你应该把问题写下来,画张图,或者把问题告诉其他人。

2、计划

不要在制订计划之前就匆忙投入到问题解决当中!

在编程中,你要学会先制定好计划,清楚每一步,给你的大脑一点思考的时间。

3、分解

这是最重要的步骤。

别想着解决一个大问题,你会哭的。

相反,要把问题分解成小问题,这些小问题解决起来要容易多了。

然后一个个地解决这些小问题,从最简单的开始。

一旦你解决了每一个小问题,再将他们汇总起来。

把所有解决后的问题拼接起来,就会得出原本问题的答案。

比方说,假设你是一名新程序员,有人要你写一个程序读10个数字并找出第3大的那个。对于初入坑的人来说,这可能会是一个难解决的问题,即便这只需要基本的变成语法。

不过,你可能会想“这的确很酷,但如果我连小问题也没法解决又该怎么办呢?”这在正常不过了。

你无需担忧,所有人都会有这样的过程!

不同的是最好的程序员会对bug更加好奇而不是感到气愤。

实际上,在遭受打击时这里有三件事情是需要你尝试一下的:

调试:仔细检查你的方案一步步找出什么地方出问题了。程序员称之为调试(实际上,所有的调试工具都要做这个)。

再评估:后退一步。换个角度审视问题。有没有什么东西可以抽象为更通用的方法?

实践:别指望一周之后你就会变得很棒。如果你想要成为一名好的问题解决者,那就请先解决各种问题!

练习,重复地练习。这样下去你意识到“这个问题很容易就能用[在此处插入概念]加以解决。”只是个时间问题。

这些你可以用以练习 数学难题、数独、围棋、视频游戏、cryptokitties等等等等……

这是否意味着你就应该去玩视频游戏呢?完全不是。

视频游戏是干什么的呢?是的,解决问题!

最后,我希望你不是一帆风顺的,希望当你以为你已经成功解决了一个问题的时候,新的问题又出现了。但人生之所以有成长正是因为如此……

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,691评论 25 709
  • 本文把程序员所需掌握的关键知识总结为三大类19个关键概念,然后给出了掌握每个关键概念所需的入门书籍,必读书籍,以及...
    dle_oxio阅读 13,842评论 6 244
  • 作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://lucida.me...
    那一天_9446阅读 8,523评论 4 81
  • 数字货币在今年迎来了爆发式增长,全世界都为之不眠。很多项目得到大家的支持,他们和我们的想法一样,希望在2018年的...
    硬币资本李笑来阅读 1,747评论 0 2
  • 当我自己实现了一些计算机视觉算法的时候,在交流群分享的时候。很多人总喜欢说,给我看看你的公式。公式?数理公式其实最...
    goleo阅读 3,652评论 0 0

友情链接更多精彩内容