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.
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.
- 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
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.
Jan 2020 -
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.
May 2018 - December 2019
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.
July 2014 - April 2018
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.
July 2012 - June 2013
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.
July 2011 - June 2012
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.
June 2007 - August 2009
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…
Autumn 2006 -
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.
Summer 2004 - Summer 2011
Summer Camp Leader
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
August 2006 - June 2014
High school programme in science, aimed especially at mathematics and programming.
2003 - 2006
I have a european type B driving license. I prefer commuting through public transport though.