Job Title:  Senior Associate | Android Developer | Pune | Engineering as a Service/ Operate

Must Have: MVVM & Clean Architecture, Kotlin, Database

Good to Have: Coding (Hands-on), CI/CD & Tools, Code Review, Unit Test, Jetpack compose, SDK/Library Development

Job Summary: This individual contributor position is responsible for developing applications for Android devices under the guidance of application engineers by leveraging Agile methodologies to design and implement new customer-facing features; working with product management and UX teams to create fun, easy-to-use client applications which maximize the user experience; and adhering to standard mobile device security practices. This position will also be responsible for supporting the overall architecture of KP's mobile technologies. 

Minimum Qualifications:

  • Bachelor's degree in Computer Science, CIS, or related field and two (2) years experience in software development or a related field.
  • Two (2) years experience programming Java/Kotlin (mandatory) for the Android platform.
  • Exposure to developing automated tests using Espresso.
  • Two (2) years experience working with native mobile app dependency management tools (e.g.,Gradle, Maven,etc.).
  • Two (2) years experience integrating API/services.
  • One (1) years of work experience with CMS such as Adobe Experience Manager (AEM) or or any alternate content management tool.
  • Two (2) years experience in the development and integration of third-party source code or libraries.

Additional Requirements

  • Skilled in native Android development, using native platforms, tools, and patterns like MVVM.
  • Skilled in writing UI tests with Espresso.
  • Experienced in managing signing assets, build schemes, flavors, and tools like Fastlane.
  • Experienced in integrating third-party SDKs (e.g., Firebase, Maps, Analytics).
  • Capable of handling API integration, error states, caching with Retrofit/ Alamofire.
  • Familiar with integrating content from AEM or similar headless CMS platforms.

Preferred Qualifications:

1+ year of experience working with location technologies, such as Real-Time Location Services (RTLS) and Beacons.

1+ year of experience working with mobile development or DevOps tools and technologies, including Jenkins, SonarQube, JUnit, and Gradle.

1+ year of experience in Test-Driven Development (TDD).

1+ year of experience integrating third-party source code and libraries.

2+ years of experience integrating APIs and services.

2+ years of experience applying Scrum and Agile development practices.

2+ years of experience developing applications for the Android platform.

1+ year of experience developing automated tests using Espresso.

1+ year of experience developing automated tests using mobile device cloud platforms such as Perfecto Mobile.

1+ year of experience working with Content Management Systems (CMS), such as Adobe Experience Manager (AEM).

1+ year of experience working with cloud platforms and application servers, including Microsoft Azure or IBM WebSphere Application Server.

2+ years of experience working with native mobile application DevOps and Continuous Integration (CI/CD) tools and technologies.

1+ year of experience working with native mobile application signing and build variants, including Provisioning Profiles, Entitlements, Distribution Certificates, Xcode Schemes & Configurations, and Android Build Types & Flavors.

1+ year of experience working with native mobile application build tools.

1+ year of experience working with native mobile application dependency management tools such as Gradle, CocoaPods, Swift Package Manager (SPM), and Maven.

1+ year of experience working with native mobile application distribution technologies.

1+ year of experience developing HIPAA and PCI-compliant applications.

Essential Responsibilities

·      Completes work assignments by applying up-to-date knowledge in subject area to meet deadlines; following procedures and policies, and applying data and resources to support projects or initiatives; collaborating with others, often cross-functionally, to solve business problems; supporting the completion of priorities, deadlines, and expectations; communicating progress and information; identifying and recommending ways to address improvement opportunities when possible; and escalating issues or risks as appropriate.

·      As part of the IT Engineering job family, this position is responsible for leveraging DEVOPS, and both Waterfall and Agile practices, to design, develop, and deliver resilient, secure, multi- channel, high-volume, high-transaction, on/off-premise, cloud-based solutions.

·      Provides insight into recommendations for technical solutions that meet design and functional needs.

·      Provides systems' incident support and troubleshooting for basic to moderately complex issues.

·      Assists in identification of specific interfaces, methods, parameters, procedures, and functions, as required, to support technical solutions.

·      Supports collaboration between team members, architects, and/or software consultants to ensure functional specifications are converted into flexible, scalable, and maintainable solution designs.

·      Assists in translating business requirements and functional specifications into code modules and software solutions, with guidance from senior colleagues, by providing insight into recommendations for technical solutions that meet design and functional needs.

·      Assists in the implementation and post-implementation triage and support of business software solutions, with guidance from senior colleagues, by programming and/or configuring enhancements to new or packaged- based systems and applications.

·      Develops and executes unit testing to identify application errors and ensure software solutions meet functional specifications. Supports component integration testing (CIT) and user acceptance testing (UAT) for application initiatives by providing triage, attending test team meetings, keeping the QC up-to-date, performing fixes and unit testing, providing insight to testing teams in order to ensure the appropriate depth of test coverage, and supporting the development of proper documentation.

·      Assists in the development, configuration, or modification of integrated business and/or enterprise application solutions within various computing environments by designing and coding component-based applications using programming languages.

·      Writes technical specifications and documentation Assists with efforts to ensure new and existing software solutions are developed with insight into industry best practices, strategies, and architectures.

·      Assists in building partnerships with IT teams and vendors to ensure written code adheres to company architectural standards, design patterns, and technical specifications.

·      Participates in some aspects of software development lifecycle phases by applying an understanding of company methodology, policies, standards, and internal and external controls.

·      Works with vendors (e.g., offshore, application, service).