My Top 5 Tips To Becoming A Better Developer
Before I give you my five tips to becoming a better developer, just a little concept about this. I have been developing for quite some time now as an android developer. And I still remember when I started. It was like crazy for me being self-taught, though I was persistent, and I started developing my own apps. Then I was opportune to be part of a gig in a small company with developer and suddenly I realize that I wasn't as good a developer as I thought I was, so if you are reading this maybe you are new at coding maybe you just started coding for six months and you are looking for your first gig or maybe you have been in a role for a while and feel that you have not gotten better or maybe you feel like you are a great developer and you just need something else to level up your skill set. If any of this sounds like familiar to you then you are at the right place.
Working with developers who are better than you
Now this might sound obvious if you have been developing for a while, but if you are just starting out, something that you kind of forget now and that people don't really pay attention to is when you are starting out, when you are learning to code solo. When you build your own apps, you do it solo, and it's not until your first project, when you work with other developers on the same code base, that you can start to learn from other people and you realize your best approach isn't always the best approach, at least when you are starting out. The only way that you are going to learn this is by working with other developers, preferably those that are better than you. So one way that this can be achieved is by code reviews, which leads me to my next point.
Code reviews
These work both ways, and they are very useful. Then again, this is a tool that you do not get when you are working as a solo developer. Now with code review, this approach is very straight-forward, which means when you submit your code, somebody will then review it and try to understand the method or architecture you use and why. The benefit of this is that it makes you think, and it makes you learn different approaches and a better way of solving code-related problems.
Moving projects often
The obvious reason is that you will have to work with new people and technology often. By this, I mean your learning gradient will increase from the people you have worked with in that project. Like, you might be coming from a project that primarily uses RS Java to do networking and data base management functionality and then you might be going into a project that uses coroutine or kotlin flows and you have never worked with that before, so now there is an opportunity to learn this technology and learn the benefits of the PROs and Cons
Ability to explain your coding decision
There is an old adage that says if you can't explain something, then you don't understand it well enough. Especially when it comes to coding, you should be able to explain your code. And if you understand your code well enough, you will be able to answer questions. And it's also very useful in an interview situation. It is also useful in a life tech test where they watch you code, not just come up with the correct answer, but they would want to check your level of reasoning and logic. So it's really important to be able to explain your coding decisions.
To be good at explaining technical issues to non technical people
Now if you're wondering why you need to do this, as you level up in the developer world, you go from being a junior developer to a senior developer, then to a mid-level developer, and finally to a lead developer. The higher you get in that chain, the more you get brought in to planning sessions, road map meetings, and other meetings. You come across non-developers. So of these people, the majority are CEOs, whom you have to convince and articulate why the solution you are proposing is the best option. But you can't tell them in coding terms; you have to tell them in a way they would understand. So, being able to explain technical issues to non-technical people would really help to become a better developer.
I hope I have been able to help.