Network Automation Software Developer
Join CERN's IT network engineering team to enhance and streamline network software tools.
Overview
Join CERN's IT network engineering team to enhance and streamline network software tools.
You have:
- Good software development skills in Python, applying object-oriented design patterns
- Experience with relational databases (SQL)
- Familiarity with software versioning tools (git)
- Familiarity with software quality assurance tools (pytest, CI/CD pipelines)
- Experience with object relational mapping frameworks (e.g. SQLAlchemy)
- XML and/or JSON handling and Python libraries
- NETCONF and YANG and their Python libraries (ncclient and pyang)
- Basic understanding of networking technologies (TCP/IP, switching, routing protocols, etc.)
- Spoken and written English, with a commitment to learn the basics of French
- You are a national of a CERN Member or Associate Member State
- Maximum of two years of professional experience since graduation in Software engineering and IT (or a related field)
- Highest educational qualification is either a Bachelor's or Master's degree
- Applicants without University degree are not eligible
- Applicants with a PhD are not eligible
Contract
This is a Entry Level contract. More about Entry Level contracts.
Job Description
Your responsibilities
Are you passionate about network automation and cutting-edge technologies? Join CERN's IT network engineering team to enhance and streamline the software tools that automate the management and operation of CERN's extensive network infrastructure (some 200 high capacity routers and 4000 switches supporting various workloads ranging from campus users to multi-terabit data acquisition systems for LHC's experiments, high-speed data centre interconnects and dedicated connections to external sites). As a software engineer you will join the team that develops software to enable new features and services on the network infrastructure. You will have the opportunity to work with open-source tools (Linux operating system and Python based network management tools like NAPALM and Capirca) and state-of-the art model driven network configuration management (based on NETCONF and YANG).
Your profile
Required skills:
- Good software development skills in Python, applying object-oriented design patterns
- Experience with relational databases (SQL)
- Familiarity with software versioning tools (git)
Desirable skills (training will be provided where necessary):
- Familiarity with software quality assurance tools (pytest, CI/CD pipelines)
- Experience with object relational mapping frameworks (e.g. SQLAlchemy)
- XML and/or JSON handling and Python libraries
- NETCONF and YANG and their Python libraries (ncclient and pyang)
- Basic understanding of networking technologies (TCP/IP, switching, routing protocols, etc.)
- Spoken and written English, with a commitment to learn the basics of French.
Eligibility criteria:
- You are a national of a CERN Member or Associate Member State.
- By the application deadline, you have a maximum of two years of professional experience since graduation in Software engineering and IT (or a related field) and your highest educational qualification is either a Bachelor's or Master's degree.
- You have never had a CERN fellow or graduate contract before.
- Applicants without University degree are not eligible.
- Applicants with a PhD are not eligible.
Additional Information
Job closing date: 22.04.2025 at 12:00 AM (midnight) CET.
Contract duration: 24 months, with a possible extension up to 36 months maximum.
Working hours: 40 hours per week
Target start date: 01-June-2025
Job reference: IT-CS-NE-2025-63-GRAE
Field of work: Software Engineering and IT
What we offer
- A monthly stipend ranging between 5196 and 5716 Swiss Francs (net of tax).
- Coverage by CERN's comprehensive health scheme (for yourself, your spouse and children), and membership of the CERN Pension Fund.
- Depending on your individual circumstances: installation grant; family, child and infant allowances; payment of travel expenses at the beginning and end of contract.
- 30 days of paid leave per year.
- On-the-job and formal training at CERN as well as in-house language courses for English and/or French.
About us
At CERN, the European Organization for Nuclear Research, physicists and engineers are probing the fundamental structure of the universe. Using the world's largest and most complex scientific instruments, they study the basic constituents of matter - fundamental particles that are made to collide together at close to the speed of light. The process gives physicists clues about how particles interact, and provides insights into the fundamental laws of nature. Find out more on http://home.cern.
Diversity has been an integral part of CERN's mission since its foundation and is an established value of the Organization. Employing a diverse workforce is central to our success.
Potential interview questions
| Can you explain your experience with Python and how it has prepared you for this role? | This assesses your technical skills and relevance to the job requirements. | Discuss specific projects or applications where you've used Python effectively. |
| Describe a situation where you utilized relational databases to solve a problem. | This question evaluates your experience with SQL and problem-solving skills. | Pro members can see the explanation. |
| How do you ensure the quality of your code when developing software? | Pro members can see the explanation. | Pro members can see the explanation. |
| What strategies do you use for version control in your projects? | Pro members can see the explanation. | Pro members can see the explanation. |
| How would you approach learning a new programming language or framework? | Pro members can see the explanation. | Pro members can see the explanation. |
| Can you give an example of a networking technology you are familiar with? | Pro members can see the explanation. | Pro members can see the explanation. |
| What has motivated you to apply for a role at CERN? | Pro members can see the explanation. | Pro members can see the explanation. |
| How do you handle learning new technologies in a fast-paced environment? | Pro members can see the explanation. | Pro members can see the explanation. |