In 10 Reasons to Develop Your Technical Skills, I explained
why it’s important to develop your technical skills as an integral part of your
personal development efforts. Strong
technical skills can save you time, increase your income, and enable you to
extract the most bang-per-buck from your technology purchases.
I promised you an article on the how, so here are 10 things
you can do to improve your technical skills, regardless of your current skill
level:
1. Read technical books
One of the best ways to improve your technical skills is by
reading books. As a teenager I used to
buy computer books at the local bookstore.
Today it’s far better to shop online because you can more easily find
the true gems and avoid the lemons.
Visit Amazon.com, search for a book on a particular topic you wish to
learn, and check the reviews and ratings.
Look for books with at least 4 out of 5 stars (I usually don’t buy any
with less than 4.5 stars). Take
advantage of Amazon’s browsing features to quickly find the best books in any
field.
Even when you opt to buy technical books locally (such as
for an easy return if it doesn’t suit you), you can still check the online
reviews to rule out the bad ones. Take
your time previewing books in the bookstore or online, especially if cost is a
concern. If you can’t understand the
first chapter, don’t waste your money.
Although technical books can be expensive and are often
padded with lengthy code listings and other fluff, the good ones make up for it
with clearly organized, well-edited, well-indexed content. Books in their second edition or later are a
great choice because they’ve already been through at least one round of testing
in the marketplace.
2. Read online tutorials
The advantage of online tutorials over books is that they’re
accessible, timely, and of course free.
The disadvantage is that they usually aren’t professionally edited,
which can leave them lacking in completeness and/or clarity. However, they often sport other features like
abundant interlinking, user comments, and interactive demos. Sometimes the comments are better than the
original information, since they can contain lots of additional tips and
suggestions. I find this is particularly
true of reference sites like php.net (a reference site for PHP).
My favorite way of finding online tutorials is to use
Google. If I need a CSS tutorial, I’ll
search on CSS tutorial. I usually find
something halfway decent in the top 5 results this way. Other variations that work well include how
to XXX, XXX reference, and simply XXX, where XXX is whatever you wish to learn.
3. Hang out with geeks
If you spend enough time with technical people, some of
their knowledge will rub off on you.
Even geeks learn from other geeks, but if you aren’t much of a geek
yourself, a great way to accelerate the development of your technical skills is
to join a local computer club or users group.
Use APCUG (Association of Personal Computer User Groups) and/or WUGNET
(Windows Users Group Network) to find a group near you. Such groups usually welcome new members of
any skill level. Contact one of them and
attend a meeting as a guest to see if you like it.
Once you join a computer club or other geek-ridden
association, volunteering is a great way to make fast friends. These nonprofit associations are frequently
in need of volunteers for committee and project work; even if your technical
skills are weak, they often just need raw manpower. When I decided to become active in the
Association of Shareware Professionals during the late 90s, I put a lot of
energy into volunteering. I wrote
articles for their newsletter and served a year each as vice-president and
president of the association. It was a
lot of work to be sure, but I learned a great deal from working closely with
the other volunteers. Many of those
lessons have proven invaluable in running this personal development web
site. In fact, writing those articles,
which gradually became less technical and more motivational, contributed to my
2004 career switch from software development to personal development.
4. Subscribe to technical magazines
Technical magazines used to be one of my favorite outlets
for learning, but I cancelled all my magazine subscriptions years ago. During the early 80s, I spent many long hours
typing in BASIC programs from Family Computing and similar magazines (it took
me a long time because I hadn’t yet learned to type). While I think print magazines are less useful
today — the same info can often be found online for free – they’re an
inexpensive way to improve your general technical skills, especially if you’re
unlikely to push yourself in other ways.
The professional editing and experienced writers are a big plus.
5. Take classes
If group learning is your thing, look for college extension
courses and other classroom and workshop offerings in your area. Periodically I get catalogs in the mail from
UNLV, and while I lived in Los Angeles, I received them from UCLA, Learning
Tree University, Pierce College, Santa Monica College, and others.
A key advantage of classroom learning is the opportunity to
interact with an experienced educator.
Teachers with decades of experience know plenty of educational
distinctions you won’t find in books or online tutorials. And unlike many technical writers, they know
how to teach.
If you really want the degree, consider going to college and
majoring in a technical subject. I
earned Bachelor of Science degrees in Computer Science and Mathematics. But given my path after college, these
degrees were unnecessary busywork rather than practical skill building. I started learning to program when I was 10
years old, and while I did pick up some additional distinctions in college, it
would have been a better use of my time to skip college altogether and learn
the info on my own. In the long run, I
found my math and physics classes far more useful than my computer science ones
— my knowledge of the former didn’t become obsolete so rapidly.
6. Create your own web site
Long-term readers of this site know I’m a big fan of
experiential learning. Setting a goal to
create a basic web site is a great way to learn practical skills like HTML and
CSS. When you have a compelling reason
to learn, your goals will accelerate your learning, and you’ll learn with a
focus on practical application.
I learned HTML in 1995 when I wanted to make my first web
site. I created the site as I learned
the HTML language, gradually evolving it from the basic “Hello, world”
example. Later I learned CSS, PHP,
MySQL, and RSS, so I could do more interesting things than plain vanilla HTML
would allow.
Erin learned web programming in the same manner. She wasn’t a technically adept person when we
first met, but attempting to create her first web site got her in motion. Eventually she started a web consulting
practice, creating dozens of small business web sites. She also built her own sites including
VegFamily.com and ErinPavlina.com and generates most of her income from
them. So the simple decision to make some
basic web sites eventually led to generating abundant sustainable income from
online businesses. We learned by doing.
7. Build your own PC
If you want to develop better hardware skills, a great
project is to build your own PC from scratch.
I did this in 2004 and found it very rewarding. You’ll save money, learn a lot about how your
computer works, and end up with a nicely customized machine that you can easily
upgrade. After all the components
arrived, it took me about a day to assemble everything and install the
necessary software. This may or may not
be a good use of your time, but I found it worthwhile for the experience. I still use this same PC today, and it’s
plenty fast enough for my needs.
A detailed, novice-friendly, step-by-step tutorial I used
can be found at My Super PC. I used
PriceWatch.com to find the best online prices for all the components, which
beat local retail prices by about 30% on average. I remember buying several components from
NewEgg.com.
If this project makes you nervous, I wouldn’t recommend
it. But if you feel comfortable
researching and selecting components and carefully following assembly
directions, it’s a rewarding way to spend a day.
8. Embrace a variety of software
General software productivity improves with breadth of
experience, so use many different software programs (online or offline) to
improve your overall ability to get things done through software. I started using software in 1981, and such
broad experience makes it easy for me to learn new applications quickly. I usually dive in and start using them
without going through the tutorials or reading the manual. This saves me a lot of time and makes it
easier for me to justify the effort of installing new software and upgrading
old software.
When Erin has trouble figuring out how to do something in
one of her applications, I’m often able to solve her problem in seconds even if
I’m not familiar with the program. After
using hundreds of different software programs, you eventually learn to think
like an interface programmer, so you intuit how certain features are likely to
be implemented. Think of it as technical
intuition.
Branch out from software myopia, and experience the full
richness of using many different interfaces.
You’ll learn a lot about interface design from image editing programs,
programming tools, and of course computer games. The greater the variety of interfaces you
experience, the faster you’ll be able to learn and master each new program you
use.
9. Learn to program
Programming is the art of instructing a computer to perform
a task. The key to accomplishing this
feat is learning to think like a computer.
Programming is one of the most mentally challenging tasks a human being
can perform, but nothing compares to the satisfaction of engineering a piece of
code to solve a specific problem. Ask
any programmer.
I learned to program in BASIC at age 10 and later went on to
learn over a dozen programming languages.
The challenge of developing my logic and analytical skills at such a
young age has served me well my entire life, even in seemingly non-technical
pursuits.
For example, I tackle many personal development problems
with a programmer’s mindset. How do we
define the problem? What are the
possible solutions? Which solution best
meets our constraints? What are the
instruction steps to implement the solution?
Does the solution produce the desired output? Can we make this solution more elegant or
optimal? I’ve taken the common
programming process of requirements gathering, architecture, design, coding,
debugging, and optimization and applied it to personal development.
While humans certainly aren’t as precise or predictable as
machines — we have major compatibility issues, sometimes even with ourselves —
a programmer’s mindset can generate effective solutions to very human
problems. Intuition is a big factor in
both personal development and programming, but I like that there’s a structured
fallback process that works in both fields.
It’s much harder to use this process in personal development though
because we know how a computer thinks, but we’re still figuring out how humans
think.
10. Marry a geek
Your final salvation on the road to geekdom is to – gasp –
marry a geek. I shudder to think of the
technical purgatory Erin would be wallowing in right now if we’d never
met. I almost cried when I first saw her
slogging away on a 10″ monochrome Mac in 1994, and I soon gave her a pity
upgrade to a PC with a 14″ SVGA monitor.
I told her that if I die first, she’ll need to marry another geek right
away – an easy task for someone with her social skills.
If you aren’t a geek yourself, then do what you can to
recruit one into your family. If that’s
too much to ask, at least find a geek you can befriend. They can really save you in a jam, and
they’ll keep you from falling too far behind the rest of the world.
Be kind to your geek friends, and offer them fair value in
exchange for their help. Creative trades
are often welcome. For example, Erin and
I are both inept when it comes to fashion and home decorating (my
colorblindness certainly doesn’t help), so someone who can teach us how to
dress and buy furniture that matches would be a welcome ally. Right now the best we’ve got is our six-year
old daughter. She’s very sure of herself,
but I’m not sure her advice can be trusted.
In case you haven’t noticed yet, geeks are taking over the
world. How many geek billionaires are
there now, including the richest person in the world? Technical skills are of major importance
these days, and the technical have-nots are more estranged than ever. As hockey legend Wayne Gretzky says, “Skate
where the puck is going, not where it’s been.”