David Carvalho

Geneva, Switzerland · [email protected]

Hi there! 👋

TL;DR: I’m a Control Software Engineer with experience at CERN, where I developed SCADA systems and led automation projects with Siemens PLCs. I’m skilled in Python, C++, and real-time control systems, with a strong ability to work across IT and OT domains. With an MSc in Electrical and Computer Engineering, I specialize in control systems and testing. In the past, I’ve mentored junior engineers and coordinated teams. I’m also passionate about aerospace, data science, and DWTMC*. I’m fluent in Portuguese, English, and conversational French.

*DWTMC - Drinking Way Too Much Coffee ☕


Experience

Automation Engineer

SKAN
  • Developing SCADA control systems for pharmaceutical machinery. Rigorous documentation and testing using GMP practices.
Jan 2025 - Present

Basel, Switzerland

Control Software Engineer, Fellow

CERN - European Center for Nuclear Research
  • Designed, developed, commissioned, and maintained large, operational critical, distributed SCADA control systems for power converters plants across CERN: created scripts, libraries, and GUI's using CTRL++, a C++ syntax-based language.
  • Led and developed a Python-based CI/CD framework that automatically tested software for Siemens PLCs applications based on project specifications: created tests and managed pipelines through GitLab CI.
  • Supervised a technical student for 9 months working on consolidating the CI/CD framework.
  • Coordinated a team of 5 people providing internal support for real-time control systems software and hardware: used JIRA for issue tracking and ticket management.
  • Solved urgent operational issues for power converter control systems as a standby service 24/7 every 2-3 months.

Learn more about my contributions at CERN's Converter Controls Software Section.

March 2022 - Feb 2024

Geneva, Switzerland

Control Software Engineer, PJAS

CERN - European Center for Nuclear Research
  • Developed SCADA applications for the control of power converter plants across CERN, including critical control systems for several accelerators: developed scripts, libraries, and GUI's using CTRL++ (C++ based).
  • Implemented industrial communication protocols between field devices and SCADA: S7; IEC-104; and MODBUS.
  • Developed Python, Bash, and PowerShell scripts to automate consistent file directory structure for the team's projects.

Learn more about my contributions at CERN's Converter Controls Software Section.

March 2019 - Feb 2022

Geneva, Switzerland

Intern

Synopsys
  • Created a Python-based Qt application that scheduled and monitored CI/CD testing of mixed-signal electronics.
July 2017 - September 2017

Lisbon, Portugal

Intern

Coriant
  • Developed robotic process automation (RPA) scripts and tests.
July 2016

Lisbon, Portugal


Education

MSc, Electrical And Computer Engineering

Instituto Superior Técnico, University of Lisbon
  • GPA (16/20)
  • Major in Systems, Decision, and Control. Minor in Computers.
  • Investigation Grant attributed to Master Thesis in time series forecasting using traditional ML algorithms (ARIMA, SARIMA, supervised learning).
  • Erasmus+ Program : Warsaw University of Technology, Poland.
September 2016 - November 2018

Lisbon, Portugal

BSc, Electrical And Computer Engineering

Instituto Superior Técnico, University of Lisbon
September 2013 - July 2016

Lisbon, Portugal


Skills

Languages
  • Proficient (fluent, C1) - English
  • Native (fluent, C2) - Portuguese
  • Intermediate (B1) - French
Software Development
Programming Languages
  • Experienced: Python (Pycharm; venv; pip: Qt, Tkinter, NumPy, pandas, asyncio, pytest, selenium)
  • Intermediate: C/C++, MATLAB/Octave, Bash
  • Basic: SQL
Web Development
  • Basic: HTML/CSS/JavaScript, Node.js, WordPress, npm
Software Development Tools
  • Experienced: VS Code, Linux (WSL/Ubuntu/RHEL 9/CentOS), Git, Agile Methodologies (JIRA/Confluence/Kanban)
  • Intermediate: GitHub/GitLab, PowerShell
CI/CD Tools
  • Experienced: GitLab CI
  • Basic: GitHub Actions
Cloud & Networks
  • Intermediate: OpenStack, TCP/IP
Embedded Systems
  • Intermediate: Arduino
Industrial Automation
Industrial Software and Tools
  • Experienced: WinCC OA, TIA Portal, Industrial Communication Protocols SCADA (IEC-104, MODBUS, OPC-UA), versiondog
  • Intermediate: Industrial Communication Protocols PLC (PROFINET, PROFIBUS) SIMATIC STEP 7, WinCC

Volunteering & Events

Afterschool by treetree2

Author - Content Creator

Developed content for an online electronics course targeted at high school students.

Course Link
June 2022 - September 2022

CERN Open Days 2019

Volunteer - Logistics

Assisted with the organization and logistics of the event.

Event Details
September 2019

NEECIST

Volunteer - Workshops

Created and conducted technical workshops for university students: Git and Github; soldering an Arduino board; creating electric circuits with a breadboard and a microcontroller.

Organization Link
June 2016 - Nov 2018

rob9-16 Summer School

Monitor

Taught basics of robotics, programming, electronics, soldering, and 3D modeling to young students (9-16 years-old).

Program Details More Info
July 2018

Act in Space 2018

Participant

Created a start-up idea based on space technologies and ESA Copernicus data (2-day hackathon).

Event Details
November 2018