Application Engineering - Senior Developer
- Full time
- London, Greater London, United Kingdom
- Development
Summary
In details, the position encompasses duties and responsibilities as follows:
Glencore's Information Technology group develops and supports a range of IT applications and infrastructure to meet the needs of a fast moving, international commodity trading business. The London-based team is focused primarily on energy trading (oil and gas) and supports business users across a number of offices globally. The team covers activities across the IT lifecycle including architecture; project management; business analysis; software design, development and support; infrastructure design; and vendor management. Glencore uses a wide range of modern IT technologies in London and its other offices and also uses a number of leading commercial applications, providing a diverse set of opportunities and challenges.
Glencore is actively growing its use of modern-web technologies within the IT department. This role will suit an experienced and very ‘hands-on’ Microsoft full-stack analyst/developer with a broad, yet modern skill set and a proven track-record. Knowledge and experience of the commodity or financial trading sectors would be advantageous to the role.
The ideal candidate disposes of:
- Design, development, and deployment of high-performance, scalable, and maintainable applications.
- Collaborate with product owners and stakeholders to gather requirements and translate them into technical solutions.
- Efficiently manage context switching between multiple products, ensuring focus and productivity across diverse tasks and projects.
- Architect, design, and implement microservices-based solutions using C#, .NET Core & .NET
- Develop data access solutions using Entity Framework Core.
- Apply design patterns (Factory, Singleton, Repository, etc.) to solve software design problems effectively.
- Optimize database performance and ensure efficient data access using SQL Server.
- Leverage Azure services, including AKS, App Service, and Azure Functions, to build cloud-native applications.
- Manage containerized applications using Docker and orchestrate with Kubernetes.
- Implement and maintain event-driven architectures using Azure Service Bus, Azure Event Grid, or similar tools.
- Design, develop, and maintain RESTful APIs for secure and scalable communication between services, integrating with Swagger/OpenAPI for documentation and OAuth2.0/OpenID connect for security.
- Conduct code reviews and provide technical mentorship to junior developers.
- Ensure adherence to Agile methodologies (Scrum/Kanban) and provide regular status updates on progress.
Skills:
- Proficiency in C# and .NET Core: Minimum 10 years of experience.
- Strong experience with SQL Server for database design, development, and optimization.
- Expertise in Entity Framework and Entity Framework Core for ORM and data access.
- Hands-on experience with Azure services (AKS, App Service, Azure Functions, Azure DevOps).
- Proficiency in designing and developing microservices architecture, with experience in Docker and Kubernetes for containerization and orchestration.
- In-depth knowledge of design patterns for scalable and maintainable code architecture.
- Excellent understanding of data structures and algorithms with practical application experience.
- Experience in RESTful API design, with knowledge of Swagger/OpenAPI, OAuth2.0, and JWT for API security.
- Familiarity with CI/CD pipelines, automated testing frameworks (e.g., xUnit, NUnit), and version control systems (Git, GitFlow).
- Strong context switching ability, with the capacity to manage multiple products and shift focus between tasks efficiently.
Additional Skills:
- Familiarity with nHibernate and OData for advanced data access techniques.
- Experience with Test-Driven Development (TDD) methodologies.
- Understanding of Zeebe (workflow engine) and SignalR (real-time web functionality).
- Proficiency in PowerShell for scripting and automation tasks.
- Familiarity with identity management systems such as Keycloak and Azure AD for authentication and authorization.
EDUCATION & EXPERIENCE REQUIREMENTS
- Sound experience of designing and developing applications both individually and as part of a team
- Knowledge of a commodity or financial trading environment useful but not a pre-requisite
- Problem solving skills and the ability to develop innovative solutions to technical problems
- Experience of working in an Agile/Scrum team environment
- Educated to Degree-level (or equivalent), as a minimum requirement