MAKE TINY URL

Enter a long URL to make tiny:

Saturday, July 19, 2008

10 Ways to Improve Your Technical Skills...

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.

1. 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.

2. 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).

3. Spend time with experts

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.

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.

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.

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 2007 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.

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. ..............................................?



WAITING FOR YOUR ADVISE..

2 comments:

Squirly B said...

At nomber 10, but not the last thing you should do is taking other peoples codes or work and start studying it by yourself, because experts are not always available at your discretion (it's true though that there are a lot of forums or sites where you can get help if you get stuck). https://cisco.hosted.jivesoftware.com/index.jspa?ciscoHome=true?utm_source=blog+commenting&utm_medium=media&utm_content=Google&utm_campaign=International

karim said...

Very thoughtfull post on Personal Development. It should be very much helpfull.

Thanks,
Karim - Positive thinking