How I learn new things as a developer
IT industry and programming especially requires from engineers/developers to constantly learn new things. There are new technologies, languages, frameworks, architectures, libraries popping up almost every single day.
To be up to date with a fast moving industry and also to not become a dinosaur we have to expand our knowledge effectively and in the right direction. Effectively means to not to spend to much time on it but end up with something that can stay in our memory. Right direction heavily depends on your background, technology and career plans. That doesn’t mean that you need to focus only on your narrow expertise domain. Going outside of that boundary usually has a lot of benefits.
I’m trying to learn new things on daily basis and I really like it.
With that blog post I wanted to share with you with some sources or methods of obtaining tech knowledge. I will give you some examples but those methods are rather general and can be used for other technologies/areas.
Quite obvious point. There is a lot of a great publishing houses specialising in IT. I prefer to check for example “The Pragmatic Bookshelf” from time to time to see if there is something interesting coming in. Usually I buy ebook which is cheaper than paper version. I also like to check Apple iBooks on my phone for a new books.
Important thing about books is that it takes time and usually deep investigation into problem to write it. So, in my opinion, this is a good source of professional knowledge that I can trust to.
Nice tool that I found and I’m playing with now is spritzinc.com . It presents you only one word at a time to avoid loosing focus.
I put together kind of a log of books that I’ve read, reading and plan to read. You can find it in my blog post about Books.
Good choice when you are traveling or running. There is a lot of a good podcasts to follow. My list at the moment looks like this:
- Andrzej on Software
- Menedżer plus
- Coding Blocks | Software and Web Programming / Security / Best Practices / Microsoft .NET
- Nadgryzieni — rozmowy (nie tylko) o Apple
- Scrum Master Toolbox Podcast
- Simple Programmer Podcast
- Developer On Fire
- The Ruby Rogues
- Elixir Fountain
- Software Engineering Daily
- Software Engineering Radio — The Podcast for Professional Software Developers
- The Changelog
Joining conferences or even local meetups is a great opportunity to not only listen and learn something new, but also to talk with people to exchange experiences and ideas.
There is a lot of blogs over there so I like to subscribe to some newsletters that work as an aggregator. So I can receive one email from them per week with links, they think will be good to read. One that I like the most is Elixir Radar.
I use RSS Bot on Mac to check a feed that comes from:
- A Fresh Cup
- Andrzej on Software
- Netguru Blog
- Reddit DDD + Ruby
- Reddit Rails
- Reddit Ruby
- Reddit Scrum
- Ruby Lang PL
- Ruby on Rails
- Social — TechCrunch
- Thoughtbot Blog
A bit old fashioned, but works for me very well.
Almost endless source of news and knowledge. Everybody has their favourites. I always try to add rss feed to my reader from the blogs I like. Also I like to check Medium hashtags from time to time.
Writing a blog post or in general teaching somebody about certain problem is a great way to investigate the problem even deeper and to structure your knowledge. Nobody knows everything and sometimes you may think you know/understand something but when you try to explain that to somebody it turns out that you have to learn yourself about specific detail.
Same thing as podcasts. I usually subscribe to channels that show talks from conferences. At the moment:
I also started my own YouTube channel.
Reading forums is a first step. Next step is answering to people or suggesting some solutions. It works like teaching somebody and very frequently leads me to learn something new or to look for some specific detail that I wasn’t aware of.
Week of the technology
This is an idea that I started over month ago. I’m trying to plan each week of a month ahead and pick some interesting technologies, languages or techniques to tackle every week. By tackle, I mean to read about it, to see some videos or even play with it in the console. My goal is not to be an expert in that topic but just to get familiar with it. My plan for a next couple of weeks:
- reactive programming in Ruby
- JS ES6
- React + Redux
- OOO design patterns
- machine learning in Ruby
- Saga pattern in Ruby
- Internet marketing
It may look like a lot of sources to follow on daily basis but in reality you have to filter out information or just cherry pick topics that are interesting for you.
Happy learning !
For Polish readers: in the newest episode of “Programista” newspaper, you can find my article about it — https://programistamag.pl/programista-6-2017-61/
If you like this article and consider it useful for you, please support it with 💚