博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

程序员的学习方法

Posted on 2024-08-11 15:54  xuld  阅读(71)  评论(0编辑  收藏  举报

很多程序员想提升自己,但不知道应该怎么做才能事半功倍。这篇文章给你答案。

首先你得知道你的动机是什么?动机从总体上分为以下三类:

A. 为了生存。比如:

  • 想要通过面试,找到程序员的工作。
  • 想要通过面试,进入更高级别的岗位,然后有更高的收入。

B. 为了梦想。比如:

  • 工作中老碰到问题,对自己的效率不满意,想要丰富和补充自己。
  • 想开发一个东西,但发现自己能力不足开发不了。

C. 为了认可。比如:

  • 我见过一些大神,我希望成为像他们这样的大神。
  • 为了让女神崇拜我技术牛逼。

不同的动机决定了学习方法的区别。

为生存而学

多数程序员只有在准备找工作的时候才会去学习。
而大家普遍采用的方法是“刷面试题”。
GitHub 有很多专门收集面试题的项目,可以让你免费看到各类题目。或者在某些平台上花几块钱也能买到大量题目。

这里不谈论“刷题”这个做法对还是不对。
但无论你是为了找工作还是为了往更高级别跳,你都需要搞明白一个问题,那就是你为什么可以拿这么多工资。

老板出钱,买下了你白天的大量时间,让你为他干活。只当你有更好的“性价比”时,老板才愿意在你身上出更多的钱。
什么是性价比?比如:

  • 同样的时间,你比别人做的更多。
  • 同样的事情,你比别人做的质量更好。
  • 同样的质量,你所需要的成本比别人更低。

如果你无法满足以上几点,那注定你的收入是比不过同行的。

所以你的学习目标,不是简单的学会这、学会那。
你需要的是一个“满足老板需求”的能力。

比如周一客户提了一个需求,要求你周二交付。你只要用各种办法保障交付,那就合格了。
这时候,你能不能做到客户满意、愿不愿意用自己的时间来保障按时交付,就成了你能否上升的准则了。

如果是为了生存,你的学习方法,就不是看教程、听课了。
而是要在平时工作中,多留意自己和同事碰到的难题,搞明白问题产生的原因是什么,想方法杜绝它。

唯有这种方法才能不断积累你的工作经验,你才能在老板最需要人帮助的时候出现并帮他解决问题,才能得到老板重用。

为梦想而学

如果你想成为一个公认的大牛。那一步一个脚印的学习路线,是不可少的。
不要用看视频的方式学习,因为那种方式脑子是不转的,很容易忘。
也不要用刷博客、刷帖的方式学习,因为这些知识很乱,大部分都是简单的知识反复介绍,难的知识无人问津,这就像沙里淘金,太慢。

想要成为大牛,唯一的办法就是梳理一条知识线,所有的细节都搞明白其实现原理,而不局限于概念。
而很多东西,想要搞明白其原理,唯一的办法就是读它的源码。
读万卷书、行万里路。

为认可而学

如果你是为了学完可以炫技,那你可能从根本上就找错了方向。
就像一个清洁工地扫的再干净、再快,但在别人眼里也只是一个扫地的。
没有人在乎你的能力有多高,甚至多数同行不希望你比他牛逼。
多数的大神都是不知不觉成为的,而不是一开始就觉得自己是大神。
因此,如果你学习是为了得到谁的认可,请立即停止这种愚蠢的行为。