Avoid these Mistakes if you are Android Developers
Step-by-step guide to Become a Senior Android Developer
The road to becoming a Developer to a Senior Developer requires a few strengths that a Developer needs.
I will help you to become a Senior Developer and help you to acquire the necessary skills.
Avoid Silly Mistakes
Develop habits to minimize common errors. Use static analysis tools, write comprehensive unit tests, and perform thorough code reviews to catch mistakes early.
Dont Do :
Leave commented code.
Hardcoded strings, dimensions, etc.
Use of var.
Doing sensitive operations in the Main thread.
Writing Big Functions.
Bad Naming conventions for variables and functions.
Code Review Skills
Develop the ability to provide constructive feedback during code reviews. Aim to improve code quality, ensure best practices, and mentor junior developers.
Code Review is an essential skill that can leave an impact on team members and it is a way of showcasing your Technical skills.
It will take time to acquire this skill but you can do that by adopting these methods
Check the PR Author using the suspended function for fetching Network, database queries, and shared preferences .
Check PR creator is Injecting dependencies rather than creating an instance of a class.
Think about the approach to development where he can improve.(I can help here).
Check the Ui Design and run the app, if it matches the provided UI and the following use cases.
Check Hardcoding, following camel notation, etc.
Can we Improve the code by using Lambda, Delegation, Abstraction, etc?
Avoid Inheritance and use composition.
Use Constraint layout rather than Linear or relative.
If you keep checking the above checklist in each PR I am sure you will find some mistakes in Senior Developer’s code too.
Implement Features for Scalability
Design and implement features with scalability in mind. Ensure your code can handle increased load and complexity as the project grows.
For Example, if you want to integrate Map in your App then try to wrap Map functions by using interfaces so that in the future if you want to replace Google Map with Yahoo Map you can easily replace it without changing much code.
Another one If you want to add Alert Dialog in the Android App then rather than creating a class you can create an extension function. Pass click functions as a parameter.
Task Management
Junior Developers are not good how to divide the tasks and prioritize them whereas Senior developers and Tech leads are very good in this.
They know how to divide big problems into small doable tasks and prioritize them based on criticality.
Divide the task based on small Use Cases that a feature has, Sometimes you can include small multiple use cases in a single task.
For Example: Product want to develop a screen where user can see his call logs and place a call .
Now Divide this Feature into small tasks :
Users can see the List of Call Logs.
Users can scroll and load all the call logs by using pagination
Users can place a call and the Calling Screen will be visible
Sync the call logs and refresh the screen.
Users can see Call details when Tap on Call Log Items.
As you can see a Big feature is divided into small doable tasks where we can prioritize them and add estimation.
For Prioritization, we can use MoScoW, RICE, or Urgency matrix to the prioritization framework.
Use Advanced Concepts of Kotlin
Master advanced Kotlin concepts to write more efficient, readable, and maintainable code. Explore coroutines, advanced collections, and functional programming features.
Use let, run, also frequently.
2. Use the Extension function and Lambda functions.
3. Use Generic in Kotlin.
Use Modern Android Development (MAD) Skills
Stay updated with the latest MAD skills, including Jetpack libraries, Compose for UI, and architecture components. Incorporate these tools to enhance app performance and development efficiency.
Good Architecture
Design robust and scalable software architectures. Understand and implement architectural patterns such as MVVM, MVP, and Clean Architecture to ensure maintainability and testability.
Architectures are mostly used on High Level but what to do when we are developing a feature?
Every feature can not be completed without using the Design Patterns that make your feature scalable and clean.
Use Design patterns and keep in mind the SOLID principle when developing a class.
Presentation :
Showcase your skills in the public domain is the best way to gain confidence and increase your reach.
Use Canva to create awesome presentations or Images to showcase your design capabilities.