
Becoming an ordinary Android developer is easy, but to become a successful and outstanding Android developer, it takes a lot of hard work, enthusiasm, commitment and perseverance.
I can not show you a shortcut to success, but if you are willing to make an effort - he is waiting for you.
To help you on your way to becoming, I gathered a few 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 advice will be useful to you.
')
Transferred to Alconost1. Learn better the functionality of the framework for developing Android applications
And I'm not talking about reading the 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 insides of the frameworks. Don't be like that. It is incredible 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 game for Android, stop ignoring the SDK functionality, make it your assistant.
2. Stop being afraid to miss something.
Android as a platform is immense. You will not be able to study it completely in a month or even three. The more you study, the more you realize that you do
not know it . For a beginner at the stage of deep ignorance, it is normal to fear that he will miss some essential information during the development, but nevertheless overcome his fears.
First, study the things you really need 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 to study code written by other developers. In the end, they just spend their time writing what they already know.
This does not help you grow as an Android developer. The only way to really improve your skills is to read the well-written code of more experienced comrades. View open source programs and libraries, this is where you will discover new programming techniques and functional implementations that you have never even suspected.
Tip: here's a good resource where you can find the best open source apps to get you started.4. Think about learning additional languages.
I, of course, do not mean Chinese or Spanish. I propose to explore several new programming languages. Keep yourself informed about what is happening in your field of activity. Do not limit your horizons to programming for Android.
This will open perspectives for you, inspire new ideas, help to significantly improve programming skills for Android. Tune in to learn one new programming language per year.
Tip :
Here you can start (if suddenly you do not know this yet): JavaScript .5. It's time to learn Java design patterns.
I can not fail to note how important this may be for your career as an Android developer. 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 the Factory, Decorator or Facade patterns, you will understand what is being said.
Give yourself a promise that you will study one pattern each week, until you know most of them.
Tip :
Here is a good resource for mastering Java design patterns. If you want more information, be sure to read this book .
6. Participate in open source projects.
If you have developed a library, plugin, or other useful part of the code and are using it in your own application, consider switching to open source. You can learn a lot by participating in the development of a joint or own open source project. Consider this as an open-source programming course that will greatly 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 the errors, improve the documentation, write a few tests for them.
Even the smallest contribution (such as correcting grammatical errors in documents) will help the project leader to maintain it in working condition.
7. Let your IDE work for you
Spend more time understanding the integrated development environment (IDE) you are using: Android Studio. Its capabilities are wider than you can imagine. It offers cool functionality that many developers do not explore thoroughly.
Make it a rule to discover new and better ways to use your tools. This will improve the organization of the workflow and increase your productivity.
8. It's time to structure the application correctly.
Basically, all of our written code is completely unloaded into Activities or Fragments (I also sin it), turning gradually into an “omnipotent object,” which is almost impossible to maintain and test.
It is important to choose the right template when designing the architecture of your application, for example, MVP (Model-View-Presenter - Model-Representation-Representative) or MVVM (Model-View-ViewModel - Model-Representation-View Model). Separate application logic, interaction of views, interaction of data in different layers, to make it easier to manage and test them.
Tip :
Pay attention to these useful layouts from Google: they will simplify your life when designing applications.9. Learn pure Android programming standards
This item also should not be ignored, as it is difficult to maintain the 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 takes only a few hours to learn the basics of programming for Android.
Tip :
Here you can start exploring.10. Learn the best Android programming experience.
To become better than other developers, to make your applications look and work better, learn the best Android programming experience.
Learn what to do and what to avoid in order to become the best developer and make your application stand out among the rest.
Tip :
Here you will find a number of developments that will help you create the best applications.11. Use your free time efficiently - listen to podcasts.
Try to use your time well. When you travel by public transport, work out in the gym, drive a car, cook, your ingenious brain is not very busy.
Add multitasking to your life - listen to podcasts on Android.
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 would be right to think first, before starting work on something (very correctly, actually). But do not become too clever, 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 devote time to learning and understanding 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 idea 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 at less. Do not do anything "leave me alone." Work with enthusiasm, do more than you can. Thanks to this approach, you will constantly grow above yourself and eventually 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 a few days or weeks, and then quit your venture, it 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.
It is easy to start a new business, it is difficult to maintain interest and enthusiasm for it for a long time.
16. Start small and gradually expand.
You should always break 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 slowly, and then gradually expand.

17. Always have a code check at hand.
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 it using code verification sites.
Imagine that you accidentally found an interesting Android library. Instead of just running through the documents and APIs, test it. This will give you the opportunity to explore the specified library better.
18. Write more tests.
It is very important. You cannot assume that the work on the program’s functionality has been completed until you have prepared an exhaustive test for it. Tests will help you gain confidence regarding your code.
Make no mistake: neglecting testing will subsequently cause a lot of trouble in the form of regression errors, for example.
19. Go to the development through testing (TDD)
Develop your application immediately 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 the code that will pass the test (green), and eventually correct and optimize the code (refactoring).
“Developing through testing is a way to manage your own fear when programming. Fear makes you indecisive and less sociable. Fear makes you avoid feedback. You become sullen because of fear. ” - TDD by Example
20. Set up a good mechanism to automate the release.
As a developer, try to spend as little time as possible on things that can be automated, such as application quality checking and release.
You can automate the quality check of your code using tools such as
CheckStyle ,
PMD ,
Lint, and
FindBugs . Passing all modular and instrumental tests is required before integrating any significant changes into your application.
After all checks have been passed, you can publish your APK on the Play Store or distribute it in any other way.
Tip :
Learn how to automate application publishing in the Play Store using this open-source toolkit.21. Develop the skill of reactive programming.
If you want to improve programming skills for Android, you definitely should try reactive programming. This will help you think in a different way when developing applications.
Using this approach, you can develop interactive applications faster, and this will make your life easier.
Tip :
Here you can find good material on RxJava for Android.22. Get used to using Kotlin for programming for Android
Since Google announced
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 Android programming world.
This is great news for Android developers who are tired of programming in old, overloaded and full of errors Java-applications. Give him a chance, maybe Kotlin will inspire you to new achievements.
Tip :
Rate this awesome Kotlin guide.23. Visit mitap, communicate more with other developers
We developers are usually introverts. We like to sit quietly in a corner with your computer, immersed in your 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 interesting meetings for you.24. Learn the hotkeys
For almost any operation that you would like to perform in Android Studio, there are “hot keys”. If you learn them, it will significantly reduce the time spent on development and increase your productivity. It will take you some time to memorize keyboard shortcuts, but in the long run this will allow you to go to work without a mouse.
Tip :
If you do not want to memorize the “hot keys” in the old fashioned way, here you can find a wonderful plugin that will help you with this.25. Try to find out at least one new thing about Android every week.
In the vast world of Android, there are a lot of things to learn, to be understood and that can just crush you at the first approximation. But everything will become much easier if you give yourself a promise to study at least one thing about Android weekly.
Make a list of things you don’t know yet, prioritize and begin to work on each item. In 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 a boring job.
So if you are forced to perform repetitive and uninteresting work several times a day, automate it. This will save a lot of time that you can devote 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 a stable version of Android Studio. But do not lose the opportunity of the freshest beta versions of Android Studio.
Sometimes in these latest versions there are new interesting features that you don’t want to miss.
28. Periodically review other people's libraries.
We all love using libraries, and that’s fine when we need them. But make it a rule to revise from time to time 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 this part, instead of saving it entirely. Such checks will also allow you to timely update the libraries you need.
29. Find the best ways to refactor old code bases.
Make no mistake and do not
refactor all previous versions of code bases at the same time. In this way, you will drive yourself into a trap from which you cannot get out.
Instead, refactor those parts of the code base that you need to work right now, and then gradually expand it to other parts when it becomes necessary. And also write tests for the screens that you want to refactor before touching the code, which you think may violate existing functionality.
Tip :
This book has completely changed my view of working with legacy code. Read it clearly.30. Always test applications on low-performance devices.
If you want to create an application like a real pro, never test it on high-performance devices. Usually, developers prefer to acquire flagships and write code for them. Definitely should avoid this approach.
Get the cheapest and lowest-performing devices that you can find, and make a habit of developing applications for them only. You will begin to notice many shortcomings of your application, which were previously unaware. So you can
prepare your applications for most of the population of the Earth , which are not available the best Android devices.
31. Buy the best computer you can afford.
Make no mistake by purchasing a cheap laptop, it will destroy your development experience every day
(Editor's note: we just translated an article about how to choose a laptop for programming ) .
Give preference to Mac, not Windows. You just fall in love with its simplicity and reliability.
If you are purchasing a MacBook, choose the one with the best features. Then you will be eternally grateful to yourself for this decision.
Share your tips
Now that you have read and thought through these tips, it’s time to translate them into action. I hope my tips will help you become the best Android developer. And do not forget to share your experiences in the comments.
About the translatorThe article is translated in Alconost.
Alconost is engaged in the
localization of applications, games and websites in 68 languages. Language translators, linguistic testing, cloud platform with API, continuous localization, 24/7 project managers, any formats of string resources,
translation of technical texts .
We also make
advertising and training videos - for websites selling, image, advertising, training, teasers, expliners, trailers for Google Play and the App Store.
Read more:
https://alconost.com