Software Engineer (BE-CO-APS-2018-84-LD)

  • Contract

Company Description

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.

Job Description

Introduction

Would you like to work on the next generation technology and tools for controls data acquisition and transformation, which will be used to control the LHC and the other accelerators? CERN, take part!

The accelerator controls system subscribes to low-level ("raw") controls values of thousands of accelerator devices, transforms them using many different calculations, and republishes them as high-level ("refined") values. These values are displayed in applications in the CCC, stored in big time-series databases, and in general, made available for anyone who wants to use them. So far, these transformations were implemented by software specialists in an ad-hoc manner, at various layers of the system, and using diverse approaches and technologies.

We now want to put in place a general-purpose transformation service, that enables end-users such as accelerator physicists and equipment experts to develop and deploy their transformations easily (i.e. quickly and without the intervention of a software expert). We also want to eventually use this service to host all transformations that are currently implemented in an ad-hoc manner, as mentioned above.

You will join:

  • The Beams Department (BE), responsible for the beam generation, acceleration, diagnostics, controls and performance optimization for the LHC and its injector accelerators.
  • The Controls Group (CO), responsible for developing the controls infrastructure used to operate these particle accelerators 24 hours a day.
  • The Applications Section (APS), a dynamic and quality-oriented agile team, responsible for the mission-critical user interfaces and server-side applications used by the accelerator physicists and operators. (https://be-dep-co.web.cern.ch/content/aps-applications).

Functions

As Software Engineer in the Applications Section, you will join a small team responsible for controls data acquisition and transformation systems, and fulfil the following functions:

  • Participate in defining the architecture of our service, including how it is integrated into the accelerator controls system.
  • Identify and evaluate suitable open-source frameworks upon which to build our solution; select one and adapt or extend it to our needs.
  • Design and develop controls-specific data transformations.
  • Provide tools that enable our users to easily develop and deploy their own transformation algorithms.
  • Promote the above solutions amongst our user community and provide user support.
  • Gradually port existing transformation services to the new solution;.
  • Participate in the maintenance and 24/7 on-call support for the new service and for existing ones.

Qualifications

Master's degree or equivalent relevant experience in the field of computer science or a related field.

Experience:

  • Extensive professional experience in a software engineering position mentoring a small team.
  • Proven experience with modern DevOps practices and tools, including CI/CD automation and monitoring.
  • Proven experience with container and orchestration technology (e.g. Docker or Kubernetes). Experience with serverless frameworks is an asset but not mandatory.
  • Experience applying software quality assurance techniques, and practice with relevant tools.

Technical competencies:

  • Development of application software; especially server-side with the Java ecosystem and the Spring Framework; experience with reactive programming is an asset but not mandatory.
  • Re-use, refactoring, integration and porting of existing software.
  • Knowledge of programming techniques and languages using Java 8+, Python 3.x and their respective ecosystems; JavaScript/TypeScript and Kotlin are an asset but not mandatory.
  • Knowledge and application of software life-cycle tools and procedures.

Behavioural competencies:

  • Communicating effectively: expressing opinions, ideas and suggestions with conviction and in a logical/structured manner; keeping to the point.
  • Working in teams: building and maintaining constructive and effective work relationships; cooperating constructively with others in the pursuit of team goals; balancing personal goals with team goals.
  • Achieving results: having a structured and organised approach towards work; being able to set priorities and plan tasks with results in mind; taking appropriate corrective actions and adapting work / project plans if necessary.

Language skills:

  • Spoken and written English, with the ability to draw-up technical documentation and to make oral presentations. 
  • Knowledge of French or the willingness to acquire it rapidly would be an advantage.

Additional Information

Eligibility and closing date:

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. We welcome applications from all Member States and Associate Member States. (https://careers.cern/content/member-states)

This vacancy will be filled as soon as possible, and applications should normally reach us no later than 02.09.2018.

Employment Conditions

Contract type: Limited duration contract (5 years). Subject to certain conditions, holders of limited-duration contracts may apply for an indefinite position.

These functions require:

  • Work during nights, Sundays and official holidays, when required by the needs of the Organization.
  • Stand-by duty, when required by the needs of the Organization.

Job grade: 6-7

Job reference: BE-CO-APS-2018-84-LD

Benchmark Job Title: Computing Engineer

Please make sure you have all the documents needed to hand as you start your application, as once it is submitted, you will not be able to upload any documents or edit your application further

Privacy Policy