Continuous Learning 18

Continuous Learning

https://97-things-every-x-should-know.gitbooks.io/97-things-every-programmer-should-know/content/en/thing_18/

We live in interesting times. As development gets distributed across the globe, you learn there are lots of people capable of doing your job. You need to keep learning to stay marketable. Otherwise, you'll become a dinosaur, stuck in the same job until, one day, you'll no longer be needed or your job gets outsourced to some cheaper resource.

So what do you do about it? Some employers are generous enough to provide training to broaden your skill set. Others may not be able to spare the time or money for any training at all. To play it safe, you need to take responsibility for your own education.

Here's a list of ways to keep you learning. Many of these can be found on the Internet for free:

  • Read books, magazines, blogs, twitter feeds, and web sites. If you want to go deeper into a subject, consider joining a mailing list or newsgroup.
  • If you really want to get immersed in a technology, get hands on — write some code.
  • Always try to work with a mentor, as being the top guy can hinder your education. Although you can learn something from anybody, you can learn a whole lot more from someone smarter or more experienced than you. If you can't find a mentor, consider moving on.
  • Use virtual mentors. Find authors and developers on the web who you really like and read everything they write. Subscribe to their blogs.
  • Get to know the frameworks and libraries you use. Knowing how something works makes you know how to use it better. If they're open source, you're really in luck. Use the debugger to step through the code to see what's going on under the hood. You'll get to see code written and reviewed by some really smart people.
  • Whenever you make a mistake, fix a bug, or run into a problem, try to really understand what happened. It's likely that somebody else ran into the same problem and posted it somewhere on the web. Google is really useful here.
  • A really good way to learn something is to teach or speak about it. When people are going to listen to you and ask you questions, you'll be highly motivated to learn. Try a lunch-n-learn at work, a user group, or a local conference.
  • Join or start a study group (à la patterns community) or a local user group for a language, technology, or discipline you are interested in.
  • Go to conferences. And if you can't go, many conferences put their talks online for free.
  • Long commute? Listen to podcasts.
  • Ever run a static analysis tool over the code base or look at the warnings in your IDE? Understand what they're reporting and why.
  • Follow the advice of The Pragmatic Programmers and learn a new language every year. At least learn a new technology or tool. Branching out gives you new ideas you can use in your current technology stack.
  • Not everything you learn has to be about technology. Learn the domain you're working in so you can better understand the requirements and help solve the business problem. Learning how to be more productive — how to work better — is another good option.
  • Go back to school.

It would be nice to have the capability that Neo had in The Matrix, and simply download the information we needed into our brains. But we don't, so it will take a time commitment. You don't have to spend every waking hour learning. A little time, say each week, is better than nothing. There is (or should be) a life outside of work.

Technology changes fast. Don't get left behind.

by Clint Shank


我们生活在一个有趣的时代。随着开发在全球范围内的分布,你会发现有很多人能够胜任你的工作。你需要不断学习才能保持市场竞争力。否则,你将成为一只恐龙,被困在同一份工作中,直到有一天,你不再被需要,或者你的工作被外包给了一些更便宜的资源。
那么你该怎么办呢?一些雇主慷慨地提供培训,以扩大你的技能范围。其他人可能根本无法抽出时间或金钱进行任何培训。为了安全起见,你需要对自己的教育负责。
下面列出了让你不断学习的方法。其中许多可以在互联网上免费找到:
阅读书籍、杂志、博客、推特订阅源和网站。如果你想深入了解某个主题,可以考虑加入邮件列表或新闻组。
如果你真的想沉浸在一项技术中,那就动手写一些代码。
总是试着和导师一起工作,因为成为顶尖的人会阻碍你的教育。虽然你可以从任何人那里学到一些东西,但你可以从比你更聪明或更有经验的人那里学到更多。如果你找不到导师,可以考虑继续前进。
使用虚拟导师。在网上找到你真正喜欢的作者和开发人员,阅读他们写的所有内容。订阅他们的博客。
了解您使用的框架和库。了解事物的工作原理会让你知道如何更好地使用它。如果它们是开源的,你真的很幸运。使用调试器逐步遍历代码,看看引擎盖下发生了什么。你会看到一些非常聪明的人编写和审查代码。
每当你犯了一个错误,修复了一个bug,或者遇到了一个问题,试着真正理解发生了什么。很可能是其他人遇到了同样的问题,并将其发布到了网络上的某个地方。谷歌在这里真的很有用。
一个真正好的学习方法是教授或谈论它。当人们听你说话并问你问题时,你会非常有动力学习。尝试在工作、用户群或本地会议中进行午餐学习。
加入或成立一个学习小组(àla patterns社区)或当地用户小组,学习你感兴趣的语言、技术或学科。
参加会议。如果你不能去,许多会议都会把他们的演讲免费放到网上。
通勤时间长?收听播客。
有没有在代码库上运行过静态分析工具,或者查看过IDE中的警告?了解他们报告的内容以及原因。
遵循实用主义程序员的建议,每年学习一门新语言。至少要学习一种新的技术或工具。分支给你新的想法,你可以在当前的技术堆栈中使用。
并不是你学到的所有东西都必须是关于技术的。了解您正在工作的领域,以便更好地了解需求并帮助解决业务问题。学习如何提高生产力——如何更好地工作——是另一个不错的选择。
回去上学吧。
如果能拥有尼奥在《黑客帝国》中的能力,只需将我们需要的信息下载到我们的大脑中,那就太好了。但我们没有,所以这需要时间承诺。你不必把醒着的每一个小时都花在学习上。一点时间,比如说每周,总比什么都没有好。工作之外还有(或应该有)生活。
技术变化很快。不要被落在后面。
作者:Clint Shank

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值