The Software Engineering role specializes in planning, documenting technical requirements, designing, developing, and testing all software systems and applications for the firm. Works closely with architects, product managers, project management, and end-users in the development and enhancement of existing software systems and applications, proposing and recommending solutions that solve complex business problems.
Your Primary Responsibilities
Develop applications in compliance with functional and non-functional requirements
Construct unit test cases that ensure compliance with functional and non-functional requirements
Follow design and code standards, contributing to continuous improvement discussions
Create and maintain system documentation
Align risk and control processes into day to day responsibilities to monitor and mitigate risk; escalates appropriately
Contribute to the design of components or individual programs
Provide production support for applications as needed
Work with subject matter experts reviewing technical designs and specifications
Apply different software development methodologies dependent on project needs
Work with peers to mature ways of working, continuous integration, and continuous delivery
Aligns risk and control processes into day to day responsibilities to monitor and mitigate risk; escalates appropriately
Qualifications
Minimum of 4 years of related experience
Bachelor's degree preferred or equivalent experience
Talents Needed for Success
Full-stack development
Strong experience building enterprise web applications
Ability to work across UI, service/API, and backend layers
Java / Java enterprise development
Java and Spring / Spring Boot
RESTful services and API development
Experience modernizing traditional Java/J2EE applications is particularly valuable
Modern front-end development
React
JavaScript / TypeScript
HTML5, CSS, responsive UI development
Experience transitioning legacy UIs to modern component-based architectures
Containers & application modernization
Docker / containerized application development
Kubernetes or OpenShift/OCP
Experience decomposing or replatforming legacy applications into modern architectures
Understanding stateless application design, configuration management, and container best practices
Legacy / WebSphere experience
IBM WebSphere Application Server
Java EE / J2EE
Ability to understand existing legacy systems and incrementally modernize them without disrupting business functionality
DevSecOps / CI-CD
Git
Jenkins or equivalent CI/CD tooling
Automated build, testing, and deployment pipelines
Experience with code-quality and application-security tooling such as SonarQube, Veracode, and Apiiro
Application security
Secure coding practices
OWASP vulnerabilities and remediation
SAST / DAST / software composition analysis
API security, authentication, authorization, and secrets management
A mindset of building security into the application rather than addressing it only at release time
Resiliency & production engineering
Designing highly available and fault-tolerant applications
Logging, monitoring, alerting, and observability
Health checks, graceful failure, retry patterns, timeouts, and circuit breakers
Performance troubleshooting and root-cause analysis
Experience improving production stability and operational supportability
Data & integration
SQL and relational databases, particularly DB2 or Oracle if applicable
REST APIs
Messaging/event-driven integration experience
Understanding of transaction processing is a plus for the Mutual Funds environment
Actual salary is determined based on the role, location, individual experience, skills, and other considerations. We are an equal opportunity employer and value diversity at our company. We do not discriminate on the basis of race, religion, color, national origin, sex, gender, gender expression, sexual orientation, age, marital status, veteran status, or disability status. We will ensure that individuals with disabilities are provided reasonable accommodation to participate in the job application or interview process, to perform essential job functions, and to receive other benefits and privileges of employment. Please contact us to request accommodation.