Embedded Software Engineer
Since September 2019
After my internship and the completion of my studies, I joined ABB medium voltage drives permanently as an embedded software engineer on the ACS6080 software team.
On a normal day I design, implement and test features on the control platform, spanning both the software (C++) and hardware (VHDL). I usually also spend some time reviewing pull requests from other team members and maintaining the continuous integration infrastructure. Although the team is spread over multiple locations, we collaborate quite closely on a daily basis through conference calls and chats.
As of January 2020, I am also the cybersecurity contact person for medium voltage drives in Turgi. My role is to provide information and support to the software teams and ensure that our product software is up-to-date with the internal cybersecurity guidelines.
March 2018 to August 2018
As an R&D intern at ABB medium voltage drives, I joined the software team working on the subsea drive project. I worked on the C++ product software codebase, which consists of a real time kernel, device drivers, communication protocols and control software.
My primary task was to port an existing real time simulation framework, which enables the product code to be executed directly on PC. I complemented this framework with physical models of the converter and asynchronous motor in order to simulate the control software behaviour. Using this system, I added support for integration tests that can be executed on the PC as well as on the continuous integration servers. I also extended the framework with an interactive GUI that plots internal signals with full resolution in real time, to aid in the development of control features.
At the end of the internship, I continued working part-time alongside my studies to further develop the simulation framework, as well as merge my work into the common platform codebase.
August 2015 to August 2016
As a trainee in Syngenta's Project, Program and Portfolio Management Excellence team, I worked primarily on administrating and further developing the team's SharePoint communication sites and teamspaces. I also provided support in meetings and assisted with data input tasks.
My secondary role was to observe the processes and practices followed by the other team members and use my IT and engineering knowledge to optimise them where possible. With that in mind I developed several Microsoft Excel macros for automating routine data manipulation tasks and made suggestions for tool improvements, such as using APIs to automate parts of the workflow. I also took the initiative to document the details and results of my work in detail so that it can be easily resumed in the future.
After the end of my 1-year traineeship I was contracted part-time to provide sporadic technical support to the team on a need-basis, which I did until August 2019.
Freiburg im Breisgau, Germany
July to September 2010
During this summer internship I produced a literature survey of solar cell imaging methods, and then performed photoluminescence imaging and resistivity measurements in order to determine the characteristics of various experimental types of photovoltaic solar cells. As a scientific research institution, the ISE was a rather different environment than the one I was used to (school) and that gave me good insight into how research is done in the real world.
Master of Science in Computer Science, Distributed Systems Track
September 2016 to September 2019
York, United Kingdom
Master of Engineering (Hons) in Electronic Engineering, 1st class
October 2010 to June 2014
International Baccalaureate Diploma, score: 34
September 2005 to May 2010
Since April 2017
During university I got tired of synchronising all my data between my desktop and laptop, so I built a server at home to centralise the data storage. The original proof-of-concept was a Raspberry Pi with a 4TB USB drive. It worked surprisingly well, but the ethernet and USB interfaces were a significant bottleneck for large flows. Currently it consists of a mini-ITX PC with 2 4TB SATA3 drives in a mirrored ZFS configuration and 2 gigabit ethernet ports.
I use NFS to access the data when connected to the home network and SSHFS for accessing it from outside. In addition to the NAS functionality, I also run a name server, internal DNS resolver, web server, CalDAV, VPN exit node, git server and the occasional game server. I experimented with email but ultimately opted for a more reliable commercial solution instead. Currently I am moving the configuration to Ansible and investigating possibilities for encrypted remote backup.
Since November 2020
I've accumulated a number of guitar pedals over the years, so in December 2019 I finally built a pedalboard to accomodate them. However I noticed some tonal degradation when running the guitar through the pedals as opposed to straight into the amplifier. It's hard to tell if this is a real effect or placebo, so I decided to get a bypasser pedal to perform A/B blind tests in which I bypass the entire pedalboard. As it turns out, bypasser-type pedals are very expensive considering what they do, so I decided to build one instead.
In the process of designing the bypasser I became quite interested in finishing techniques for the aluminium pedal case, such as etching and painting. I fell down the DIY guitar pedal rabbit hole and now I have a 2-loop switcher in addition to the original bypasser, and I'm working on a treble booster pedal next.