CV
I’m a software engineer, working primarily with embedded systems, and I have a passion for functional programming. I believe in free and open source software, and I try to contribute to it as much as I can.
I also enjoy playing rhythm-based games whenever I can, such as Dance Dance Revolution, Beatmania IIDX and similar games. Timing is everything.
Software skills
I can program in more or less any language, I’ve sampled most different paradigms. Languages I have most experience with are C, C++, Python, Haskell, Java, Bash, Erlang. Professionally I have mostly written C, C++, Python, Bash and QML, and I have been working almost exclusively in the embedded domain.
I feel at home in a small team of experts, preferrably following some agile setting. I work exclusively in GNU/Linux environments. I don’t like Windows, but I can use it if I must. I’m a dvorak typist since 2008. I’m a native swede and speak english fluently.
Personal
- Date of birth: 1988-07-30
- E-mail: tobsan[at]tobsan[dot]se (GPG key fingerprint:
1EEF 527E 9341 888C 6D32 61D8 227C A2A2 FF16 BE40
) - GitHub profile
Work experience
Elektronikutvecklingsbyrån
EUB does embedded consultancy with both hardware and software, mostly for IoT devices, and mostly using Zephyr or embedded Linux.
Duration
November 2021 -
Position
Senior Embedded Software Engineer
Scionova
Scionova does consulting within the connectivity domain, and for me that means mostly embedded IoT like things that run Linux or something similar.
Duration
December 2021 - November 2021
Position
Software Engineer
Endian Technologies
Endian is an embedded consultancy company within the IoT space. As a software engineer, I help our customers connect tiny devices to the cloud, primarily by writing software for those devices. Some devices run Linux, some run Zephyr or FreeRTOS.
At Endian, I’ve been programming mostly in C with some shell scripting on the side, and have been using CMake, Yocto and KConfig tools. Technologies such as NB-IoT, LwM2M, MQTT and CBOR were mostly new to me.
Duration
Jan 2020 - December 2021
Position
Software Engineer
HMS Industrial Networks
HMS creates network hardware and software for industrial applications, mainly field buses and industrial ethernet. HMS writes software and drivers in C and support software in Python. The global platforms team, which I was a part of, maintains a Linux platform based on OpenEmbedded for supporting the hardware we create on Linux. I also worked with the CI/DevOps team that maintained the server infrastructure that was based on Docker compase and Jenkins.
Duration
May 2018 - December 2019
Position
Development Engineer
Pelagicore / Luxoft Sweden
Pelagicore develops In-Vehicle Infotainment (IVI) systems for the car industry, using open source software components. They develop mainly in C/C++, but tend to script stuff in both python and bash when needed. They maintain and develop a Linux platform using Yocto, and write UI software in Qt/QML. As a Software Engineer, my main responsibilities were development and testing of code, as well as maintenance of the Yocto platform.
Duration
July 2014 - April 2018
Position
Software Engineer
University of Gothenburg Students’ Unions (GUS)
GUS is a collaborative body for the students’ unions at the University of Gothenburg. The president and vice president are the students’ voice towards the vice-chancellor, coordinate the work with other student representatives and support the students’ unions in their work. As vice president, I was responsible for the coordination of work regarding work environment and the student ombudsmen for work environment.
Duration
July 2012 - June 2013
Position
Vice President
Göta students’ union
I worked at Göta students’ union as one of three presidents responsible for the operative work within the union. Being responsible for education issues, I coordinated work with people responsible for education issues at our five sections (one per faculty) and pursued common issues against the university.
Duration
July 2011 - June 2012
Position
Vice president
EmMZäta Personal
Working for a staffing company, I drove forklifts, picked orders and built cardboard displays, mainly at the DHL warehouse at Arendal during three summers. It was a monotonous work, but the people there were really nice.
Duration
June 2007 - August 2009
Position
Terminal worker
Palmary Productions
During the autumn of 2006 I wrote a time reporting system using PHP and MySQL. It ended up being so-so, but at least I got to program something real, even if it was in (old-style) PHP…
Duration
Autumn 2006 -
Position
Programmer
Swedish Outdoor Association (Friluftsfrämjandet)
The Swedish outdoor association held summer camp for kids 8-12 years old. As a leader, we made sure that the kids had fun, that nobody got hurt and that everybody learned something new. Most of the days were spent walking the woods, canoeing, playing softball, swimming etc.
Duration
Summer 2004 - Summer 2011
Position
Summer Camp Leader
Education
M.Sc. Computer Science
I took both my bachelor’s degree and my master’s degree with specialization in Algorithms, Languages and Logic at the University of Gothenburg. I also took some courses in linguistics.
- Bachelor’s Thesis: λANE – Yet Another NES Emulator
- Master’s Thesis: Implementing incremental and parallel parsing
Duration
August 2006 - June 2014
High school
High school programme in science, aimed especially at mathematics and programming.
Duration
2003 - 2006
Misc
I have a european type B driving license. I prefer commuting through public transport though.