I can’t give a shortcut to being a successful developer, but if you are willing to pay the sweat and heart, you will get what you want.

On how to become a better Android developer, here are your requests for some streamlined professional advice based on your own experience. So if you decide to hang into Android development or have done Android development for a while, then you are looking for the right place.

So don’t talk nonsense, let’s get started.

1. Further familiarize yourself with the Android framework

I am not talking about the documentation, but the framework code. Many developers are afraid to go deep inside the Android framework to understand how it works and how the various parts work together.

If you want to take the Android platform to the next level, boldly touch the inside of the Android SDK and become friends with it.

2. Overcome the phobia

Android is very big and very big. You can’t learn from start to finish in a month or two. The more you learn, the more new things you will need to learn. As a beginner, it is very normal to always worry about what you have learned.

But to overcome this concern, it is enough to learn what you need to develop your current app, and then slowly develop your own vision.

3. Start reading more code

Many developers are reluctant to take the time to read someone else’s code and spend most of their time writing what they already know.

But that won’t help you grow and won’t grow your knowledge. You should start reading the code for other open source and open source libraries. Reading the code for 30 minutes a day is a good start. You will be surprised to find that there are so many things you don’t know.

Tip: You can start with these best open source apps.

4. Consider learning more languages

I am not asking you to learn Spanish or Chinese, but to learn a new programming language. You should keep up with the pace of this industry update and not be limited to Android for the rest of your life.

This will broaden your horizons and help you dramatically improve your Android development skills. Make up your mind to learn at least one new programming language a year, but don’t just spend a week studying it and just throw it away, but study it in depth.

Tip: Reading  this  awesome article can help you make better decisions. (spoiler – the answer is Javascript)

5. It’s time to learn the Java design pattern.

I can’t emphasize the importance of design patterns in your Android development career. In general, every time you encounter a tricky programming problem, design patterns can really help you find an elegant solution.

In addition, you need to be on the same channel as other developers, so that when they talk about Factory  ,  Decorator ,  Facade  , you immediately know what they mean.

Swear a week to learn a new design pattern.

Hint: There is a great resource here . If you like books, you must read  this .


6. Start contributing open source code

If you develop something useful and use it in your own app, consider open source it. This process will let you learn a lot.

If you have nothing to open source, consider finding another open source project you like, fixing bugs, improving documentation, or writing tests.

Even the smallest contribution is very helpful for maintaining the maintenance of the project.

Hint: This  is a good guide to help you start contributing to open source projects.

7. Familiar with IDE

Spend more time getting familiar with the IDE-Android Studio you are using. It can do much more than you think. There are a lot of cool features and shortcuts hidden in this IDE that most developers don’t know or haven’t tried at all.

Develop a habit of exploring new tools and better ways to use them to increase productivity.

Tip:  Here  is an article that will help you master Android Studio like a professional.

8. It’s time to have a reasonable architecture app.

Most of the time we put the code in the Activity and Fragment in general (you can also blame me on this issue), causing them to become huge “God objects”, which is almost unmaintainable and testable.

It is very important to adopt a good architecture for the app, such as MVP ,  MVVM ,  Redux, etc. Consider dividing the app’s business logic, view interaction, and data exchange into different layers to make them easier to manage and test.

Tip:  Take a look at these templates from Google  to make it easier to structure your app.

9. Learn Android Concise Code Specification

This is a problem that cannot be ignored. It is very difficult to work with people who do not comply with the basic Android development coding specifications.

This is not a difficult thing, and you can learn basic Java and Android coding specifications in a matter of hours. And this is not a one-time sale, as a developer to benefit for the rest of his life.

Hint: There  is an excellent resource to start learning standard coding specifications.

10. Take the time to learn Android best practices

To make yourself more competitive than other developers and to build great-looking and easy-to-use apps, you need to start learning some Android development best practices.

On the road to becoming a better developer, there are a number of “do” and “do not do” codes of conduct that will make your app stand out.

Hint: Here is a highlight of some best practices.

11. Use your spare time more efficiently by listening to the radio

When you commute to work, gym, drive, and cook, your smart brain doesn’t actually do anything. You can use these hours to listen to some Android stations.

Tip:  Fragmented Podcasts  and  Android Developers Backstage  are two great radio stations that can start with them.

12. Don’t be too engineer thinking, realistic point

This kind of thing happened not only to me, but also to several of my colleagues. It’s right to think more before starting work, but over-thinking over-analysis doesn’t happen except for unnecessary confusion, worry, and delay.

It is good to do things that are good for the current project, and you can make adjustments as needed later.

13. Try to learn about design

As a developer, it’s understandable to focus on writing better code. But if you want to be a versatile developer, you should start learning and understanding the UI and UX aspects every day.

This will completely change the way you look at the apps you’ve been developing. Try to communicate with the UI or UX designer on the team to gain a deeper understanding of the app design.

Tip: If you are interested in understanding how design works, read  this  book.

14. Become a perfectionist

This is a more subjective topic because I don’t think others who are “perfect” think. But in general, try to make your own best product as much as possible.

Don’t be satisfied easily. Don’t just do things to get the job done. Be passionate about your work and be better than others. This will allow you to grow and become a successful developer.

15. Persistence is the key to success

If you want to be a successful developer developer, you need to be consistent.

Doing things for only a few days or weeks and then giving up will not have any real gains. Plan what kind of Android developers you want to be in the next few years and then stick to it no matter what difficulties you encounter.

It’s easy to start doing something, but it’s hard to continue with the same passion after a long time.

16. Start from small and step by step

As a developer, you should try to split complex problems and functions into smaller, simpler, and independent modules that are easier to understand and then solve relatively quickly and easily.

Don’t be defeated by the sheer size and complexity of a project from the start. As long as the method is correct, everything can be solved. Start small, step by step, and expand step by step.

17. There is always a hands-on project in the hands

Having a hands-on project can completely change the way you learn things. If you encounter something new, you should habitually try it out in the hands-on project.

For example, if you find an interesting open source project, you should start playing it in the hands-on project instead of looking at the documentation and API. This way you will have a much deeper understanding of the library.

18. Start writing more tests

I can’t stress more of the importance of testing. If you don’t write a detailed test, you can’t claim that a feature is complete. Testing can help you build confidence in your code.

Don’t make mistakes as a negligible test, think of it as something that can be done with nothing, leading to bugs in the future. Remember that code that is not tested immediately becomes legacy code.

19. Consider using Test Driven Development (TDD)

When you’re developing an app, consider building it in a robust and efficient way so you can pass the test.

Start complying with TDD’s “red-green-reconstruction” cycle mode. First, the tests you write may fail (red), then write some actual code to pass the test (green), and then further optimize the refinement code (refactoring).

Test-driven development is a way to control anxiety during programming. Anxiety can make you very tentative. Anxiety makes you not want to communicate with others. Anxiety makes you afraid of feedback. Anxiety makes you feel upset. —— Case from TDD

20. Configure a suitable automatic publishing mechanism

As a developer, try to spend less time on things that should be automated, such as app quality checks and releases.

You should use  tools like  CheckStyle  ,  PMD  ,  Lint  ,  FindBugs for quality checks. It is necessary to run all unit tests and real machine tests before merging into the main branch.

When all these checks pass, you get a  green signal that can be posted to the Play Store or distributed to other channels (such as  Crashlytics Beta ).

Tip: This tool can be used by the Play Store Auto Release .

21. Embracing Responsive Programming

If you want to further improve your skills, you should definitely consider embracing responsive programming. This forces you to subvert the way you think about building your app.

Using a responsive approach to programming is definitely helpful in writing interactive apps, while also making everyday development easier and more enjoyable.

Hint: Here  is a good tutorial on learning the basics of RxJava.


22. Learn to develop Android with Kotlin

Kotlin is one of the most loved and discussed languages ​​in Android development. It is now also the official support language for developing Android apps . This simple language brings a fresh air to the world of Android.

It is the best gift for those who are tired of old, cumbersome, and erroneous Java. You can try it and you will definitely find the lost development fun again.

Tip: Learn more why you should start learning how to develop Android with Kotlin:

23. Participate in meetings to socialize with other developers

Our developers are generally more introverted, prefer to sit in front of a computer in the corner and immerse themselves in their personal world.

But try to leave your comfort zone and talk to other developers. Joining a developer meeting, social gathering, and talking to developers with the same interests can make you learn a lot.

Hint: This  is a great place to find a meeting you are interested in.

24. Familiar with keyboard shortcuts

Try to develop the habit of using the mouse as little as possible. Almost all Android Studio operations have corresponding shortcuts.

This will significantly reduce your development time and increase your productivity. Although it may take some time to remember these shortcuts at first, it will help you get into a real mouse-free workflow in the long run.

Tip: If you don’t want to remember shortcuts in  an outdated way, here’s a great AS plugin that can help you.

25. Learn at least one new Android knowledge a week

In the vast Android world, there are many things to learn, and you may be scared at first. But if you promise to learn only one Android knowledge point per week, things will become easier.

List all the things you don’t know, and solve them one by one according to the set priorities. After a few months you will find yourself already opening a few streets of your own.

26. Automate anything that eats your time

Born to be born, I always want to find an easy way to do boring work.

So if you have to repeat and boring things several times a day, consider automating it. You can save a lot of time in a week, and the time saved can be used for other useful things.

Tip: Take a look at  this  amazing tool that helps you connect everyday tools with automated communication.

27. Consider running two versions of Android Studio

Always use a stable version of Android Studio to do important daily work. But also install a canary or beta version of Android Studio. Sometimes these versions will update many new features in advance, and you may be happy to experience them as early as possible.

28. Check the third-party library from time to time

We all like to use third-party libraries when needed, which is fine. But develop the habit of occasionally checking all third-party libraries, removing those that are no longer needed.

If you only use a small part of a library, consider extracting that part instead of using the entire library. At the same time, occasional checks can help you understand the urgent updates of the library.

29. Learn better ways of refactoring legacy codebases

Don’t refactor the huge legacy codebase at once, be careful not to take it.

A better approach is to refactor the parts that need to be started immediately, and then slowly expand to other parts as needed. Also, consider writing tests for refactored pages before changing code that is suspected to affect existing functionality.

Tip: This book completely changed the way I deal with legacy code. You should also read it.

30. Always test on low-end devices

If you want to develop like a professional developer, never make a mistake in testing an app on a high-end device. Developers are generally high-end flagships, so they are also used to test apps. But this is what you need to restrain.

Buy the cheapest, bottom-end devices you can find on the market and develop the habit of developing apps on them. You will see many problems that you did not encounter before.

31. Buy the best work equipment you can afford

Don’t ruin your daily development experience by buying a low-end device error.

Consider using Mac (better than Windows) to develop, you will love its simplicity and stability.

So, if you want to buy a MacBook, consider the best configuration you can buy. A few hundred dollars won’t affect you much, and you will always thank yourself for this decision.

Hope these suggestions can help you become a better Android developer. I suggest that you also read it, you should understand the meaning of it, and then it is time to put them into practice, only then can you realize their true power.

If you find this article useful, please recommend it to your friends, colleagues, enemies or anyone through social media.