/CV

Curriculum Vitae

Curriculum Vitae

Robert Thorhuus

Profile

I've been working with Software Design most of my career and always try to find new exciting Software projects on my free time. My software experience is broad working with many languages and tools to solve complex situations in either the robust and performance critical embedded environments at work or developing creative and fun apps at home. I work with a test intense attitude and like to refactor and make clear code. Version control and automated test regression is natural for me.

My later years have led me to do more systemization. As a senior, I have been a team leader and scrum master showing the way forward both regarding software design/architecture but also introducing many new tools (version control, review, testing, automation, storage, scripting etc).

Finally I have been fortunate enough to be entrusted for acting Line Manager several times with recruting, personnel development, delegation, studies, reporting and prioritizations on the agenda adding up to almost a year in experience.

Experience

Year Title Work
Sep 2018 - Present Senior Software Lead
Radio Router
Ericsson
  • Setting up a quad 64 bit ARM CPU to act as a router
  • Porting U-Boot and Linux kernel with drivers to enable the connected devices (WiFi, Radio, SSD, USB)
  • Setting up Networking

C, C++, Jenkins, GIT, Python, TestNG, Docker
Jan 2017 - Aug 2018 Technical FW Lead
Network Switch
Ericsson
  • Systemizing the build of 2 larger switches within Ericssons Data Center solution
  • Headed the requirements and secured the quality by setting up a test framework with automated tests, upgrades, deployments, releases and characteristics

Python, Expect, Jenkins, GIT, TestNG, Graphana, InfluxDB
Dec 2015 - Dec 2016 System Engineer (dual role)
optical PCIe switch
Ericsson
  • Prototyping product with a lot of SSDs connected through PCIe
  • Disk benchmarking and performance optimization

Bonnie++, Iozone, FIO
Dec 2015 - Dec 2016 Quality Assurance Specialist (dual role)
Ericsson
Code quality in the organization:
  • Continuous Integration
  • Controlled code reviews
  • Automated testing of code pushes
  • Automated deployment of code to target
  • Automated releases
  • Automated software upgrades in a remote deployments

GIT, Python, C, Gerrit Review, Jenkins, TestNG, Docker
Apr 2015 - Nov 2015 Acting Line Manager
Ericsson
Great experience in a hectic time when there was a great need to staff up.
  • Recruiting consultants
  • Reviewing and interviewing
  • Managed employee workloads and information
  • Took part in the leadership team to help out in decisions and projects
  • Active role in a company wide World Class Development initiative to improve software quality
Jan 2012 - Mar 2015 Team Leader
Processing board
Ericsson
Software support on a PowerPC procssessing board (48 threads and 48 GB RAM)
  • Led a team of 7 people
  • Ported boot loader
  • Ported Linux Kernel
  • Ported drivers
  • Wrote test applications
  • I pushed our organisation for a lean ways of working in a continous integartion manner using GIT, Jenkins and TestNG

GIT, C, C++, Gerrit Review, Jenkins, TestNG, Bugzilla
Jan 2010 - Jan 2012 Team Leader
IP/ATM line board
Ericsson
I pushed our organisation to start using Linux as the base for the test system.
  • Ported Linux and U-Boot
  • Created specific test application in C/C++
  • The system was very advanced with a lot of FPGAs and different processors to control
  • Support a variate of buses for programming flashes, EEPROMs, accelerators, clock generators etc.
  • The main processor was a network processor and there was a lot of work regarding the network stack

C, C++, bash, I2C, SPI, PCIe, Ethernet, VLAN, IP, UDP, TCP
Jan 2008 - Jan 2010 Software Developer
Linux Test system for a powerful CPU board
Ericsson
Dual socket PowerPC processing board (16 cores and 16 GB RAM)
  • I pushed for start using Linux as our base for our test system as it was common in embedded systems and servers
  • I learned a lot about Linux drivers and the Linux kernel in this project
  • I ported the Linux kernel, drivers and U-Boot
  • I also wrote some testing applications to this platform

C, bash, Tcl/Expect
Jan 2005 - Jan 2008 Team Leader
Mobile Media Gateway product
Ericsson
  • Team led the application on a Mobile Media Gateway product
  • The product had members from Finland and Hungary. This remote cooperation was challenging, fun and a good experience
  • PowerPC product using the operating system OSE

C, C++, Ethernet, IP, UDP, TCP, VLAN
Mar 2000 - Jan 2005 Software Developer
Telecom application
Ericsson
Started my career at Ericsson in Stockholm, Älvsjö as a Software developer. Designed a PowerPC application in C on top of the real time operating system OSE. The application was running in a telecom switch and was very time critical as it was handling telephone calls (which was the main characteristic in the product). We were using Clear Case as the version control system.
C, OSE, ClearCase

Education

1995 - 2000 KTH (Royal Institute of Technology) Stockholm/Sweden Masters Degree in Electronics

Language

  • Swedish - Fluent level
  • English - Professional/Technical level

Programming Languages

  • C
  • C++
  • Python
  • Java
  • Tcl/Expect
  • Bash

Tools

  • GIT
  • Jenkins
  • Gerrit Review
  • JIRA
  • TestNG
  • Make/CMake
  • Yocto/Bitbake
  • Docker
  • Catch2/Google Test
  • Grapahana
  • InfluxDB
  • Bonnie++/FIO/IOzone

Knowledge Areas

  • Linux Kernel (porting support for new hardware)
  • Drivers (NICs, PCIe, USB, I2C, SPI, Flashes etc.)
  • Bootloaders (U-Boot, UEFI, GRUB)
  • Networking (Ethernet, IP, TCP/UDP, Switching/Forwarding)
  • Test automation (Setting up continous integration/deployement services using e.g. microservices)
  • Disks (SSD and flashes)
  • Visualization (using databases to store data and presentation tools to visualize)