Manager Software Engineering ( Clearing and Post Trade - Risk Systems Team )
CME Technology and Support Services is relentlessly focused on developing the worlds most advanced electronic trading, post trade processing and risk management systems. We are the world's leading and most diverse derivatives market place providing risk management solutions that help drive the global economy. Our customers include leading investment and commercial banks, hedge funds, proprietary trading firms, pension funds, sovereign wealth funds, asset managers, corporations, and individual traders.
There has never been a more exciting time to join us. CME Group have recently entered a long-term strategic partnership with Google Cloud that will transform global derivatives markets by migrating our technology infrastructure to Google Cloud Platform (GCP) with the goal of becoming a fully cloud based company. Staff will have opportunity to become GCP certified.
The selected candidate will join the CME Markets Technology team in Belfast as a Manager of Software Engineering, initially leading a development team in the Risk Systems department . The Manager of Software Engineering role is responsible for leading a team that drives and executes the strategy for technology advances in CME's risk systems platform. This individual is responsible for leading risk systems projects that must be performant and scalable to seamlessly facilitate the busiest trading days in the world economy with rock-solid reliability and integrity, all while undergoing rapid release cycles. Achieving these goals will require an understanding both the underlying technology and the development, testing, and deployment lifecycle of the applications.
The candidate must be able to solve problem creatively, communicate effectively, and possess the ability to lead others to achieve the critical mission of the team.
Internal mobility and flexibility are a key part to our agile approach to technology delivery. The successful candidate, throughout their career, will form a key part in driving our success across technology, and will find opportunities to work in a variety of projects and technologies, beyond their initial team and specialism.
- People Management: Manage the team to realize successful application and service delivery and support.
- Provide leadership and guidance to coach, motivate, and lead team members to their optimum performance levels and career development.
- Direct all day-to-day work activity across the team to achieve successful execution and delivery.
- Complete all performance management activities for reports as required throughout the year, and by the deadlines.
- Set appropriate objectives for individuals in the team based on level, job functions and team goals. Continuously review objectives to ensure they remain relevant and achievable.
- Ensure teams complete all mandatory training before all required deadlines.
- Assess development gaps across the team and prioritise appropriate training.
- Continuously assess and mentor team members, providing ongoing feedback on performance.
- Monitor team performance, and re-mediate potential performance or disciplinary issues. Escalate to and assist upper management with potential issues as required.
- Execution & Delivery: Take ownership and responsibility for the successful delivery of all required software requirements, both functional and non-functional for systems in your portfolio.
- Take responsibility for the successful delivery or software releases for applications and services in your portfolio.
- Work together with the Product Owner/Manager and the Architecture team, to plan and execute projects, ensure that teams have appropriate product and technical specifications, direction, and resources to deliver releases effectively by establishing realistic estimates for timelines while ensuring that projects remain on target to meet deadlines.
- Work closely with the Product Owner, Product Manager, Architects, Sales, and Business Analysts, for understanding the system's functional and non-functional requirements.
- Evolve the existing software system applications and architecture in various areas as needed.
- Work with colleagues in other teams, to deliver quality software releases, ensuring knowledge transfer, handover and understanding of the release across all impacted teams, including client facing support.
- Implement an agile SDLC that allows for frequent development iterations.
- Coordinate release and sprint planning.
- Conduct daily scrum meetings.
- Complete risk based code reviews.
- Complete an application security risk assessment on each release. Consider application security during the design and development phase.
- Utilize available static and dynamic code scanning tools (Sonar, Coveri ty, Fortify, WIO, NTO, Black Duck etc.) to assist in measuring and reducing security issues , and technical debt
- Ensure governance compliance with each software release.
- Promote application security issues and ensure they are resolved within the agreed resolution targets. Where targets cannot be met, ensure appropriate exemptions are applied for and updated.
- Ensure all minimum versions and patches are deployed as part of the planned software release cycle.
- Implement all governance requirements for Software Development.
- Help reports to resolve technical problems.
- Consider technical debt and continuous improvement through-out software development.
- Maintain and develop metrics for measuring technical debt that can be reported to upper management.
- Develop an ethos of improving the code as it's developed. Leave code in a better condition that it was found.
- Planning and Forecasting: Work with colleagues to maintain a forward-looking plan for the systems in your portfolio, maintaining direction to achieve strategic goals.
- Collaborate with Product Management in defining the Product Vision.
- Maintain a rolling 12-month plan for all required releases and technical activity for the team.
- Raise all appropriate tickets for all application deployments, ensuring releases are planned inside the rules for change control.
- Provide input into and take ownership of budget forecasting for the application, working with the release manager to ensure forecasts are realistic and current.
- Ensure the team is measuring their time, and monitor actual vs forecast reports to identify forecasting or budgeting issues monthly.
- Support & Maintenance: Maintain your application as a service. Take responsibility and ownership of system issues to ensure service is restored to customers with minimal impact.
- Put the customer first, take ownership of and manage incidents and outages to a successful conclusion, whether ultimately it is an issue with an application in your portfolio, or not.
- Work with support teams to ensure all escalation lists and call-trees for support issues are kept up-to-date .
- Maintain a knowledge repository for system issues, ensuring sufficient follow-up on issues, to fix, prevent re-occurrence or improve logging/monitoring.
- Complete knowledge sharing with partner teams on issues, to improve issue management, and understanding across 1 st and 2 nd Level support teams.
- Provide explanations of, and monitor application outages and incidents, ensuring escalation of potential process issues to upper management.
- Ensure that all team members have appropriate expertise and resources to provide 3 rd Level Support for your portfolio of applications.
- Forward Thinking: Evolve applications in your portfolio through innovation.
- Consider how new technologies, innovations or process improvements, can ensure your application and the service to customers remains bleeding edge.
- Consider how CME can improve revenue through exploration of new business directions, such as implementing transactional cost or license models for tools, or through exploring tangential services or business models.
- Bachelor's degree (with honours) or equivalent/better strongly preferred, but substantial relevant experience could substitute
- Significant experience in leading technical teams, and providing technical oversight and direction to projects, either as a development lead, architect or development manager
- B uilding and leading high performing teams
- Experience in developing and automating solutions directly related to Continuous Integration/ Continuous Delivery and infrastructure automatio n
- Experience in the development of automated testing
- Experience in cloud infrastructure
- Experience coding in a story-driven, agile environment.
- Prior experience working in financial services/exchange space.
- Prior experience using Confluence, JIRA, or other Atlassian tools.
CME Group: Where Futures Are Made
CME Group (www.cmegroup.com) is the world's leading derivatives marketplace. But who we are goes deeper than that. Here, you can impact markets worldwide. Transform industries. And build a career shaping tomorrow. We invest in your success and you own it, all while working alongside a team of leading experts who inspire you in ways big and small. Problem solvers, difference makers, trailblazers. Those are our people. And we're looking for more.