Principal Software Engineer/Developer

Fidelity InvestmentsDurham, NC
Onsite

About The Position

Develops and enhances Android applications using Kotlin and modern frameworks. Improves multi-module components with open-source libraries including Retrofit and Android Jetpack. Establishes engineering standards and best practices, using design patterns and toolkits (Coroutines and Jetpack Compose). Delivers resilient, future-ready User Interfaces (UIs) through principles including trunk-based development and feature toggles. Builds Continuous Integration and Continuous Deployment (CI/CD) automation pipelines to streamline delivery. Uses business knowledge to translate the vision for divisional initiatives into business solutions by developing complex or multiple software applications and conducting studies of alternatives. Analyzes and recommends changes in project development policies, procedures, standards, and strategies to development experts and management.

Requirements

  • Bachelor’s degree in Computer Science, Engineering, Information Technology, Information Systems, or a closely related field (or foreign education equivalent) and five (5) years of experience as Principal Software Engineer/Developer (or closely related occupation) developing and deploying Android applications in a financial services environment, using Android Studio, Jetpack compose, Kotlin, Jenkins, and Git.
  • Master’s degree in Computer Science, Engineering, Information Technology, Information Systems, or a closely related field (or foreign education equivalent) and three (3) years of experience as a Principal Software Engineer/Developer (or closely related occupation) developing and deploying Android applications in a financial services environment, using Android Studio, Jetpack compose, Kotlin, Jenkins, and Git.
  • Demonstrated Expertise (“DE”) performing hybrid mobile application development and unit testing (in a Monorepo structure) within a financial services environment, using programming languages (Typescript, Java, and Kotlin).
  • DE integrating native code for Android (Java and Kotlin) when needed for platform-specific features; and creating reusable, maintainable, and testable code components that can be shared across platforms without duplication, using Capacitor.
  • DE working with state management solutions (NgRx – actions, effects, reducers, selectors, and providers) across platforms to ensure efficient data flow and to maintain application consistency; and structuring the application with modular, scalable architecture patterns (Model-View-Controller (MVC) and Model-View-View Model (MVVM)) that can be maintained and extended.
  • DE building CI/CD pipelines for mobile applications using GitHub Actions and Jenkins; performing automated testing, building, and deployment for Android using CI/CD pipelines; and automating application release processes for the Google Play Store.

Responsibilities

  • Builds and supports stable, robust, and resilient mobile applications to improve online experiences for customers.
  • Augments accessible mobile experiences through Android’s Accessibility features.
  • Engages in code reviews, pull requests, and pair programming with other Android developers.
  • Analyzes information to determine, recommend, and plan installation of a new system or modification of an existing system.
  • Analyzes information to determine, recommend, and plan computer software specifications on major projects and proposing modifications and improvements based on user need.
  • Develops software system testing and validation procedures, programming, and documentation.
  • Participates in architecture design teams.
  • Defines and implements application-level architecture.
  • Develops applications on complex projects, components, and subsystems for the division.
  • Recommends development testing tools and methodologies and reviews and validates test plans.
  • Responsible for QA readiness of software deliverables.
  • Develops comprehensive documentation for multiple applications or subsystems.
  • Establishes full project life cycle plans for complex projects across multiple platforms.
  • Responsible for meeting project goals on-time and on-budget.
  • Advises on risk assessment and risk management strategies for projects.
  • Plans and coordinates complex project schedules and assignments for multiple projects.
  • Acts as a primary liaison for business units to resolve various project/technology issues.
  • Provides technology solutions to daily issues and technical evaluation estimates on technology initiatives.
  • Advises senior management on technical strategy.
  • Mentors junior team members.
  • Performs independent and complex technical and functional analysis for multiple projects supporting several divisional initiatives.
  • Develops original and creative technical solutions to on-going development efforts.
© 2026 Teal Labs, Inc
Privacy PolicyTerms of Service