Here are some of they ways that I used to improve MY tech skills
Attend usergroups
Attend your local usergroup meetings, there is always some expert in attendance that comes to do presentations.
Get training
Companies usually have some budget allocated to training. Find out if your company has this and attend some good training in the technology that you are interested in.
Go to conferences
Attend conferences like Google IO, Build, JavaWorld, WWDC, SQLPass etc etc. Network with your peers and meet the people who actually work on the products that you are using
Answer questions
I still think answering questions is one of the best ways to improve your skill. Join a QA site like stackoverflow, head on to a specialized site on stackexchange, here is a list of all of them http://stackexchange.com/sites You can hit some of theforums on this site. For SQL server, you can also try SQLServerCentral
If you are not comfortable with answering yet or if you realize that the questions are too difficult, don't worry about, just start by lurking. What you will find out over time is that every month you will be able to answer more and more of these question. This is because the questions are pretty much the same but some little detail might be different. Take a look atthe ten most asked sql server questions and
their answer, these 10 questions pop up on a daily basis, after a while you will be able to answer these in your sleep
Lunch and learns
No time you say to improve your skills, do you take lunch breaks? If so consider doing lunch and learns, get into a conference room, fire up the projector and then either look at code with the team, do design, watch videos, whatever floats your boat
Get involved with an open source project
A good way to improve your skills is to get involved with an open source project. Pick a project download it, then pick it apart. Start reading through the code, notice how things are done, ask yourself why it was done that way. Would you do it the same way? If you pick a big enough project, there will be many contributors, can you tell that the code was put together or does it pretty much look like it was written by one person. Are standards followed, how many design patternsare used
Read books, read code, read blogs
There are many classic list of books that every programmer should read
Here is just a small list that you can choose from, I grabbed this from stackoverflow
Code Complete (2nd edition) by Steve McConnell
The Pragmatic Programmer
Design Patterns by the Gang of Four
Refactoring: Improving the Design of Existing Code
The Mythical Man Month
Clean Code: A Handbook of Agile Software Craftsmanship by Robert C. Martin
CODE by Charles Petzold
Working Effectively with Legacy Code by Michael C. Feathers
Peopleware by Demarco and Lister
Coders at Work by Peter Seibel
Patterns of Enterprise Application Architecture by Martin Fowler
Test-Driven Development: By Example by Kent Beck
Practices of an Agile Developer
Don't Make Me Think
Agile Software Development, Principles, Patterns, and Practices by Robert C. Martin
Domain Driven Designs by Eric Evans
The Design of Everyday Things by Donald Norman
JavaScript - The Good Parts
Getting Real by 37 Signals
The Annotated Turing
Agile Principles, Patterns, and Practices in C# by Robert C. Martin
The Soul of a New Machine by Tracy Kidder
Here Comes Everybody: The Power of Organizing Without Organizations by Clay Shirky
Pragmatic Unit Testing in C# with NUnit by Andy Hunt and Dave Thomas with Matt Hargett
Rework by Jason Freid and DHH
JUnit in Action
Reading code is also a good way to improve your skills, head over to the frameworks you use the most and start digging around in the API, look at the example code.
Read blogs of subject expert, study their code and techniques, if something is not clear don't hesitate to leave a comment asking for some info or further explanation
Practice by doing katas
If you have ever done Karate you will know what a kata is, it is basically the practice of forms. You can take the same approach with programming. Here is a great post that goes into some more detail: Using Code Katas to Improve Programming Skills
Blog
I found that blogging has been very good for my tech skills. It keeps me sharp and since I blog about new things it keeps my skill set up to date. When blogging, your readers will tell you when the code is wrong, so you have to make sure everything is tested and will run as shown in the post. Since you will have to do some research when writing these blog posts, your skills will improve and expand.
An added bonus is that I have a code library that I can access anytime I want.
Write a book
If you are a masochistic type of person then I recommend you write a book, almost everybody in the tech world that I know swore that they would never write a book again when they were done.......and yet they did. In order to write a book you have to spend a LOT of time doing research, making sure your code is correct and much more. Once you are done with this if you were not a subject expert you will be now. The worst part of writing a book is the initial feedback you get pointing out all your mistakes, if you are not thick skinned this could become a problem.
Listen to podcast, watch webinars
I get a lot of my tech info from podcasts, I like it better than listening to music at times and it makes the commute or run more enjoyable. The benefit is that you will learn something, you also might hear about some new shiny thing and then you will want to check it out when you get to the computer. There are many things I have learned from podcast, I also look forward to the next episode
What about YOU, how did you best improve your tech skills? Here is a small survey that you can take and you can pick from these options
- Attend usergroups
- Answer questions
- Lunch and Learns
- Get involved with an open source project
- Read books, read code, read blogs
- Practice by doing katas
- Blog
- Write a book
- Listen to podcast, watch webinars
- Get a tech subscription like pluralsight
- Go to conferences
- Get training
You can find that survey here: https://www.surveymonkey.com/s/R2Q65N8
I will post the results in a couple of days
The results are now available, you can fid them here: http://denis-gobo.squarespace.com/denisgobo/2013/11/13/results-of-the-how-did-you-improve-your-tech-skills-survey