Solid understanding of modern software architectures
mockito or junit
Experience in writing Unit tests with jUnit, Mockito
Espresso
Network Library Integration
Knowledge of mobile network communication (OKHTTP, Retrofit)
Deploymnet pipelines
Experience working with GIT, Jenkins, CI/CD
Crashlytics tools
Experience working with Crashlytics tools like Firebase, New Relic & etc.
Android SDK
Exposure to development of applications across different form factor (mobile, tablet, etc.) and supporting different Android versions
Exposure to performance tuning, power consumption & Material UI
Experience with dependency injection frameworks (Dagger, Hilt)
Experience working with remote data via JSON
Experience with SQLite using Room ORM
Tools
Rally/Jira
Job Description received from CVS in Jan 2024.
Job description:-
As a Principal/Sr Engineer, you will be helping advance our architecture and Mobile Product, working with cross-functional teams such as design, product, analysts to deliver great user experiences.
You will partner with Apps Platform Engineers, Product Managers, Engineering Managers and fellow Feature Team engineers to build products used make our powerful omni channel shopping an easy and seamless experience.
You will be considered a subject matter expert in software engineering best practices for the full software development life cycle as well as in our Pharmacy domain.
Work breakdown structure for this role:
In this role, you will be spending certain amount of time developing Android code especially complex use-cases. In addition, you will be partnering with Product, UX and Engineers to iterate the features and improving our Product.
Other responsibilities may include (but not limited to):
Improve and maintain our mobile apps CI and CD infrastructure and pipelines.
Provide high level tooling support to team engineers
Collaborate to drive solutions that would reduce cost and time to marketBe responsible for end-to-end application delivery including coordination with required teams for production deployment
Continuously monitoring application health and KPIs, support triage of any production issues as and when needed
Collaborate in troubleshooting complex data, features, service, platform issues and perform root cause analysis to proactively resolve product and operational issues
Be an advocate of security best practices, champion and support the importance of security within engineering
Provide technical guidance and mentoring to the fellow engineers in software design and development activities
Job duties may change at any time due to business needs
Required Qualifications:
10+ years of Software development experience with at least 7+ years in designing/developing Android Mobile applications.
Experience with modern Android development frameworks such as Jetpack compose and Kotlin.
Experience working with cross-functional teams such as design, product, data teams to deliver great user experiences.
Experience in influencing large organizations on best practices in Mobile Android development.
Accessibility experience
Strong desire to build in test from the start with TDD development experience.
Continuous delivery in mobile, code review, static analysis, continuous integration, automation, and functional testing Preferred Qualifications:
Experience in handling multiple competing priorities in a fast-paced environmentBFF (Backend for FrontEnd) and GraphQL
Expertise in Android tools, frameworks and Reactive Programming and building Design Systems libraries.Integrating with third party frameworks, tools, and SDKs
Experience with authenticated session using OAuth and authenticated tokens.
Experience with build systems on highly modularized apps (Gradle, custom plugins)Static and dynamic analyzers (Android lint, ktlint, Custom Rules