Build to learn: The world of a developer
Now and then a developer gets stuck and creativity may leave the building. Being an Android developer, I sometimes feel that everything is moving too fast. Just when I’ve figured out how to use a Recyclerview, there is now something called Dagger, RxJava, and Kotlin. Say what?
The dynamic coding world we live in is even more evident for graduates freshly out of university, although it affects developers that have been in the field for a while too. The learning curve for new technologies is at an all-time high. Many developers often feel like giving up and moving on to something new.
I decided to write this blog post to try and inspire those developers who feel stuck in a rut, to keep on going and just “build it”. I’m mostly going to refer to Android, but I think any developer can learn from it.
Who are you surrounding yourself with?
My mom once told me something long ago which I never forgot: “Show me your friends, and I’ll know who you are”. I think the same can be said for the company you start working for after finishing your degree, or the company you work for as an experienced developer. I finished my degree and started an internship at a company straight afterwards. Though it was a good place to begin, they didn’t encourage learning new skills and didn’t give me a lot of responsibility. This had a significant impact on my learning curve because I felt limited.
However, I tried my best to stay updated with the latest in the Android world and later managed to get into a grad programme with a company I wanted to work for. I met people who made me believe that I can do anything I put my mind to. I started learning faster because I was exposed to a new way of thinking: The “you can do anything” mindset. I started building things that I never thought I could at that level of my career.
My advice which not only applies to developers fresh from university but also for the more experienced developer is: it’s better to start at a lower position with a company that will grow you to your full potential than stay at a company where you’re stuck in one role: uninspired and not growing.
Feel like you’re not catching up?
If you can relate to that, don’t feel bad. Most developers feel this way, and it’s nothing new. You may think that you don’t like coding anymore and even worse, that you don’t want to build and develop new apps. One of the main reasons for feeling this way is that you may believe that you don’t have the necessary coding knowledge to build something new. You want to create your app using “perfect” code with the latest technology, but this approach doesn’t always work.
I believe in building, building, and building some more. While I’m developing an app, I simultaneously study the new technologies currently in the Android world and then I just update my code when needed.
Don’t wait until you have the best idea
One of the biggest mistakes we as developers make is to wait for the perfect idea. Be careful, because this not only slows down your learning pace, it can negatively affect you mentally — leaving you feeling drained and demotivated. An uninspired developer is a developer who doesn’t want to ‘build’!
“Fail early, fail often, but always fail forward.” — John C. Maxwell
I believe that a developer should build often, build fast and build forward. If new technologies are announced then experiment — build a small app to try it out. You might not get it right the first time, but eventually, you’ll get better at it.
Tip to learn
If you want to understand anything new, then try to explain it to someone else. I’ve noticed that most if not all good developers love to teach. This made me realise that the best way to learn is to teach. In doing so you not only help other developers, but you also become a better developer. So as a start, write a blog post.
What do you do during your downtime?
If you have completed all your work and you’re not sure what to do, I suggest finding some open source projects and work through the code. This excellent article by Aritra Roy gives a great list of open source projects. It’s incredible how much you can learn just by reading beautifully written code. Better yet, try to implement your own version of the app. I find that doing something practical improves my ability to learn something new.
Join the community
What I love about the Android community is that they love to share their knowledge and are always willing to help. Consider joining a few meetup groups. It’s amazing what you can learn in one day just by spending some time with people who share your passion. If you can’t physically be there, then there are often podcasts or videos available. (For example, Fragmented by Kaushik Gopal and Donn Felker.) Stay up to date by subscribing to newsletters such as Android Weekly. There are many ways to stay in touch with the community.
With an ever-changing industry, it is hard to stay updated with the latest developments in the tech world. Android is evolving so fast that it sometimes feels impossible to get to everything. However, that’s okay as long as you are learning. Some senior developers confess that they don’t know everything in the Android world, but they do their best to stay up to date. So my advice is to ‘just build’ as much as you can and learn, learn and grow!
Thank you for reading this article and follow me for future articles.
Thanks to Paul Cloete.
This article was first published on Medium.com on 21 February 2018.