Key Responsibilities
General
- Develop and maintain a deep and broad grasp of the business context within which Calastone operates to drive interpretation of the business strategy and the competitive and regulatory environment.
- Work with business stakeholders to shape business initiatives and requirements as early in the process as possible
- Stay abreast of new technology and process trends and propose changes for adoption to the Calastone Architecture Group
- Take ownership of specific initiatives in innovation or technical debt
- Review and develop strategies to improve or replace legacy parts of the system
- Maintain Calastone’s reputation for high-quality service support and delivery.
- Contribute to all aspects of general business improvement
- The development team provide out-of-hours on-call assistance to the operations team on a rota basis, typically once every 6-8 weeks. The role holder would be invited to join this rota once suitably skilled.
- Help informally coach and mentor less experienced members of the team to aid their development, and generally relay any experience or knowledge that may be beneficial to the team overall.
- Be in charge of direct line management of a small group of engineers in terms of:
- Mentoring
- Time management
- Personal development
- Wellbeing
Delivery
- Lead groups of engineers in the delivery of new software solutions for the Calastone business
- Define solutions in architectural and operational terms within the overall architectural and design principles in use at Calastone and defined by the Calastone Architecture Group and the Secure SDLC
- Help team members understand and respect agreed solutions and follow team processes and conventions
- Design, document and communicate system solutions ensuring a good balance of time, quality, cost and performance
- Develop proofs of concept to demonstrate new solution possibilities
- Develop software and software architectures in support of solutions
- Plan solutions implementation rollout and development across multiple iterations
- Make sure management understands solutions, tools and technology choices (to the appropriate level of detail)
- Recognize scalability and volume requirements of new solutions and engineer appropriate solutions
- Define necessary performance testing to prove solutions are fit for purpose
- Aid testers and support personnel as needed to determine system problems
- Lead and organise peer code reviews, daily scrum meetings, change analysis sessions and technical presentations.
Knowledge & Experience
You will need to demonstrate a deep and thorough understanding of:
Essential
- Knowledge of the mutual funds industry or related experience
- Object Orientation, SOA, and related design patterns.
- Modern software development practices: agile, version control, code reviews, continuous integration
- C# at a mature commercial level, and additionally either C# or Angular in a strong commercial setting
- Test Driven Development
- Experience of cloud frameworks, preferably Azure and the ability to design and develop for them
- Enterprise messaging systems (e.g NServiceBus/Azure Service Bus/RabbitMQ).
- SPAs and responsive web development using Angular and Bootstrap.
- XML, JSON, and related technologies (e.g. schemata and XSLT)
- Relational database concepts, Microsoft SQL Server and SQL.
- Experience with multi-threaded / high concurrency systems
Desirable
It would be to your advantage to have some level of experience in one or more of the following:
- Knowledge of mutual fund trading, settlement, reconciliation, lifecycle management and regulation within the context of the distributor/platform, Transfer Agent (TA), and fund/asset management industry.
- Knowledge of NoSQL
- Experience of .NET Core and related open source technologies
- Experience of Blockchain technology specifically Ethereum
- Containerisation (using e.g. Docker) and container orchestration (using e.g. Kubernetes)
- Knowledge of financial messaging protocols like Swift 15022, ISO/SWIFT 20022, and FIX
- Experience of leading an agile team in a strong commercial setting.
Person Specification
- Eager and proactive self-starter with a strong work ethic and the ability and desire to learn quickly
- Excellent written and verbal communication skills allowing conveying of complex concepts with both technical and non-technical colleagues
- Always exhibits the highest levels of professionalism, transparency and integrity and works within the aims of the Company Values
- Passionate about delivering elegant but pragmatic software
- Dedicated to understanding and delivering for customers and other stakeholders
- Team player in multi-disciplined environment
- Strong work ethic and entrepreneurial approach
- Ability to stay calm and focused under pressure and able to positively direct customers, colleagues and service partners when resolving service issues
- Passionate about quality and ‘getting it right’
- Willing to pursue a problem through to root cause identification then back to a full solution.
- Attention to detail
- Balanced individual able to critically appraise own strengths and weaknesses
- An example setter by deed as well as words
On-Call Requirement:
- The development team provide out-of-hours on-call support to the operations team on a rota basis, typically once every 3-4 weeks. The role holder would be invited to join this rota once suitably skilled.