Full-Stack Engineer
Sista ansökningsdag
Idag (0 dagar kvar)
Publiceringsdatum
26 juli 2024
Yrkesroll
Typ av anställning
Ansök nu
Denna annons är hämtad från Platsbanken / arbetsformedlingen.se
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:
Are you a talented software engineer, passionate about full-stack development? Do you have in-depth experience with developing sophisticated web frontends and asynchronous Python backends? Do you feel confident and experienced in working with complex relational databases that must be highly reliable? Are you comfortable in a collaborative development environment using Windows, Linux, Docker, Git, and GitLab CI/CD? Then apply for this unique challenge as the next step in your career. CERN, take part!
You will join the Accelerator Systems Department (SY), https://sy-dep.web.cern.ch/, which is responsible for the beam-related technical systems of the CERN accelerators. The SY teams design, build and operate equipment systems in all CERN accelerators, and are engaged in ambitious forward-looking R&D programmes.
You will be working within the Electrical Power Converter Group (SY-EPC), https://sy-dep-epc.web.cern.ch/, responsible for the power converters for the whole CERN accelerator complex, and join the Tools Team, https://epc-ccs.web.cern.ch/content/tools, within the Converter Controls Software Section (SY-EPC-CCS), which develops and supports the power converters control software and databases for the SY-EPC group, https://epc-ccs.web.cern.ch/.
The section is responsible for a large, distributed control system for more than five thousand power converters and a dozen static VAR compensators. These range in power from a few Watts to 150MW and are used to drive particle beams through the electromagnets in the accelerators, transfer lines and experiments.
Furthermore, the section provides a 24/7 stand-by service to assist technicians with timely resolution of control software issues on site. Consequently, while accelerator systems are in operation, you will be required to be on-call for one week every two to three months (i.e. four to five times a year).
Functions:
As a full-stack engineer, you will maintain and develop web tools which empower your control software colleagues as well as power converter experts to operate and maintain power converters, while respecting deadlines and ensuring software quality.
Your activities will include:
- Collaborate with cross-functional teams inside SY-EPC, https://sy-dep-epc.web.cern.ch/, to identify requirements for new complex web applications;
- Analyse existing, complex workflows and create simplified, well-structured solutions for them;
- Design, implement, and document new web applications that meet the identified requirements;
- Develop, test, and maintain the full stack of new and existing power converter expert applications including the backend (Python, FastAPI, Oracle, PostgreSQL) and the web frontend (HTML5, CSS3, JavaScript, Vue.js);
- Maintain existing Python background services (daemons) and databases;
- Regularly conduct and participate in code reviews;
- Supervise junior engineers, fostering their professional growth and ensuring high standards of software engineering practices.
Qualifications
Master's degree or equivalent relevant experience in the field of computer science and/or software engineering or a related field.
Experience:
Required experience in the following areas:
- Designing, developing, and maintaining user interfaces using HTML5, CSS3, JavaScript, and Vue.js (Vue 3);
- Designing, developing, and maintaining software using Python, FastAPI, Pydantic, Asyncio, and SQLAlchemy;
- Designing, implementing, and maintaining high-reliability relational databases and their schemas using SQL;
- Using modern software development tools: containerized environments, debugging tools, browser DevTools, REST APIs, source code management (git), merge requests, CI/CD, issue tracking, and documentation.
Desired experience:
- Knowledge in working with Docker and Docker Compose files;
- Knowledge in working with the following frontend technologies: vite, Pinia, Vue Router, npm;
- Knowledge in working with authentication and authorization technologies (Keycloak, OAuth2);
- Experience in treating software support requests via ticketing system (e.g. customer support).
Technical competencies:
- Conceptualising, designing and developing user experiences and interfaces;
- Development of application software;
- Design of databases/repositories;
- Knowledge of programming techniques and languages, in particular those mentioned in the "required experience" section above;
- Knowledge and application of software life-cycle tools and procedures.
Behavioural competencies:
- Communicating effectively: ensuring that information, procedures and decisions are appropriately documented; listening actively to others and letting others speak; checking to ensure that the message has been well understood.
- Managing self: projecting self-confidence when presenting ideas, proposals and opinions; taking initiative beyond regular tasks and making things happen; demonstrating a receptive approach to feedback; being open to criticism and reconsidering position accordingly.
- Learning and sharing knowledge: being receptive to others' ideas and building on them; proposing ways to improve or streamline existing procedures, processes and methodologies; questioning traditional assumptions and ways of doing things.
- Solving problems: assimilating large quantities of information, identifying key issues and formulating conclusions clearly and concisely; producing workable and timely solutions that meet requirements.
- Achieving results: dividing extensive work / projects into manageable sub-tasks with clearly defined milestones; following through on new ideas and innovations; planning and implementing application.
Language skills:
- Spoken and written English: ability to understand and speak in professional contexts. Ability to draw-up technical specifications and scientific reports and to make oral presentations.
- The ability to understand and speak French or the undertaking to acquire it rapidly.
Ansök nu
Denna annons är hämtad från Platsbanken / arbetsformedlingen.se
Liknande Jobb
Sök jobbet
Ansök senast
Idag (0 dagar kvar)
Ansök nu
Denna annons är hämtad från Platsbanken / arbetsformedlingen.se