Software Engineer (VoIP application and service development) (IT-CS-TR-2020-14-LD)
- Geneva, Switzerland
Are you a talented software engineer, passionate about developing web applications using state-of-the-art UX/UI technology? Do you enjoy designing scalable back-end systems for communication systems? Work with us to develop and evolve CERN’s next-generation VoIP telephony solutions!
The Communication Systems (CS) Group is responsible for all aspects of network and telephony provision at CERN. We support a campus network (cabled and Wi-Fi) with over 50,000 connected devices, a 5Tb/s non-blocking switching fabric for a data centre with over 10,000 servers, more than 4,000 of which with 10Gb/s interfaces, and external connections including multiple trans-border 100Gb/s circuits. The Group also operates its own fixed telephony system (12000 lines), dedicated mobile telephony services (6500 subscriptions), a TETRA digital radio system (500 terminals) and a LoRaWAN network.
More information on the IT Department can be found at: http://cern.ch/it.
As a member of the Telecom and Radio (TR) Section in the CS Group, you will participate in developing and delivering new VoIP (Voice-over-IP) solutions for mobile and desktop devices.
Your main functions will include:
- Contribute to the design, development, deployment and maintenance of mobile and desktop softphone client applications and back-end services, interfacing them with CERN’s Asterisk-based fixed telephony services.
- Ensure the proper integration of these applications and services within the CERN’s Puppet-based Agile Infrastructure and DevOps tools.
- Participate in the daily management of these services, which includes building and deployment of software packages, performance and availability monitoring, providing engineering-level support and computing security.
- Produce procedures and documentation following the ITIL recommendations to be used by technicians and engineers in operational activities.
Master's degree or equivalent relevant experience in the field of computer science, telecommunications, or a related field.
The candidate should have demonstrated practical experience in several of the following areas:
- In-depth experience developing large web-based, end-user application packages on Windows, Linux and macOS.
- Extensive experience developing scalable, Linux-based, multi-tier web and back-end services.
- Demonstrated experience in the software development life cycle: unit testing, continuous integration, version control.
- Good knowledge of SQL, database systems, and their integration with Python/Java based applications.
Experience in one or more of the following would be an asset:
- Experience in the development of VoIP client and back-end applications, and/or in deploying VoIP services (Asterisk, Kamailio).
- Experience in application testing, deployment and debugging on mobile Android/iOS environments.
- Experience in mobile Android/iOS development tools and frameworks (Android Studio, XCode) as well as programming languages and libraries (Java, Objective-C, Swift).
- Experience deploying services within cloud-native environments (Kubernetes / OpenShift).
- Development of application software: design and implementation using REST-based APIs/microservices; frameworks like Flask, Spring Boot, React, Electron; libraries including Redux, Node Keytar, Jest, Pytest. Design of state-of-the-art UX/UI interfaces. Integration with monitoring services (Grafana, InfluxDB).
- Design of databases/repositories: experience with relational databases (MySQL, Oracle) and schema modelling.
- Knowledge and application of software life-cycle tools and procedures: git and automated build, testing and packaging. Release management Continuous Integration / Continuous Delivery frameworks such as GitLab. Agile methodologies like Scrum/Kanban, issue tracking systems like Jira.
- Re-use, refactoring, integration and porting of existing software: customisation and configuration of existing software packages such as VoIP apps on mobile platforms.
- Knowledge of communication technologies and protocols: voIP protocols such as webRTC, SIP, SDP and RTP.
- Solving problems: seeking and integrating other points of view when tackling an issue; consulting experts in the field and undertaking benchmarking.
- Achieving results: delivering prompt and efficient service taking into account customer needs.
- Working in teams: building and maintaining constructive and effective work relationships.
- Learning and sharing knowledge: keeping up-to-date with developments in own field of expertise and readily absorbing new information; sharing knowledge and expertise freely and willingly with others; coaching others to ensure knowledge transfer; proposing ways to improve or streamline existing procedures, processes and methodologies.
- Communicating effectively: expressing opinions, ideas and suggestions with conviction and in a logical/structured manner; keeping to the point; listening actively to others and letting others speak; checking to ensure that the message has been well understood.
- Good knowledge of English is required; ability to draw-up technical specifications and/or scientific reports and to make oral presentations.
- Basic knowledge of French or an undertaking to acquire it rapidly.
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.
This vacancy will be filled as soon as possible, and applications should normally reach us no later than 31.03.2020
Contract type: Limited duration contract (3 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: IT-CS-TR-2020-14-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