30+ Bite-Sized Pro Tips to Become a Better Android Developer

Aritra Roy
Aritra's Musings
Published in
14 min readAug 7, 2017

--

Becoming an 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 an 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.

On your quest of becoming a better Android developer, here are some bite-sized pro tips from my experience to aid you in the journey. So, if you have decided to jump into Android development or have been working as an Android developer for a while now, you have reached the perfect place.

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 everyday is a good start. You will be surprised to discover so many new things you had no idea about.

Tip: Here are some of the best open-source apps to help you get started.

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.

Tip: Check out this amazing article that can help you make a better descision. (SPOILER — Javascript is the answer)

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.

Make yourself the promise of learning one new design pattern every week.

Tip: Here is an excellent resource for you to get started. If books are your thing, then you must give this one a read for sure.

6. Start contributing to open-source

If you have developed something useful and is 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.

Tip: Here is an awesome guide for you to get started with open-source contribution.

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.

Tip: Here is an amazing article to help you master Android Studio like a pro.

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.

Tip: Checkout these useful blueprints from Google to make your life easier while architecting Android apps.

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 an one time thing, rather a lifestyle change for the developer.

Tip: Here is an excellent resource for you to start learning the standard coding guidelines.

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.

Tip: Here is a compilation of some of the best practices for you to make better apps.

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 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.

Tip: Fragmented Podcasts and Android Developers Backstage are two amazing podcast sources to start with.

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.

Recommended Reading

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 everyday on learning and understanding about 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 better insight into app design.

Tip: Give this amazing book a read if you are interested in understanding how design actually works.

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.

Tip: Talking about being perfect, this tool Instabug, has helped me a lot in getting my apps close to perfection with its super-simple yet effective in-app feedback system and powerful bug reporting tool. It has made it really easy to get direct feedback from my users and improve my apps based on its detailed and insightful bug reports. It is definitely worth a try.

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.

Recommended Reading

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).

Test-driven development is a way of managing fear during programming. Fear makes you tentative. Fear makes you want to communicate less. Fear makes you shy away from feedback. Fear makes you grumpy. — TDD By Example

20. Setup a proper automated release mechanism

As a developer, try to keep yourself as less 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 Play Store or distribute it in any other way you want (like Crashlytics Beta).

Tip: Consider automating the Play Store publishing process as well using tools like this.

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.

Tip: Here is an excellent series to learn the basics of RxJava for Android develoment.

22. Learn to use Kotlin for Android development

Kotlin is currently one of the most loved and talked about language 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.

Tip: Learn more on why you should start learning Kotlin for better Android development.

23. Attend meet-ups and be more social with other developers

We developers tend to be quite introvert 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.

Tip: Here is a good place to find the meetups you are most interested in.

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.

Tip: If you don’t want to memorize keyboard shortcuts in the old fashioned way, here is an excellent AS plugin to help you in that.

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.

Tip: Have a look at this awesome tool which can help you connect and automate the communication between several tools you use almost every day.

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.

Recommended Reading

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.

Tip: This book completely changed the way I worked with legacy code. You should definitely give it a read as well.

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.

This article was originally published on TechBeacon.

--

--

Design-focused Engineer | Android Developer | Open-Source Enthusiast | Part-time Blogger | Catch him at https://about.me/aritra.roy