Software Developer

"I developed a server that locks the resources so that other programmes or clients cannot access it simultaneously."

BSc in Computers and Communications Engineering, Islamic University of Lebanon; MSc in Networks and Security, University of Kent.

I’ve always been interested in computer and telecommunications technologies, which is why I studied Computer and Communications Engineering for my undergrad degree, and then went on to complete an MSc in Networks and Security at the University of Kent. I have a wide variety of interests in different fields, and I decided to pursue a career in DevOps, which is also known as software infrastructure engineering or site reliability engineering.

I started with CGG in January 2019 as a software developer in the Apps & Infrastructure team. The tasks of the team include development, management and support of software libraries, systems, scripts, databases, etc. Basically all low level software that provides an interface between the actual physical data and software developers is our responsibility. We develop APIs that helps them access the data easily and efficiently, scripts that allow them to run their software smoothly and tools that automate repeated tasks.

For example, geophysicists run jobs to process vast amounts of data. Those jobs, which are a collection of software programmes, often require huge system resources. In some cases, a job may fail due to limited memory or due to multiple jobs running on the same machine and the solution is usually simply restarting the job. We developed a system that can detect those failures, notify us that a job failed, and then automatically rerun the job without any manual intervention. This saves the geophysicists a lot of time and irritation; and it saves us time as well since we don’t need to debug failures that correspond to temporarily limited resources.

Another example that I’m working on right now, is a distributed resource locking service. Sometimes we get different programmes trying to access and modify the same data at the same time, which causes conflicts, failures and data corruption. I developed a server that locks the resources so that other programmes or clients cannot access it simultaneously. For instance, a client sends a request to the server to lock a file, but if the file was already locked by another client, the server keeps the client waiting until the other client finishes and unlocks the file. This service allowed developers to synchronise programmes running on different machines at the same time.

Employee Profiles

Melanie - Imaging Geophysicist

"The best thing about working at CGG is the collaborative working environment and..."

James - Imaging Scientist Intern & Campus Ambassador

"Throughout the internship I found the work to be both stimulating and challenging, and..."

Jonathon - Petroleum Geologist

""Since joining CGG I’ve enjoyed working on a diverse array of projects with a friendly..."

Mar - Project Geoscientist

"Since I joined the company one year ago, I have had the opportunity to work on..."

Sharon - Web Developer & Campus Ambassador

"I learned a lot from my manager and from the experience of working at a company like..."

Federico - Imaging Geophysicist Team Leader

"After seven years, I’m still part of this company and I keep enjoying every day in the..."
Meet more of our employees »

The App

Download it and follow us.
You'll be the first to know.

Watch our videos

View our blogs

Read more of our blogs »