TECHNICAL SKILLS
To Develop Technical Skills, you
have to work a lot. It’s very important to develop your technical skills as an
integral part of your personal development efforts.
Strong technical skills can
1. Save
your time,
2. Increase
your income,
3. Enrich
your presence
4. Enrich
your resourcefulness and
5. Enable
you to extract the most bang-per-buck from your technology purchases.
1. Read technical books
One
of the best ways to improve your technical skills is by reading books.
Go
through books written by different authors on the same topic. It gives you wide
logic and different thinking.
Latest
books on the same topic may not be available in the local markets. So you can
get from amazon.com.
If
you are a beginner, you can get old editions from seconds market.
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.”
No comments:
Post a Comment