Software Engineer [Multiple Positions Available]
JPMorgan Chase
- Location
- Plano, TX, United States
- Work model
- On-Site
- Level
- Mid
- H-1B history
- 1,524 approvals (FY2023)
- Posted
- 15h ago
Skills
About this role
Duties
Design, develop, and implement software solutions. Participate in all phases of the Software Development Lifecycle (SDLC), including analyzing requirements, creating design specifications, documenting technical details, and translating requirements into application modules. Develop and enhance software components, troubleshoot code issues, and ensure alignment with architectural standards through code and design reviews. Collaborate with cross-functional teams to analyze business requirements, plan projects, and deliver features. Mentor junior team members, provide technical guidance, and make architectural decisions. Ensure code quality through testing and continuous integration, optimize performance, and resolve technical issues. Participate in technical planning, estimation, and documentation.
QUALIFICATIONS
Minimum education and experience required: Bachelor's in Engineering (Any), Computer Science, Computer Information Systems, or related field of study plus 5 years of experience in the job offered or as Software Engineer, IT Consultant, or related occupation. The employer will alternatively accept a Master's in Engineering (Any), Computer Science, Computer Information Systems, or related field of study plus 3 years of experience in the job offered or as Software Engineer, IT Consultant, or related occupation.
Skills
Required: This position requires three (3) years of experience with the following: Architecting and building Android applications using Kotlin and Coroutines for asynchronous programming and background task management; Implementing reactive programming paradigms in Android applications using RxJava to manage data streams and event-driven workflows; Developing cross-platform mobile applications using Dart and Flutter to design responsive user interfaces and integrate platform-specific features; Improving code maintainability using code quality and static analysis tools such as Sonar to configure rulesets and interpret analysis reports for Android application development; Applying MVVM and MVI architecture design patterns in Android development using ViewModels, LiveData, and data binding to ensure scalable and maintainable codebases; Implementing dependency injection protocols in Android development using Dagger, Hilt, or Koin to design modular architectures and manage object lifecycles for scalable applications; Integrating networking protocols in Android applications using Retrofit, OkHttp, or WebSockets to design RESTful APIs, handle real-time data communication, and optimize network performance; Managing source control, configuring build pipelines, and integrating web services using development tools and protocols such as XML, REST, SOAP, JSON, Git, SVN, Bitbucket, Jenkins, or Gradle in Android projects; Integrating Firebase, Google Play Services, Google Crash Reports, Room, and DataStore into Android applications to implement analytics, crash reporting, and local data storage solutions; Working within Agile methodologies using Waterfall and Hybrid models to manage software development lifecycles, facilitate team collaboration, and deliver mobile applications; Developing and utilizing mock services and SQL databases in Android applications to simulate backend responses and manage structured data for testing and production environments; Designing ADA-compliant user interfaces and implementing behavioral analytics in mobile applications to ensure accessibility standards and analyze user interaction data. This position requires two (2) years of experience with the following: Designing and developing Android mobile applications using Java and integrating backend services and APIs with J2EE frameworks; Integrating web-based components and hybrid features into mobile applications using JQuery and JavaScript to troubleshoot compatibility and performance issue; Building native Android user interfaces using Jetpack Compose and XML to create custom UI components and optimize layouts for performance;