Skill diminta
Analytical ThinkingCI/CDConfluenceDeliveryDockerFigmaFirebaseGitKotlinTroubleshooting
Deskripsi
- Key Responsibilities (Job Description)
- Design, develop, test, and maintain high-quality Android applications using modern Android development frameworks and best practices.
- Develop scalable, maintainable, and reusable application architecture by implementing MVVM, Clean Architecture, and SOLID Principles.
- Build responsive, reusable, and user-friendly UI components using Android Jetpack, Custom View, View Binding, and XML Layouts.
Collaborate closely with Product Owners, UI/UX Designers, Backend Engineers, QA Engineers, and other stakeholders to deliver high-quality mobile applications.
- Integrate Android applications with RESTful APIs, third-party services, Firebase SDK, and other external systems.
- Optimize application performance, stability, security, and scalability through continuous code improvements and best engineering practices.
Participate in code reviews, technical discussions, architecture design, and knowledge-sharing sessions to improve overall development quality.
- Troubleshoot production issues, investigate root causes, perform debugging, and provide timely resolutions for application incidents.
- Support application deployment, release management, and CI/CD implementation to ensure smooth delivery processes.
- Implement and maintain code quality standards, version control using Git Flow, and development documentation through Jira and Confluence.
Contribute to continuous improvement initiatives by evaluating and adopting new Android technologies, frameworks, libraries, and development methodologies.
Ensure applications comply with coding standards, security best practices, and Google Play Store publishing requirements.
Work effectively within an Agile/Scrum development environment, actively participating in sprint planning, daily stand-ups, backlog refinement, and retrospective meetings.
Requirements
- Bachelor's Degree (S1) in Information Technology, Information Systems, Computer Science, Software Engineering, or other related disciplines.
- Minimum 3 years of professional experience in Android application development.\
- Strong understanding of Object-Oriented Programming (OOP) concepts and software engineering best practices.
- Solid understanding of Single Activity Architecture with Multiple Fragments.
- Hands-on experience implementing MVVM (Model-View-ViewModel) architecture and Reactive Programming.
- Strong knowledge of Clean Architecture and SOLID Principles for developing scalable and maintainable applications.
- Proficient in modern Android development technologies, including:
- Android Jetpack Components
- Kotlin
- Retrofit
- Kotlin Flow
- Coroutines
- Dependency Injection (Dagger Hilt)
- Experience developing Custom View Components, View Binding, reusable UI components, and robust Android applications.
- Familiar with software development lifecycle and DevOps practices, including:
- CI/CD Pipeline
- Docker
- Git & Git Flow
- Jira
- Confluence
- Figma
Experience participating in application deployment, production support, troubleshooting, bug fixing, and continuous technology stack improvements.
- Strong analytical thinking, problem-solving skills, and ability to work independently as well as collaboratively within an Agile team.
- Preferred Qualifications
- Candidates with the following qualifications will be highly preferred:
- Experience working on Multi-Module Architecture projects.
- Experience publishing, maintaining, and managing applications on the Google Play Store.
- Experience integrating Android applications with Firebase SDK (Crashlytics, Analytics, Cloud Messaging, Remote Config, etc.).
Strong understanding of Android XML Layouts, including
- CoordinatorLayout
- ConstraintLayout
- LinearLayout
- FrameLayout
- ScrollView
- NestedScrollView
Knowledge of Android application security, code optimization, and code obfuscation using R8 and/or ProGuard, including writing custom obfuscation rules.