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.

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.