Principal Software Engineer
Role details
Job location
Tech stack
Job description
Being a member of IT CSS Equities Deliery team, the Principal Software Engineer 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. 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:
- Act as a technical expert on one or more applications used 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
- 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 supervise and mitigate risk; calls out concerns appropriately
- Mentor/Coach Junior developers in code development and production support
- Build application knowledge along with system knowledge to contribute effectively in development
- Reverse Engineer to troubleshoot or develop new enhancements
Requirements
- Minimum of 10 years of related experience
- Bachelor's degree and/or equivalent experience
Talents Needed for Success:
- Software Development: Full stack developer having the hands-on experience in developing applications using Java, JavaScript, Spring/Spring Boot, REST APIs, and SQL.
- Database Expertise: Strong proficiency in PL/SQL with experience in Snowflake and PostgreSQL.
- CI/CD & DevOps Tools: Demonstrated experience with Git, Bitbucket, Maven, Jenkins, and Jira.
- Development Environments: Skilled in using IntelliJ IDEA and Eclipse IDEs.
- Middleware: Proven capability working with Tomcat application servers.
- Cloud Technologies: Working knowledge of AWS services including S3, SQS, EC2, KMS, and RDS.
- Testing Frameworks: Strong focus on software testing using JUnit and Mockito.
- Front-End & Scripting: Experience with Angular or other UI frameworks; familiarity with Python and Shell scripting is a plus.
- SDLC Experience: Involved in various phases of the System Development Life Cycle including planning, analysis, design, development, and testing.
- Agile Methodology: Well-versed in Agile development practices.
- Highlights the expected benefits of new actions and strategies to help others overcome fears of change.
- Fosters a culture where honesty and transparency are expected.
- Proactively seeks feedback from others on his/her own performance; Ensures that regular feedback is given in a constructive and behaviorally oriented manner.
- Supports an environment where individuals are respected for their contributions.
- Acts as a role model for respect and inclusion by showing consideration for people's different needs; Integrates people of different backgrounds within and across teams; Encourages others in the department to gain a deeper appreciation for different customs and beliefs.
Benefits & conditions
- Competitive compensation, including base pay and annual incentive
- Comprehensive health and life insurance and well-being benefits, based on location
- Pension / Retirement benefits
- Paid Time Off and Personal/Family Care, and other leaves of absence when needed to support your physical, financial, and emotional well-being.
- DTCC offers a flexible/hybrid model of 3 days onsite and 2 days remote (onsite Tuesdays, Wednesdays and a third day unique to each team or employee).