1. 聚能聊>
  2. 话题详情

程序员该怎么学习技术?

我们来好好聊聊程序员到底该怎么学习技术
image
有的求职者觉得自己没学到技术,是因为公司不给机会,或者缺乏条件:
「上次的H5让小王做了,这次的微信小程序又给了小李……完全没我什么事啊!」
「公司最大一张表才10W数据,根本用不着分库分表啊!」
……
学习技术最有效的方式是阅读、实践和交流。公司没给你安排这方面的工作,那你自己都做了些什么呢?八小时之外的时间都用在哪了?有没有读源码?有没有看原版书?有没有泡技术社区?有没有尝试最新流行的技术?有没有尝试把它们用在公司的项目上?有没有主动去接触行业里使用这些技术的团队和大牛?
image
「看文档」其实是最快的学习方法。对于自己工作中常用到的技术,抽时间把官方文档通读一遍(其实篇幅都不大),绝对收获满满。没事的时候多翻翻自己使用的框架/系统/平台的API,看看有哪些自己不知道或者没用过的功能,想想这个功能可以用来做什么,能不能解决现存的问题,或者优化当下的解决方案。

如果你是前端工程师,通读HTTP协议和ECMAScript标准,就能秒杀95%的同行,不开玩笑。

「读源码」是深入学习开源技术的唯一途径。只有理解了某个功能在底层是如何实现的,你才能真正把握它更适合用来做什么,不能用来做什么。正如不明显汽车的构造和原理,我们也能把车开好。而如果多少知道一点,开起来就会更得心应手。当车出现问题时,也不至于完全束手无策,只能蹲在路边等待救援。

你一个框架用了N年了,却连一行源码都没读过?如果它是你女朋友,估计早该分手了。

「折腾」是学习任何技术的必经之路。在有保护的环境下进行大量的试错,是最高效的学习方法。现在虚拟机技术已经那么成熟,VPS也很便宜,你为什么不分分钟弄一个,然后在上面花式作死呢?

听说过无数次rm -rf /的事故,可你居然一次都没试过?知道输出啥样子么?
image
公司给你提供的最有价值的东西,就是实战的机会。你所学习的技术,最终需要通过工作来变现。你有机会接触到真实的数据,了解真实的用户,观察真实系统是怎样运转的,积累真实的经验……

然而,所谓的机会,只属于已经提前准备好的人。不要等到工作都安排到你身上了再去学习。公司不是你的试验田,你也不该拿用户当小白鼠。公司不给你机会,那只说明你还没有准备好。

技术世界就如同一片汪洋大海,细分领域真是多如牛毛。我们只是站在其中一个小岛上,怎么确定自己该朝哪个方向进发呢?
image
学习技术不外乎以下两个方向:

1、广度:整个使用链条由哪些环节构成?每个环节的作用是什么?都有哪些类似的可替代方案?它们之间有什么区别?各自优劣点是什么?……2、深度:这个「技术 / 产品」的本质是什么?都能做什么?运作原理是什么?底层是如何实现的?可以做怎样的改进?……

不管你在做什么工作,都应该先把自己每天都要用的核心技术做到一定深度,再去拓展广度。「什么都知道一点,但都不甚了解」是最可怕的,它会让你误以为自己已经很NB了。

学习,是一辈子的事。
好了,下面问题来了
1 你是怎么学习技术的?
2 你注重深度还是广度?

参与话题

奖品区域 活动规则 已 结束

  • 奖品一

    阿里云代金券 x 3

  • 奖品二

    云栖定制电脑包 x 1

  • 奖品三

    蓝牙手环 x 1

87个回答

2

zijiejiang 已获得云栖定制电脑包 复制链接去分享

1 你是怎么学习技术的?
对我来说,学什么技术不是问题,问题是需要什么技术。当你需要一项技术,解决实际问题的时候,学习上就有动力了,而且遇到了困难也能坚持下去。学习一项技术,我认为主要的迭代路径是:入门 ->熟悉-> 使用 -> 深入
在入门阶段,选择一本好书是很有必要的,一定要选择评论好的,适合入门的。另外也要注意时效性,你现在再买php5.6的教程学习就有点过时了。现在很多人视频学习一门技术,我也经常这么做,不过,看视频学习更容易受到非学习因素的影响,需要比较高的专注力和自制力。无论哪种方式学习,多练习是必须的。
在熟悉阶段,这一个阶段是要进行实战操作了。比如学习PHP+MySQL,现在可以自己写一个留言板了。不用框架,不用考虑性能,能跑起来就好。通过这一个阶段,熟练使用大部分语法特性以及相关的库函数等。
使用阶段,就是真正的参与到一个实际项目中了。这个阶段要学习并熟练使用各种框架,工具(版本控制,IDE等)。
深入阶段,我学什么都还没到阶段呢。就不多说了呢。
2 你注重深度还是广度?
深度,我喜欢学以致用,去解决问题就是从学到用的过程。要解决一个问题就要完美的解决。想完美的解决问题,不深入是不行的。
index

0

1628044871492225 已获得阿里云代金券 复制链接去分享

喜欢不懂的老师,喜欢61,喜欢春节,喜欢中秋国庆元旦,喜欢春夏秋冬,喜欢男女老少高矮小胖,喜欢大熊猫,喜欢听公鸡打鸣母鸡生蛋,喜欢吃橙,特别是赣南脐橙,喜欢沙石镇赣南教育学生在赣州师专学习
7b32cc0e1ca448629ef164a51d40435c_a777d167403440cebd02f72a6ae01ea0.jpg

1

微wx笑 已获得蓝牙手环 复制链接去分享

1 你是怎么学习技术的?
个人偏向于自学,早期的时候更多的是看书;后来网上的内容资料多了,看文档、源码、文章、视频之类的;
自学的问题在于比较灵活,但也比较浪费时间,可能要踩一些坑,入门比较难;
如果有个人带着你一起学的话,就会轻松很多,节省不少时间,不足点弯路,当然这可能需要付出银子。

2 你注重深度还是广度?
个人觉得应该先在一个方面达到一定的深度之后,再考虑广度的问题。
因为当一方面达到一定的深度之后,该了解的基本都已经了解了,接下来再接触别的,对比着去学习,有个触类旁通的作用。

PS:想要手环~

0

sy9876 已获得阿里云代金券 复制链接去分享

首先想感慨一句:现在的新技术实在太多了,尤其前端框架,层出不穷。
虽然对新技术好奇,但精力有限,只能把重点放在主流技术上。对于技术的把握,我认为深度比广度更重要,因为精通一门技术需要付出大量的时间和精力,这是其他人难以复制的,也是你的价值所在。至于学习方法,首先是阅读书籍。我接触的基本都是开源软件,官方文档还是略显单薄(很多还是英文的),选一本好书去读,不仅能学到如何使用,还能理解其原理,作者往往还会分享一些使用场景和踩过的坑。其次,当遇到难题时,不可避免的要查看api文档,google一番,查看和debug源码。
在广度上,一般就不会花很多精力了。平时逛逛社区,了解一些软件的功能特性,适用场景,哪些是相似的,可替换的,这些知识慢慢积累。

0

浮生递归 已获得阿里云代金券 复制链接去分享

1 你是怎么学习技术的?
各种方式都有吧,看书,看博客,看教程视频,看别人在群里的沟通记录等等。但是在学习上,我最缺的不是方式和资料,而是时间。工作久了,就容易建立比较多的渠道,最终导致自己很忙,难以抽出时间去学习。所以,我整天头疼的都是如何挤出时间学习,而不是怎么去学习。随便翻出篇文章,都能学到不少东西,但是时间也并不能这么随便。比如这篇回复,我就是在公交上打完的。

2 你注重深度还是广度?
有了广度,什么都了解一点之后,首当其冲的,是别人都会觉得你很nb,而不是自己。我现在就经常有这种体会。虽然我会得很多,但是全部都只是懂点皮毛,总是有人叫我大神,大牛,全能,全才等,我都听烦躁了。你越解释,人家越觉得你谦虚,真是大写的尴尬。
我个人是觉得,虽然深度重要,但是广度也必不可缺。以深度为主,广度为辅。在具备深度的同时,还能有一定的广度,可以让你少走很多弯路,可以多解决很多问题。今天就有个同事向我咨询一个技术问题,我就直言,你缺乏广度,太专门深度了。而他为什么会向我咨询呢?还不是因为我具有了相当的广度?所以深度重要,广度也要。

2

黄二刀 复制链接去分享

1 你是怎么学习技术的?
看国外的原版技术书籍、上apache的各个技术社区、从github上下载源码阅读。
2 你注重深度还是广度?
广度和深度都要有,什么技术都要有所了解,但在某一领域必须深入研究,不然就样样通,样样松。

1

cainimaa 复制链接去分享

如果你觉得日子过的舒服,那么你就已经在退步了!!

1

gary.xie 复制链接去分享

我一般会看源码或者直接看国外的技术文档,有的时候会用Google搜索一些关键词。我是比较注重深度的,要求很多人必须阅读大量的源码,广度在我现在来说也很重要,最起码你要知道自己什么时候需要用到什么样的架构

1

叶枫小男孩 复制链接去分享

1.多看源码
2.用心观察
3.把握好8个小时外的时间

0

1452904553726920 复制链接去分享

1 你是怎么学习技术的?
跟着项目来学习,学习之前先准备实现一个小项目,边做边学有目标
2 你注重深度还是广度?
我个人还是注重广度,都知道一些,便于技术选型,确定好方向了,再细究

0

1836247474149971 复制链接去分享

第一次,不怎么会弄了,能指导一下吗?

0

肖新辰 复制链接去分享

天天熬夜看书 不懂的baidu或者google一下

0

人生的意义 复制链接去分享

精尽人

0

若行云流水 复制链接去分享

学会和拥有好的学习方法找到适合自己的方式日积月累

0

longt10 复制链接去分享

学习是一个成长的必然过程,每一次成长都和学习的态度、行为、目标、结果息息相关,我的理解是;建立目标、找到方法、不断实践。越过一阶段,又有新的认识和理解。

0

1326145969287445 复制链接去分享

主动学习是一方面,还需要长期坚持,然后必须有自己学习的方法,不能着急

0

1593245461946167 复制链接去分享

接活的带我个,天天增删改茶,业务代码贼溜

0

1689745751822234 复制链接去分享

用心,,尽力,,😁😁

0

禹先生 复制链接去分享

1 我是怎么学习技术的
首先是看手册,看教程,
其次就是多百度谷歌,学会问问题,跟论坛的人学习了
2 注重深度还是广度
这个主要看技术的应用吧,我最常使用比较感兴趣的,有发展潜力的深度广度都重视
偶尔用来解决问题的,满足好奇心装逼的,就是看中广度啦

0

禹先生 复制链接去分享

每天来阿里云不是学技术就是学做人了,收益颇多😏😏😏

5