I had a colleague recently asked me “how do I improve and work on my technical skills?”. I am in no disillusion that I was asked because of my incredible technical knowledge. I think they were told to ask others in the team and I was included as part. But, surely the question deserved the best answer I could provide them with. When I started writing a response, I realised that others who are starting on the software development path will also have these questions. Perhaps, I should blog it so that perhaps someone else can benefit from my experience.
I have a list of blogs that I track with RSS readers. Also, I follow the writer of these blogs on Twitter. Whenever I come across something interesting, I will add the blog to RSS readers. Same for Twitter, I will follow people who I find interesting with regards to technology and thinkers in our field. Examples include Martin Fowler, Scott Hanselman, Uncle Bob, David Heinemeier Hansson, Grady Booch, Kent Beck, Suz Hinton, Mark Seemann, etc. I read what they have to share from time to time.
I read technical books whenever I can. It used to be that I watched a lot of Pluralsight videos (or something similar) before, to learn a particular technology. I still watch them; but not as much as I used to. I also watch a lot of YouTube videos from conferences, particularly keynotes. They always seem to inspire me or change my way of thinking. Of course, over the years, I have developed a list of favourite speakers. So, I make sure to listen to their keynotes in particular.
But, I am finding reading books more useful nowadays. It takes a lot longer to finish the books. However, I am getting a much better understanding from them. Similar to reading books, I have also started to push myself to read more code. So, whenever there is a pull request to review, I take that as an opportunity to read other people’s code.
I think writing is another important habit to develop. It doesn’t matter if the writing is in the form of a blog, or a personal diary. I am finding that reading books helps me to write better which in turn is helping me to write better code.
Teaching others or sharing what you’ve learned also helps in solidifying your learnings. That’s the main reason I am blogging. It doesn’t matter if no one reads them.