DESCRIPTION:
Duties: Develop high-quality mobile software applications, write detailed component specifications, and build accessibility- compliant applications using the latest Android programming techniques. Design architecture diagrams based on business requirements and flow charts to develop robust solutions for mobile Android applications. Ensure software quality, testing, and validation by participating in defect triage calls with the Quality Management team, ensuring all requirements are met and potential defects are identified and resolved. Complete development assignments on time with a high level of quality to support project efforts, performing production support validations and assisting with release validations to mitigate risks before customer launch. Participate in code reviews, adhere to coding standards, and provide feedback to ensure best practices in style guidelines, accuracy, testability, and efficiency. Effectively communicate with stakeholders, including business partners, other technical partners, and UI/UX partners. Implement robust and clear Android instrumentation and unit tests, understanding the value of testing. Contribute to existing documentation or educational content, adapting content based on product/program updates and user feedback. Build mobile infrastructure and tools to enhance engineering efficiency, analyzing, and optimizing UI and infrastructure application code for better performance. Drive architecture innovations to support world-class mobile app development, collaborating with cross-functional partners such as Product Managers, Experienced Designers, and Engineers to design and deliver high-quality products on Android. Build efficient and reusable mobile components, architecting reliable, performant, and scalable mobile solutions. Identify areas of improvement and drive mobile best practices, using the latest cutting-edge technologies and libraries suggested by Google for building responsive native apps for Android. Build scalable native mobile apps using JPMorgan Chase's internal libraries, making architectural trade-offs by applying synchronous and asynchronous design patterns, writing code, and delivering with speed and quality. Provide technical leadership, driving and performing best engineering practices to initiate, plan, and execute large-scale, cross-functional, and company-wide critical programs.
QUALIFICATIONS:
Minimum education and experience required: Bachelor's degree in Computer Science, Computer Engineering, or related field of study plus three (3) years of experience in the job offered or as Software Engineer, IT Consultant, or related occupation.
Skills Required: This position requires experience with the following: Android development including designing, coding, testing, and maintaining android app using Kotlin and Java, as well as integrating Android SDKs and frameworks such as Jetpack Compose and Hilt to deliver scalable, secure and a performant Mobile application Android SDK architecture, SDK API; Kotlin and Java, with the ability to leverage advanced features such as coroutines in Kotlin for asynchronous programming and Java's concurrency utilities for thread management design with a focus on integrating digital wallet technologies or payment systems on mobile platforms; implementing dependency injection in Android applications using Dagger and Hilt, with a integration into modern Android architectures including MVVM, MVP or MVI and Clean Architecture. This position requires three (3) years of experience with the following: test automation frameworks including Espresso utilizing Test-Driven Development (TDD) and writing unit and integration tests for SDK components using JUnit, Mockito, or Robolectric; gathering and analyzing user feedback to iteratively improve SDK features and usability, designing and performing A/B tests and using tools including Firebase Crashlytics and Android Studio Logcat for monitoring crashes, performing RCAs, and remediating issues identified during crash monitoring and performance logging via Firebase Crashlytics and Android Studio Logcat; participating in the full Android mobile app SDLC from development to release, including Regression, Smoke and Beta testing for mobile platforms and navigating app submission process to Google PlayStore. This position requires experience in the following: Android's architecture components, including LiveData, ViewModel, and Room; managing dependencies and building Android libraries using Gradle, Utilizing Gradle Groovy or Gradle Kotlin DSL (KTS) for creating and applying configurations to streamline build processes; working with CI/CD pipelines, including Jenkins, to automate and enhance the build and deployment workflow for efficient data management; distributing and accessing Android SDKs via platforms including JCenter, Maven Central, or Artifactory, with experience working on semantic versioning to manage version control, ensure backward compatibility, and facilitate smooth updates for developers; utilizing SonarQube for continuous code quality analysis in Android projects, including addressing lint issues, enhancing code coverage, and improving code quality; identifying and resolving code smells and technical debt through automated static code analysis; and designing and developing custom Android UI components using Jetpack Compose, XML and other modern Android UI frameworks.
Job Location: 3223 Hanover St, Palo Alto, CA 94304.
Full-Time. Salary: $163,500 - $185,000 per year.