Software Developer - Distributed Scheduling & Workload Orch

CGG SA
Crawley, United Kingdom
2 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English

Job location

Crawley, United Kingdom

Tech stack

API
C++
Distributed Systems
Job Scheduling
PostgreSQL
Software Engineering
Backend
Slurm
Go
Microservices

Job description

focuses on building reliable scheduling and orchestration systems that manage resources efficiently across complex environments. Key Responsibilities - Scheduling & OrchestrationDesign and develop systems for job scheduling and workload orchestration.Integrate and extend scheduling capabilities using tools such as Slurm.Manage job lifecycles, resource allocation, and execution workflows.- Backend & Data SystemsDesign and build APIs and backend services supporting scheduling systems.Work with PostgreSQL to manage system state and coordination.- Performance & ReliabilityAnalyse and improve system performance, scalability, and reliability.Ensure efficient resource utilisation across distributed environments.- Architecture & CollaborationParticipate in system design and architecture discussions.Work with cross-functional teams to evolve scheduling and orchestration capabilities.QualificationsRequiredStrong software development experience.Proven experience building backend services or

Requirements

distributed systems.Experience with job scheduling, orchestration systems, or resource management concepts.Strong understanding of distributed systems concepts such as coordination, consistency, and fault tolerance.Experience working with PostgreSQL.Experience designing APIs and backend services.Familiarity with containerised environments and microservices architectures.Strong problem-solving and analytical skills.PreferredExperience with Slurm or similar workload managers.Experience in HPC or large-scale compute environments.Experience with Golang or Java.Familiarity with C/C++ and performance-critical systems.Experience providing technical or project leadership.Why work with us?Competitive salary commensurate with experienceHighly attractive bonus schemeInitial 22 days annual leave with future increases, complemented by a flexible buying and selling holiday programCompany pension with generous employer contributionWellbeing Unmind app - puts you in control of your mental healthA

Benefits & conditions

flexible benefits platform with numerous discount schemes - gym membership, restaurants, cinema tickets, and much more!Regular social club events, spontaneous reward events throughout the yearCycle purchase schemeFlexible Private Medical & Dental care programmesSponsorship of visas/comprehensive relocation packagesBank Holiday Swap - our holiday swap program allows you to change it for another day of your choice!Relaxed dress code policyLearning and Development At Viridien, we foster a culture of continuous learning and provide tailored training programs through our Learning Hub, designed to enhance technical, commercial, and personal growth. We Care About The Environment We encourage and actively support a strong sense of community, through volunteering and various company initiatives, as well as a strong company commitment to protecting our environment through sustainable solutions, energy saving and waste reduction enterprises.We see things differently. Diversity fuels our innovation, we value the unique ways in which we differ, and we are committed to equal employment opportunities for all professionals.

About the company

Viridien (www.viridiengroup.com) is an advanced technology, digital and Earth data company that pushes the boundaries of science for a more prosperous and sustainable future. With our ingenuity, drive and deep curiosity we discover new insights, innovations, and solutions that efficiently and responsibly resolve complex natural resource, digital, energy transition and infrastructure challenges. Job DetailsViridien is seeking a Software Developer - Distributed Scheduling & Workload Orchestration to design, build, and improve systems responsible for job scheduling, resource allocation, and workload orchestration across distributed environments.This role focuses on building scalable and reliable systems that coordinate workloads across clusters, using technologies such as Slurm, Golang, Java, PostgreSQL, and containerised microservices. About The TeamYou will join a team working on distributed systems and infrastructure that support large-scale compute and workload execution.The team

Apply for this position