Job DescriptionThe Impact you will have in this role:The Systems Engineering family is responsible for the entire technical effort to evolve and verify solutions that satisfy client needs. The primary focus is centered on reducing risk and improving the efficiency, performance, stability, security, and quality of all systems and platforms. The Systems Engineering role specializes in the analysis, evaluation, design, testing, implementation, support, and debugging of all middleware, mainframe, and distributed platforms, tools, and systems of the firm.
Primary Responsibilities: - Contribute to the modernization of complex legacy applications and platforms, including systems that have supported critical business processes for many years.
- Design, develop, test, and implement components that support the organization's application and systems modernization strategy.
- Work with Product Owners, business users, subject matter experts, senior engineers, and architects to understand requirements and translate them into scalable, reliable, and maintainable technical solutions.
- Develop high-quality software using Java, Spring Boot, REST APIs, messaging technologies, and modern engineering practices.
- Follow software engineering best practices including automated unit and integration testing, peer code reviews, static code analysis, secure coding, and Agile/DevOps practices.
- Participate in the modernization of applications toward API-driven, event-driven, microservices, containerized, and cloud-ready architectures where appropriate.
- Collaborate with QA and testing teams to investigate defects, perform root-cause analysis, and remediate issues before production deployment.
- Support application deployments and provide post-production implementation and ongoing application support, including troubleshooting and resolution of technical issues.
- Identify opportunities to improve engineering efficiency through automation, reusable frameworks, scripting, CI/CD, and improved development processes.
- Apply established security, risk-management, change-management, and software-development standards throughout the development lifecycle.
- Proactively identify technical issues and propose practical solutions that improve system reliability, maintainability, performance, and developer productivity.
- Participate actively in Agile ceremonies including planning, refinement, estimation, retrospectives, and technical design discussions.
Qualifications: - Minimum of 6 years of related experience
- Bachelor's degree preferred or equivalent experience
Talents Needed for Success: - 5+ years of relevant software engineering or systems development experience, with demonstrated experience delivering production applications.
- Bachelor's degree in Computer Science, Engineering, Information Technology, or a related technical discipline, or equivalent relevant experience.
- Strong hands-on development experience with Java and the Spring ecosystem, particularly Java, Spring Boot, Spring Core, Spring MVC, Spring JDBC, and Spring Security.
- Experience developing and consuming RESTful APIs and a solid understanding of API design principles.
- Experience with relational databases such as Oracle, DB2, PostgreSQL, or similar technologies, including SQL and database integration.
- Experience with automated testing frameworks such as JUnit and Mockito, with an understanding of unit, integration, and regression testing.
- Good understanding of microservices and distributed application architectures.
- Experience with source control and modern software development practices, particularly Git-based development, code reviews, branching strategies, and automated builds.
- Working knowledge of CI/CD practices and tools such as Maven, Jenkins, Nexus, and Fortify.
- Familiarity with Docker and Kubernetes/OpenShift and the principles of containerized application deployment.
- Working knowledge of messaging and event-driven technologies such as Apache Kafka and IBM MQ.
- Understanding of secure coding practices, vulnerability remediation, authentication/authorization concepts, and application-security tooling.
- Experience troubleshooting applications across Linux environments, application servers, databases, APIs, messaging infrastructure, and distributed systems.
- Strong analytical and problem-solving skills with the ability to independently investigate technical issues.
- Strong written and verbal communication skills and the ability to collaborate effectively with geographically distributed engineering, business, QA, and operations teams.
- Experience modernizing or re-engineering legacy enterprise applications.
- Experience with cloud platforms such as AWS, Azure, or GCP.
- Familiarity with AWS services such as EC2, S3, Lambda, IAM, CloudWatch, or equivalent cloud services.
- Experience with OpenShift/Kubernetes, including deployments, services, configuration, application health, and troubleshooting.
- Experience with application servers such as Tomcat, WebSphere, or JBoss.
- Familiarity with UI technologies such as Angular, JavaScript, HTML, and CSS.
- Familiarity with AI-assisted software development tools, such as Amazon Q Developer or similar developer productivity tools.
- Experience working with applications that require high availability, resiliency, operational stability, and controlled production change management.
The salary range is indicative for roles at the same level within DTCC across all US locations. Actual salary is determined based on the role, location, individual experience, skills, and other considerations.
Learn more about Clearance and Settlement by clicking here.
About the TeamServes as a dedicated technology resource for advancing DTCC's business opportunities and providing industry thought leadership for leveraging new technology. The goal of this new department is to partner internally with IT, our business and regulatory divisions and externally with clients, regulators, and fintech vendors, to help build new platforms and business models to advance DTCC's mission to support the financial markets.