How to become the best Android application developer: 31 tips
- Transfer

It’s easy to become a regular Android developer, but to become a successful and outstanding Android developer, it takes a lot of hard work, enthusiasm, dedication and perseverance.
I can not show you a short way to success, but if you are ready to make an effort - he is waiting for you.
To help you on the path to becoming, I have gathered some small tips based on my experience. If you decide to become an Android developer or have been working in this area for some time, my tips will come in handy.
Translated to Alconost
1. Find out better the functionality of frameworks for developing applications for Android
And I'm not talking about reading documentation, it's about the actual code of the framework. I know a lot of developers who did not bother to “dive” deeper into the inside of the framework. Don't be like that. It is unbelievable how much you can learn when you understand how things really work, how the details of a mosaic are put together.
If you need to finish your Android game, stop ignoring the SDK functionality, make it your assistant.
2. Stop being afraid to miss something
Android as a platform is immense. You cannot study it completely in a month or even three. The more you study, the more you understand that you do not know her . It is normal for a beginner at the stage of deep ignorance to fear that he will miss some essential information during development, but nevertheless overcome your fears.
First, learn the things that are really necessary for the application that you are currently developing, and then gradually expand your horizons.
3. Read as much code as possible
Most developers do not bother learning code written by other developers. In the end, they just spend their time writing what they already know.
This will not help you grow as an Android developer. The only way to really improve your skills is to read quality-written code from more experienced companions. Browse open-source programs and libraries, it is there that you will find new programming techniques and functional implementations that you did not even know about before.
Tip: here is a good resource where you can find the best open source apps to get you started.
4. Consider learning additional languages
Of course, I do not mean Chinese or Spanish. I suggest learning some new programming languages. Keep yourself up to date with what is happening in your area of activity. Do not limit your horizons to programming for Android.
This will open up prospects for you, inspire new ideas, and help to significantly improve your programming skills for Android. Tune in to learn one new programming language per year.
Tip : Here you can start (if you suddenly do not already know this): JavaScript .
5. It's time to learn Java design patterns
I cannot but note how important this may turn out to be for your Android developer career. Every time you try to solve a critical programming problem, design patterns will be your salvation.
And you need to be on the same wavelength with other developers: when they discuss Factory, Decorator or Facade patterns, you will understand what is at stake.
Make a promise that you will learn one pattern each week until you know most of them.
Tip : Here is a good resource for learning Java design patterns. If you want even more information, be sure to read this book .
6. Participate in open source projects
If you have developed a library, plugin, or other useful piece of code and use it in your own application, consider switching to open source. By participating in the development of a joint or proprietary open source project, you can learn a lot. Consider this an open-source programming express course that will significantly increase your value as a developer.
If you have nothing to translate into open source, check out other open-source projects that interest you. Correct errors, improve documentation, write some tests for them.
Even the smallest contribution (such as correcting grammatical errors in documents) will help the project leader maintain it in working condition.
7. Let your IDE work for you
Spend more time understanding the integrated development environment (IDE) you use: Android Studio. Its possibilities are wider than you can imagine. It offers cool functionality that many developers do not thoroughly explore.
Make it your rule to discover new and better ways to use your tools. This will improve the organization of your workflow and increase your productivity.
8. It's time to structure the application correctly
Basically, all of our written code is completely uploaded to Activities or Fragments (I also sin with this), gradually turning into an “omnipotent object” that is almost impossible to maintain and test.
It is important to choose the right template when designing your application architecture, for example MVP (Model-View-Presenter - Model-View-Representative) or MVVM (Model-View-ViewModel - Model-View-ViewModel). Separate the logic of the application, the interaction of views, the interaction of data in different layers, so that it is easier to manage and test them.
Tip : Pay attention to these useful Google layouts: they will simplify your life when designing applications.
9. Learn Standards for Clean Android Programming
This point should not be ignored either, since it is difficult to maintain standard coding principles for Android, working with programmers who do not write clean code.
This is not the launch of an intercontinental ballistic missile, it only takes a few hours to learn the basics of programming for Android.
Tip : Here you can start the study.
10. Learn Android Programming Best Practices
To become better than other developers, to make your applications look and work better, learn best practices for programming with Android.
Learn what to do and what to avoid to become a better developer and make your application stand out from the rest.
Tip : Here you will find a number of developments that will help you create the best applications.
11. Use your free time effectively - listen to podcasts
Try to use your time to good use. When you ride public transport, work out in the gym, drive a machine, cook, your ingenious brain is not very busy.
Add multitasking to your life - listen to Android podcasts.
Tip : Start with Fragmented Podcasts and Android Developers Backstage .
12. Do not complicate. Be realistic.
This happened not only with me, but also with some of my fellow developers. Of course, it will be right to think first, before you start working on something (very right, actually). But do not overdo it, it will lead to confusion, missed deadlines and frustration.
Do what you think is necessary for the project right now. You can always make the necessary changes later, if necessary.
13. Learn something about design
I understand that the main thing for a programmer is to learn how to write good code. But if you want to become a full-fledged developer, you should also take the time to learn and understand the user interface (UI) and user experience (UX).
This knowledge will change your view of the applications you create. Try to communicate more often with the UI and UX designers of your team in order to have a better understanding of the design of the application.
14. Become a perfectionist
“Ideal” is a subjective concept, but make it a rule to always strive for the best possible version of the product you are working on.
Never stop for less. Do not do anything "leave me alone." Work enthusiastically, do more than you can. Thanks to this approach, you will constantly grow above yourself and in the end become a successful developer.
15. Persistence is the key to success
If you want to be successful in programming (or anything else in life), you need to be consistent.
If you do something for several days or weeks, and then give up your undertaking, this will not lead you anywhere. Do not be frivolous. Decide where you want to be an Android developer in a few years, and follow your goal, despite all the obstacles.
Starting a new business is easy, hard to maintain interest and enthusiasm for it for a long time.
16. Start small and expand gradually.
You should always break up any complex problem or task into several small, simple and independent parts that can be easily understood and quickly resolved.
Do not be afraid of the volume or complexity of the project. All problems can be solved if you go the right way. Start small, move a little, and then expand gradually.

17. Always have a pad for checking the code.
Having code verification tools can completely change your learning process. If you are faced with something new in Android, make it a rule to always check this with the help of code verification sites.
Imagine that you accidentally found an interesting Android library. Instead of just going over documents and APIs, test it. This will give you the opportunity to learn the specified library better.
18. Write more tests
It is very important. You cannot assume that the work on the program’s functionality is completed until you have prepared a comprehensive test for it. Tests will help you gain confidence in your code.
Make no mistake: neglect of testing will subsequently cause a lot of trouble in the form of regression errors, for example.
19. Continue to development through testing (TDD)
Develop your application instantly reliable and efficient, able to withstand the test of time.
Follow the red / green / refactoring principle when developing through testing (TDD). First write a test that will not pass (red), then write a code that will pass the test (green), and eventually correct and optimize the code (refactoring).
“Development through testing is a way to manage your own fear in programming. Fear makes you indecisive and less sociable. Fear makes you avoid feedback. Fear makes you gloomy. ” - TDD by Example
20. Set up a good release automation tool
As a developer, try to spend as little time as possible on things that can be automated, such as checking application quality and release.
Automate the quality control of your code using tools such as CheckStyle , PMD , Lint, and FindBugs . Passing all unit and instrumental tests is mandatory before integrating any significant changes into your application.
After all the checks are passed, you can publish your APK on the Play Store or distribute it in any other way.
Tip : Explore the ability to automate publishing an application to the Play Store through this. open source toolkit.
21. Develop reactive programming skills
If you want to improve your programming skills for Android, you should definitely try reactive programming. This will help you think in a different plane when developing applications.
Using this approach, you can develop interactive applications faster, and this will make your life easier.
Tip : Here you can find some good stuff on RxJava for Android.
22. Get used to using Kotlin for programming for Android
Since Google announced it announced first-class support for the Kotlin programming language at the Google I / O 2017 conference, interest in it has increased dramatically. This programming language is like a breath of fresh air in the programming world for Android.
This is great news for Android developers who are tired of programming on old, overloaded and error-prone Java applications. Give him a chance, perhaps Kotlin will inspire you to new achievements.
Tip : Check out this great Kotlin guide.
23. Visit mitaps, talk more with other developers
We developers are usually introverts. We like to sit quietly in the corner with my computer, immersed in our own world.
Get out of your comfort zone and chat with other programmers. You can learn a lot during development meetings, at parties, or just talking to people with similar interests.
Tip : Go to meetup.com to find the mitaps you are interested in.
24. Learn Hot Keys
For almost any operation that you would like to perform in Android Studio, there are keyboard shortcuts. If you learn them, it will significantly reduce development time and increase your productivity. It will take you some time to remember the keyboard shortcuts, but in the long run it will allow you to switch to work without a mouse.
Tip : If you don’t want to memorize the “hot keys” the old fashioned way, here you can find a wonderful plugin that will help you with this.
25. Try to learn at least one new thing about Android every week.
In the vast world of Android, there are many things to learn, that you need to understand, and that simply can crush you, at a first approximation. But it will become much easier if you give yourself a promise to learn at least one thing about Android weekly.
Make a list of things that you still don’t know, prioritize and start working on each item. After a couple of months, you will look back and be surprised how far you have come.
26. Automate everything that “eats” your time
We engineers are lazy from birth, we always try to find an easy way to do boring work.
So if you are forced to do repetitive and uninteresting work several times a day - automate it. This saves a lot of time that can be devoted to more useful things.
Tip : Pay attention to Zapier - a quality service that will allow you to combine and automate some of your tools that you use daily.
27. Run two versions of Android Studio at the same time
Perform the most important daily operations in the stable version of Android Studio. But don't miss out on the latest beta versions of Android Studio.
Sometimes in these latest versions there are new interesting features that you will not want to miss.
28. Periodically review foreign libraries
We all love to use libraries, and it's great when we need them. But make it a rule from time to time to review other people's libraries that you use and get rid of those that you no longer need.
If you use only a small part of a specific library, it is better to extract that part, instead of saving it in its entirety. Such checks will also allow you to timely update the libraries you need.
29. Find the best ways to refactor old codebases.
Do not make mistakes and do not refactor all previous versions of code bases at the same time. Thus, you will drive yourself into a trap from which you can not get out.
Instead, refactor those parts of the code base that you need to work right now, and then gradually expand it to the remaining parts when it becomes necessary. And write tests for the screens that you want to refactor before touching code that you think might violate existing functionality.
Tip : This book completely changed my view of working with legacy code. Read it clearly.
30. Always test applications on devices with low performance
If you want to create an application like a real pro, never test it on high-performance devices. Typically, developers prefer to purchase flagships and write code for them. Definitely worth avoiding this approach.
Get the cheapest and low-end devices you can find, and get into the habit of developing apps just for them. You will begin to notice a lot of flaws in your application that you never knew about before. So you can prepare your applications for most of the world's population , which are not available to the best Android devices.
31. Buy the best computer you can afford
Make no mistake by purchasing a cheap laptop, this will destroy your development experience every day (editor's note: we just translated an article on how to choose a laptop for programming ) .
Prefer Mac, not Windows. You will simply fall in love with its simplicity and reliability.
If you are purchasing a MacBook, select the option with the best features. Then you will be infinitely grateful to yourself for this decision.
Share your tips
Now that you have read and considered these tips, it’s time to translate them into action. I hope my tips help you become the best Android developer. And do not forget to share your experience in the comments.
About the translator
Translation of the article was done in Alconost.
Alconost localizes applications, games and sites in 68 languages. Native translators, linguistic testing, cloud platform with API, continuous localization, project managers 24/7, any format of string resources, translation of technical texts .
We also make advertising and training videos - for sites that sell, image, advertising, training, teasers, expliner, trailers for Google Play and the App Store.
More details:https://alconost.com