分类:
2010-02-22 17:08:47
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
websites. 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 someone else ran into the
same problem and posted it on the Web. Google is really useful here.
• A 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 (a 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 codebase 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 need 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.