Being a developer is a lot of fun. When people ask me why I love doing it so much, I usually don’t have just one answer for them. However, one answer I give often draws a few funny looks from the questioner.
I love it because everyday I learn something that I didn’t know the day before.
Usually this is met with a question about why I would enjoy not fully knowing about everything in my domain, and the usual –
Isn’t it frustrating having to learn all the new technologies that are released every month?”
To which I respond to with a resounding “NO! That’s the fun part!”.
Maybe being a developer isn’t for everyone. To me, when a new technology is released, I am exited. What problem will this new technology solve?! I usually quickly download it, read a some of the documentations on it, and decide if this could help me or the project I am working on in any way.
If you are someone that likes to keep the status quo, then being a developer probably isn’t in the cards for you. Technology changes faster than celebrity breakups in Hollywood. One day you will be building a native Windows application and your boss will come in and say
“We are scraping the Windows application. AngularJS and The Web are the new rave!”.
To many people, this can be very frustrating. I’ve been on teams when developers have gotten really pissed off because they feel like they did a ton of work on the previous application for nothing. It’s being thrown in the trash and now they have to learn all the new fancy web technologies. It can be very hard for some people that have gotten attached, or built a career from a certain technology. The people that don’t want to move on will usually have to start finding work as a developer supporting legacy systems (nothing wrong with that! We need these developers!).
However, for me and other developers like me, we like this change of pace. I don’t ever look at my past work as a waste of time when we move on to a new project or a new technology. It was fun to build it and it served its purpose until the business needed something else. Usually by the time we are going to implement a new technology, I am excited and willing to move on and learn the newest techniques that are spreading through the development domain. I say “Let’s do it!”. I would be bored staying with one technology my entire career.
I think one of the main reasons some developers don’t like switching to a new technology is because they know they will have a lot to learn to effectively develop an efficient solution using the new platform. A lot of people aren’t sure how to get ramped up or even stay up to date with the newest developments in software development. They say
Jason, how do you stay current with all the new tech???!!
And I will tell them I can’t, at least not all of it anyway. I’m not sure if anyone really can. However, there are a lot of ways you can stay very current even if you are not familiar with the latest library that gets released each week.
I have developed a learning strategy that has helped me stay up to date with the latest technologies. I will admit that it is not always easy but is usually always exciting.
The web really is a funny thing. Back in the day, reading a few websites was all you needed to do to stay current and up to date with the latest ‘dev’ news. Then times started changing and blogs and podcasts came in and were all the rage. Soon enough, we were following people on Twitter, or looking at their photographs on Instagram (ok, maybe that last one isn’t the most educational resource).
The point is that the web offers up all kinds of resources for learning. If you prefer reading, the web has that covered. Looking for audio content? Then that is also easy to find. For those you in need of a visual medium, well, there is a plethora of choices for video content across the web, many of which are housed on YouTube. Check out some of the free resources listed below:
Google Developer Products
Channel’s Pitch: “Talks, screencasts, interviews, and more relevant to Google’s developer products.”
General Technology and Web Videos
Channel’s Pitch: “O’Reilly Media spreads the knowledge of technology innovators through its books, online services, magazines, and conferences.”
Web Development Advice and Tutorials
Channel’s Pitch: “My name is Michael Locke, instructor, designer, brand developer and creative leader specializing in all areas of the web. I have over 15 years of web design experience with high proficiency in front-end web development (XHTML/CSS), UI/UX design, brand development, internet marketing, social media marketing, video marketing, photography, SEO concepts and traditional print design among other things.”
Photoshop, Illustrator, CSS, and HTML Tutorials
Channel’s Pitch: “We started PixelForLife.com in late 2008 in hopes of reaching those who want to learn Photoshop, web design and other media related softwares.”
Podcasts are a great way to stay up to date as well. You can listen to them on your commute to work and stay updated on the latest trends. Some that I like are: .NetRocks, HanselMinutes, and Software Engineering Radio.
Learn by Doing Platforms
Many times the best way to learn is by doing. If you just want to jump into the code and get your hands dirty, some of these sites will let you do just that (some of the lessons are more beginner focused, but sometimes that is best when you are learning a completely new technology). They are: https://www.codecademy.com, code.org, www.codeschool.com
One Last Thing
The last thing that has helped me to learn these new technologies fast is by building a strong foundation on Computer Science, Software Development, and Coding principles. For me these are best taught by an in-depth book on the subject. Taking some time to build a strong foundation on the fundamentals will save time in the end because you will be able to relate a new technology to which core fundamentals they are trying to address. For a list of all the books I think every software developer should read, visit this article.
And that’s it! That’s how I stay up to date. How about you? do you have any strategies for learning new technologies or any sites that you used to learn? If so please list them in the comments!!
If you liked this post, please subscribe to my blog at JasonRoell.com or share it with your friends…Have a great day!