Hello, this post is 2nd part of
11. Use your free time effectively by listening to podcasts
Try to use your time properly and effectively. When you are commuting, working out at the gym, driving, or cooking, your genius brain is not doing too much.
You can multitask at such times by listening to some Android podcasts.
12. Don’t over-engineer things. Be realistic.
I have seen this happen not only with me but with several fellow developers as well. Thinking about something before starting to work on it is good (very good, actually), but overthinking and overanalyzing lead to 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 as a developer your primary focus is on learning to write better code. But if you want to be a complete developer, you should start spending some time on learning and understanding user interface (UI) and user experience (UX) design as well.
This will change the way you look at the apps you have been coding. Try to talk and interact more with the UI and UX designers in your team to get a better insight into app design.
Tip: Give this great book a read if you are interested in understanding how design works.
14. Start being a perfectionist
“Perfect” is a subjective term, but as a rule of thumb, 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 the best. This will help you constantly grow and become a more successful developer in the long run.
15. Consistency is the key to success
If you want to be successful as a 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. Don’t be fickle. Try to visualize where you want to be as an Android developer in the next few years and stick to your goal, whatever challenges come 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 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 then expand slowly.
17. Always have a playground project in hand
Having a playground project in progress 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 come across an interesting Android library somewhere. Instead of just skimming the docs and the APIs, you should test it out in your playground project. This will give you a much better and deeper understanding of the library.
18. Start writing more tests
I can’t stress enough how important this is. You can’t consider a feature to be complete until you have written exhaustive test cases for it. Tests will help you build confidence walls across your code.
Don’t make the mistake of neglecting testing or considering it optional and making your life more painful with regression bugs later.
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.
Consider following the “red-green-refactor” cycle of test-driven development (TDD). First, write the test case that will fail (red), then write the actual code to make the test pass (green), and finally, clean and optimize it (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. Set up a proper automated release mechanism
As a developer, try to spend as little time as possible on things that should be automated, such as app quality checking and release.
You should automate the quality-checking mechanism with tools such as CheckStyle, PMD, Lint, and FindBugs. Running all the unit and instrumentation tests before merging any major change is a must as well.
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.
Tip: Consider automating the Play Store publishing process by using open-source tools such as this.