1. Read technical books :- One of the best ways to improve your technical skills is by reading books. 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.

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.

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

4. Subscribe to technical magazines :- Technical magazines used to be one of my favorite outlets for learning,

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.

6. Create your own web site :- Go for 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. 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 it worthwhile for the experience.

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.

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. 10. Marry a geek :- Your final salvation on the road to geekdom is to – gasp – marry a geek.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. Technical skills are of major importance these days, and the technical have-nots are more estranged than ever.