Becoming a Better Android Developer is easy, but becoming a successful Android developer and standing out from the rest is not. It takes a lot of hard work, passion, dedication, and perseverance to reach there. There is no shortcut or easy way that I can show you to become a truly successful developer. But if you are willing to put in the effort and heart needed, you will surely get all the success you deserve.
So, without wasting any more time further, let’s get started.
1. Get more familiar with the Android framework internals
I am not talking about getting familiar with the documentation but with the actual Android framework code. I have seen many developers afraid of looking and diving deep into the Android framework internals and discovering how things actually work and how different pieces fit together properly. If you need to level up your Android game, stop shying away from the inner workings of the Android SDK and start befriending it.
2. Try to get over the Fear Of Missing Out (FoMo)
Android is big, very big. You cannot learn it completely end-to-end in a month or two or so. The more you learn, you will find even more new things coming your way. As a beginner, it’s perfectly normal to have a fear of miss out. But try to get over it. Learn the things that you really need to learn in order to get started with the app you are currently building and then slowly expand your horizon.
3. Start reading more code
Most developers don’t pull out time to read what other developers are writing. They just spent most of their time writing what they already know. But that will not help you grow as a developer. That would not increase your knowledge. You should start looking at other open-source apps and libraries and start learning. 30 minutes of code reading every day is a good start. You will be surprised to discover so many new things you had no idea about.
4. Consider learning more languages
I am not telling you to learn Spanish or Chinese, but to learn new programming languages. You need to keep yourself updated with what is happening in the industry rather than confining yourself only with Android all the time. This will open up your perspective and will help you improve your Android development skills significantly. Make up your mind to learn at least one new programming language every year. But don’t just skim over the language for a week and leave it. Try to get into the depths of the language and how it works internally.
5. It’s time to learn Java Design Patterns
I can’t stress enough on how important this can be in your Android development career in the long run. Whenever you are stuck with solving a critical programming problem, design patterns can really help you a lot in building an elegant solution. You also need to be on the same page with other developers, so that when they are talking about using a Factory or Decorator or a Facade pattern, you instantly know what they mean.
6. Start contributing to open-source
If you have developed something useful and are using it in your own app, then consider open-sourcing it. You will have so much to learn in the process which will help you grow as a developer. If you don’t have anything to open-source, consider checking out other interesting open-source projects and fix some bugs, improve the documentation, or write a few tests there. Even the smallest bit of contribution will be helpful for the project maintainer to keep the project running.
7. Make your IDE work for you
Start spending more time in understanding the IDE you are using — Android Studio. It can do so much more than you think it can. There are so many cool features and shortcuts hidden in the IDE that most developers don’t know or never even try to discover. Make it a habit of discovering new and better ways of making your tools work for you thereby improving your workflow and productivity.
8. It’s time to architect your app properly
Most of the time we end up dumping all our code in the Activities or Fragments (you can blame me for this sin as well) turning them into gigantic God objects which are nearly impossible to maintain and test. It is very important to adopt a good architecture for your app, like MVP, MVVM, Redux, etc. Consider separate your app’s business logic, view interactions, and data interactions into different layers making them easy to manage and test.
9. Learn clean coding guidelines for Android
You just can’t ignore this. It becomes really difficult to work with developers who don’t write clean code maintaining at least the basic coding guidelines of Android development. It’s not rocket science at all and should not take you more than a few hours to learn most of the fundamental Java and Android coding guidelines. It should not be a one-time thing, rather a lifestyle change for the developer.
10. Spend some time learning about the Android best practices
To get yourself an edge over other developers and to build apps that look good and work well, you need to start learning some of the best practices of Android development. These are some of the do’s and don’ts that can help you in becoming a better developer and make your app stand out from the rest.
11. Utilize your free time effectively by listening to podcasts
Try to utilize your time properly and effectively. There are times like when you are commuting to/from the office, working out at the gym, driving, cooking, etc. and your genius brain is not doing too much. You can utilize times like these by listening to some resourceful Android podcasts. Always prefer to keep your brain occupied with useful and informative things as much as possible and always try to make the most of your time.
12. Don’t over-engineer things. Be realistic.
I have seen this happening not only with me but with several other fellow developers I have worked with as well. Thinking about something before starting to work on it is good (rather very good), but over-thinking and 0ver-analyzing things lead to nothing other than unnecessary confusion, delay, and anxiety. Do what seems good for the project right now and you can always adjust to the changing situations in the future as required.
13. Try to learn about design
I can understand that being a developer your primary focus is on learning to write better code and that’s pretty obvious as well. But if you want to be a complete developer, you should start spending some time every day learning and understanding UI and UX design as well. This will completely change the way you look at the apps you have been coding all the time. Try to talk and interact more with the UI and UX designers in your team to get a better insight into app design.
14. Start being a perfectionist
This is a subjective topic as what is “perfection” to me might not be “perfection” to others. But as a thumb rule, try to achieve the best possible version of the product that you are required to deliver, all the time. Never settle for less. Don’t work on something just for the sake of it. Be passionate about the work you are doing and do it better than others. This will help you constantly grow and become a successful developer in the long run.
15. Consistency is the key to success
If you want to be successful as an Android developer (or anything else in life), you need to be consistent. Doing something for a few days or weeks and then quitting won’t take you anywhere. Try to visualize where you want to be as an Android developer in the next few years and stick to your goal whatever challenge comes your way. It is very easy to start doing something, but very difficult to continue doing it with the same passion and dedication for a (very) long time.
16. Start small. Expand slowly
As a developer, you should always try to break down any complex problem or feature you are working on into small, simple, and independent components that can be understood and solved easily and quickly. Don’t get overwhelmed with the initial size or complexity of a project. Everything can be solved once you are on the right track. Start small, take baby steps, and expand slowly.
17. Always have a playground project in hand
Having a playground project in hand can completely change the way you learn things. If you come across something new in Android somewhere, make it a habit to immediately give it a try in your playground project. Suppose you discover an interesting Android library somewhere. Instead of just skimming over the docs and the APIs, you should start playing around with it in your playground project right away. This will give you a much better and deeper understanding of the library.
18. Start writing more tests
I can’t stress enough on how important this is. You can’t conclude a feature to be complete until you write exhaustive tests for it. Tests will help you build confidence islands on your code. Don’t make the mistake of neglecting testing or considering it as something “optional” and making your life more painful with regression bugs later. Remember, a code written without tests becomes legacy code instantly.
19. Consider adopting TDD
When you are developing an app, consider making the choice of building it in a robust and efficient way so that it can survive the test of time. Start following the “red-green-refactor” cycle of TDD. First write the test case which will fail (red), then write the actual code to make the test pass (green), and then go for cleaning and optimizing the code further. (refactor).
20. Setup a proper automated release mechanism
As a developer, try to keep yourself as little occupied as possible with things that can and should be automated, like app quality checking and release. You should automate the quality checking mechanism with tools like CheckStyle, PMD, Lint, FindBugs. Running all the unit and instrumentation tests before merging any major change is a must. When all of these checks pass, you get the green signal to publish the APK to the Play Store or distribute it in any other way you want (like Crashlytics Beta).
21. Embrace the reactive programming approach
If you want to level up your skills as an Android developer, you should definitely consider embracing the reactive approach. This will force you to think in a completely different way in which you build apps. Going the reactive way will surely help you write interactive apps faster and will make your development life easier and fun again.
22. Learn to use Kotlin for Android development
Kotlin is currently one of the most loved and talked about languages when it comes to Android development. It is also now the officially supported language for developing Android apps. This easy-going language brings a breath of fresh air to the world of Android. It is one of the best things that happened to Android developers who are bored working on the same old, verbose and error-prone Java. Give it a try and you will surely find the lost happiness in your development life once again.
23. Attend meet-ups and be more social with other developers
We developers tend to be quite introverted and like to sit in a corner with our computer and be in our own world. But try to move out of your comfort zone and interact more with other developers. There are lots of things to learn when you attend dev meetups, social gatherings, and talk to other developers who have similar interests like you.
24. Get familiar with keyboard shortcuts
Try to make it a habit of not using your mouse as much as possible. There are keyboard shortcuts for almost every action you want to perform in Android Studio. This will significantly reduce your development time and improve your workflow. Memorizing keyboard shortcuts might take some time initially but in the long run, it will help you move towards a truly mouse-less workflow.
25. Try learning at least one new Android stuff every week
In the vast world of Android, there are lots of things to learn and understand which might overwhelm you initially when you step into it. But things will turn out to be easy if you make yourself a promise of learning one new thing in Android every week. Make a list of all the things you don’t know, assign priorities to them and start winning over them one by one every week. After a few months, you will find yourself way ahead of where you had started.
26. Automate anything that eats your time
We engineers, are lazy by birth and always try to find an easy way to do a boring job. So, if you need to do something repetitive and boring several times a day, then consider automating it. It will cumulatively save you quite a lot of time every week which you can spend on doing other productive and useful things and reduce your angst.
27. Consider running two versions of Android Studio
Always keep a stable version of Android Studio to do all the daily important things you need to do. But also consider keeping a canary or beta version of the latest Android Studio installed as well. Sometimes there are lots of new and exciting features that make their way to these early builds that you would love to get your hands on as early as possible.
28. Audit all your third-party libraries once in a while
We all love using libraries whenever we need them and that’s perfectly fine as well. But make it a habit of auditing all the third-party libraries you have added once in a while and removing the ones that you don’t need anymore. If you are using only a small part of a particular library, then consider extracting that part instead of using the entire library. An occasional audit will also help you update the libraries that urgently need updating as well.
29. Learn better ways of refactoring legacy codebases
Do not make the mistake of refactoring a huge legacy codebase completely all at once. Doing so will put you in a trap from where there is no escape. Rather consider refactoring parts of the codebase that you need to work on right now and then slowly expand to other parts when required. Also, consider writing test cases for the screen you want to refactor before touching any code that you suspect can break existing functionalities.
30. Always develop and test on low-end devices
If you want to develop apps like a pro, never ever make the mistake of developing and testing apps on high-end devices. Generally, we developers own high-end flagships and use that for developing and testing apps as well. But this is something you should absolutely refrain from. Try to get your hands on the cheapest and the most low-end devices you can find on the market and make it a habit of developing apps only on those. You will start seeing a lot of flaws in your apps that you had no idea about before.
31. Buy the best work machine you can afford
Don’t ever make the mistake of buying a low-end work machine and ruin your development experience every day with it. Consider using a Mac (over Windows) for development. You would fall in love with its simplicity and stability over anything else. Now, if you are purchasing a MacBook consider getting the one with the best specs you can. A few hundred extra bucks won’t hurt you and you will thank yourself forever for making this decision.
Hope these tips will help you become a better Android developer. You have read and understood these tips but it’s time for you to convert these into actual actions and only then will you be able to experience the real power of these. If you have found this article useful, please consider recommending it to your friends, colleagues, enemies, or anybody you want via social media.