Job DescriptionThe Impact you will have in this role:
Being a member of IT CSS WRAFT Delivery team, 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.
The Development family is responsible for creating, designing, deploying, and supporting applications, programs, and software solutions. May include research, new development, prototyping, modification, reuse, re-engineering, maintenance, or any other activities related to software products used internally or externally on product platforms supported by the firm. The software development process requires in-depth subject matter expertise in existing and emerging development methodologies, tools, and programming languages. Software Developers work closely with business partners and / or external clients in defining requirements and implementing solutions.
Your Primary Responsibilities:
- Design, develop, and maintain backend services primarily using Java and Python within a microservices-based architecture
- Act as a technical expert on one or more applications utilized by DTCC.
- Work with the Business System Analyst to ensure designs satisfy functional requirements.
- Partner with Infrastructure to identify and deploy optimal hosting environments.
- Tune application performance to eliminate and reduce issues.
- Research and evaluate technical solutions consistent with DTCC technology standards.
- Align risk and control processes into day-to-day responsibilities to monitor and mitigate risk; escalates appropriately
- Apply different software development methodologies dependent on project needs.
- Contribute expertise to the design of components or individual programs, and participate in the construction and functional testing
- Support development teams, testing, troubleshooting, and production support
- Create applications and construct unit test cases that ensure compliance with functional and non-functional requirements
- 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.
- Translate business requirements into software designs and implementations.
- Participate in thorough code reviews with a goal of illustrating quality engineering practices and to produce the highest quality code possible.
- Build high quality and scalable / performant applications.
- Understand requirements and translate them into specific Application and other EI tasks.
- Designs frameworks that promote concepts of isolation, extensibility, and reusability.
- Supports team in managing client expectations and resolving issues on time.
- Participate in agile ceremonies and engage with the team.
**NOTE: The Primary Responsibilities of this role are not limited to the details above. **Qualifications: - Bachelor's degree in technical discipline or related field
- 6+ years' experience in application development or system analysis
Talents Needed for Success: - 6+ years of hands-on software development experience with a strong primary focus on Java and Python, building scalable backend applications
- Deep expertise in Java, including Spring Boot, Java EE, REST APIs, JMS, and enterprise design patterns
- Strong experience in Python, including development of production-grade applications or frameworks using extensive Python libraries (beyond scripting)
- Experience developing Java- and Python-based microservices using layered architectures (SOA / MVC)
- Experience with Apache Kafka (or Confluent Kafka), including Kafka APIs and tooling (Kafka Connect, KStreams, KSQL)
- Experience deploying and operating applications in containerized environments using Docker and Kubernetes
- Experience with on-prem (OpenShift) and cloud environments (AWS preferred)
- Strong experience with CI/CD tools including Git, Bitbucket, Maven, Jenkins, and Jira
- Solid focus on software quality with hands-on testing experience using JUnit and Mockito
- Familiarity with Windows and Linux environments
- Proficiency across the full Software Development Life Cycle (SDLC)
- Experience working in Agile, Scrum, or Kanban environments
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.