Epicareer Might not Working Properly
Learn More

Software Engineer

Salary undisclosed

Apply on


Original
Simplified

We are seeking a skilled Software Engineer responsible for designing, developing, and delivering production-quality software for the DDH platform. In this role, you will play a key part in ensuring the reliability of our production systems and troubleshooting any issues that may arise to support the company's business operations effectively.

As Software Engineer, you will:

  • Participate in the evolution and maintenance of our DDH platform.
  • Develop new features and troubleshoot issues in a decentralized, microservices-based architecture, encompassing data integration services, APIs for both end-users and IT systems, real-time data processors, and web applications.
  • Develop, maintain, and upgrade tools to ensure optimal observability across the platform, including user interfaces, analytics, and reporting systems.
  • Actively participate in Level 2 production support. Ensure timely response and resolution of critical incidents affecting system availability.
  • Exhibit a strong engineering focus and a commitment to quality delivery, while navigating time constraints, risks, and costs in our fast-paced, results-driven trading environment.
  • Design purpose-driven technical architectures, owning the system architecture and technology selection to deliver solutions that meet business needs. Ensure adherence to architectural designs throughout the development process.
  • Implement robust systems using modern software engineering techniques, emphasising automation to enhance efficiency, maintain quality, and boost productivity, including automated testing, continuous integration, and automated deployment.
  • Foster close collaboration with IT stakeholders to align with the overarching IT strategy, encompassing business architecture, infrastructure architecture, and technology.
  • Partner with the IT Operations/Infrastructure team to deploy solutions into company IT infrastructure sustainably, considering scalability, security, and performance to ensure efficient integration with existing systems and infrastructure.
  • Promote knowledge continuity by liaising closely with other IT stakeholders. Create comprehensive documentation detailing system configurations, processes, and troubleshooting guidelines.

Key Qualifications and Experience

As a Software Engineer, you must have the following experience:

  • Demonstrated experience in maintaining and supporting production systems.
  • Proficiency in the .NET ecosystem, demonstrating in-depth expertise in:

o Event-driven architecture and data processing, utilizing frameworks such as Azure Event Hubs or Apache Kafka.

o Advanced debugging and troubleshooting skills within the .NET environment, including performance optimization and monitoring.

  • In-depth understanding of microservices-based systems, including designing, deploying and managing distributed, scalable services.
  • Experience in investigating, troubleshooting and developing API systems, including both REST and GRPC. Familiarity with industry-standard tools commonly used for API development, such as Postman.
  • Experience with both relational and document-based databases, with strong SQL expertise; experience with Cosmos DB is highly preferred.
  • Familiarity with cloud PaaS and IaaS (Microsoft Azure preferred).

In addition, the following qualifications will be a significant advantage:

  • Experience in developing containerized microservice architectures using technologies like Docker and Kubernetes.
  • Familiarity with GraphQL.
  • Familiarity with Python or willing to learn.
  • Familiarity with a range of software development tools, such as source code management (e.g. Azure DevOps, Git), build and release management (e.g. Azure DevOps Pipelines) and test automation (e.g. unit testing tools, BDD tools like Cucumber/Gherkin).
  • Experience working on multiple projects as a Software Engineer within a multi-disciplinary team, being proactive in taking ownership your deliverables, while collaborating across the team, following the direction set by technical and delivery leads.
  • Some familiarity with the mechanics of financial markets, preferably with a focus on commodities, ideally through direct experience in building software within an energy commodity trading organisation.