Carl Olsen

Overview

Name: Carl Olsen
Born: 1972
Roles: Software Developer/Architect/Engineer
WEB: https://cocode.se
Education:
Master of Computer Science , Chalmers University of Technology (Göteborg,Sweden)
Software Engineering , Curtin University of Technology (Perth, Australia)

Abstract

Experienced developer mainly focusing on (embedded) Linux systems.
Mainly focusing on system programming, communication and inter-process communication
together with Linux distributions and security.
Deep knowledge of various c++ standards and meta programming together with build system for cross compiling with various compilers. Modeling is usually done using UML.

Several years of experience regarding Continuous Integration, and using different types
of Unit test framework i.e GTest,GMock.

Requirement management, functional-/system testing is also part of resumé.

Always on top of the new technology and is a frequent contributor to the open source
community. Part of the spare time is dedicated to developing open source for Emacs,c++ libs,raspberry pi and other interesting projects.

As a person I'm socially-oriented and positive; easy to make contact with other peers.
Pragmatic and works both independent and in teams. Is very innovative, and always tries
to make repetitive work automatic. A lot of my spare time goes to reading new technologies
and inventions and try figure out new ways of implementing them.
Together with my Triathlon training I have 2 kids and a wife which takes up rest of my awake time.

references:
Cocode open source libraries.
Github projects.
Contributer to babelc.

\newpage

Technical Skills

Methodology OOA/OOD (UML),functional programming,
  XP/scrum,Agile,RUP
OS UNIX (several dialects),Linux,
  Mac OS X, Windows , OSE , FreeRtos
Programming C++, C, Rust, Go, java, lisp, Erlang
  Elm, Haskell, Qt…
Script Languages Python, bash, Zsh, Fish, bash, *sh, PHP
  TCL/TK, Expect, javascript
Databases SQL,Oracle,MySql,SQLite,elasticsearch
  influxdb
Build tools/ CMake, Make, Conan,Ninja, Doxygen, Rhapsody
Systems Yocto, bazel,make config(linux kernel),Meson,
  boost.build(b2) …
Version control Git, SVN, Mercurial, Clearcase,CVS
System  
Computer Can, TCP/IP, 3GPP, Zigbee, Bluetooth
Communication D-bus, i2c, SPI, UART, RS485….
Editors Emacs, Eclipse,VS code, Atom, Matlab, notepad++
  Visualstudio, Vim…
Other Jenkins,clang-tidy,clang-format, lint, GTest,
  GMock , plantuml, kibana, chronograf,telegraf
  umlet,docker, systemd-nspawn, org-mode, org-roam
  FreeCad
Electronics rp2040,stm32, Avr, Tmc2209, Tmc429, Tmp117
  many more…

Previous Assignments

2021-202[3-9] Cellink senior software architect/developer
⋄ Project managment
⋄ Build system for embedded system (stm32, rpi2040 ….) using c/c++20 and cmake
⋄ Embedded Communcation (spi,i2c) with pheripherals (motors, sensors aso).
⋄ Also investigation on using Rust on embedded.

2019-2021 Zenseact/Zenuity Senior software developer/architect
⋄ Vision infrastructure and tooling
⋄ Building component framework (c++ templates)
⋄ Implemented bazel on company level (removed cmake)
⋄ Rebuild of profiling software KPI's

2016-2019 Volvo Trucks (GTT) Software developer

⋄ Software developer of embedded systems for telematic gateway.
⋄ Yocto development to create custom Linux distribution.
⋄ Part Architecture team for setting up development environment.
⋄ Using c++17

2016-2017 Saab Surveillance Software Developer
⋄ Software development on radar simulation software
⋄ The software simulates radar signals which are then sent to the radar software for
evaluation .eg targets, clutter, jammers etc.
⋄ The system runs on Linux system and is programmed using c++14,
it’s a high performance real-time software, where timing and optimization is highly valuable
⋄ Using methodology scrum ( jira )
⋄ Big part of the optimization of the software, where c++14 knowledge has come to usage.
⋄ Started transition for some projects to go from clearcase → Git
⋄ Update project to start working with CMake

2010-2016 Volvo Trucks (GTT) Software Developer
⋄ Software development of embedded systems for telematic gateway on trucks
⋄ The embedded system handles all communication from the truck to back office and other
nodes in the truck such as ECU's and IC's using 3G,TCP/IP,CAN,IR.
⋄ Main area was based on communicating with different peripherals connected to the truck
such as tachograph and other ECU’s, also developed and designed many of the
business logic such as Ehorizon, Driver time management, Driver eco coaching and more.
⋄ The system run on both Windows CE and OSE. Programming is done in (c++) Rhapsody which is a Visual development environment using UML, using Agile development
methodology (Jira, Scrum with Jenkins as build environment) . Test tools are developed in Java and Python.

2008-2010 Thoreb Software Developer
⋄ Software development of embedded systems for public transport equipments and vehicles.
⋄ The embedded systems handle communications with adjacent systems on the vehicle (e.g.,
CAN, GPS, sign control) as well as communication with the outside world such as via radio or any other communication channel.
⋄ Focusing on communication from an embedded system to peripherals, such as redlight-priority for emergency vehicles and public transportation.
⋄ Communication to driver via IC, i.e time scheduling.
⋄ These systems are exclusively run on Linux and programming is done in primarily in C++/C and Bash.

2006-2008 Autnonomica/Netnod Software Developer
⋄ Software development of systems for real-time analysis of DNS traffic on root DNSs
⋄ In order to monitor the state of connections towards the Internet, software tools are
developed to track any the discrepancies in the information flow. Responsibility was to
design, develop, test and verify the software and implement on various sites.
⋄ Was an active member of the OARC (DNS Operations, Analysis, and Research Center) and held several presentations in this forum.
⋄ The systems were built on Linux in C/C++, Perl and Bash

2005 - 2006 Volvo IT Software Developer
⋄ Software development of applications for monitoring the Volvo communications
infrastructure
⋄ Responsible for design and development
⋄ Project work during a summer
⋄ The development was done in C++ and Visual Basic

2001 - 2002 Appgate Software Developer, Test Manager/Tester
⋄ Administration and development of automated testing tools and evaluation of test data
⋄ Since Appgate built VPN solutions for the Internet, testing was an important part of product development
⋄ Responsibilities was to compile the procedures and to develop new test cases, both
automated (C, Expect, Perl, Bash), and manual, but also to evaluate safety issues in the communications field.
⋄ Test systems ran on HPUX, Solaris, BSD, Mac or Windows, and were mainly based on SSH connections

1998 - 2001 Volvo IT Software Developer

⋄ Operation, design and development of AB Volvo's and external customers system tools for managing security
⋄ Worked to split the Volvo Car network towards Ford, introduce a new email service as well as to develop different means of communication between the various partners and customers
⋄ Responsible for many parts of the internal network infrastructure such as DNS, email and various proxy solutions
⋄ Most of these systems run on some sort of UNIX variant (Solaris, Linux, BSD). Many of the solutions were specially developed in C, Perl or Bash

1996 – 1998 Datorisering Konsult AB Software Developer, Systems Administrator

Technical operation, installation and administration of systems and networks of small and medium-
sized businesses, focusing on UNIX (AIX and others) system administration.

Education

2004 → 2006 Master of Computer Science
Chalmers University of Technology/University of Göteborg

2002 → 2004 Sofware Engineering
Curtin University of Technology, Perth, Australia

1993 → 1995 Göteborg Technical Institute
Electronics and computers

1991 → 1992 Postgraduate Technical education
Electronics and computers, college graduage (Gymnasieingenjör)

1990 → 1991 Kamsack comprehensive Institute
Highschool graduate, Kamsack, Saskatchewan, Canada

1988 → 1990 Electronics-Telecommunications Field Engineer
El-teleteknisk gymnasium

Selection of attended courses

• AIX Administration
• AIX-Advanced Administration
• AIX-Networking
• AIX-Advanced Networking
• Linux System Administration
• ICRC- Introduction to Cisco Router Configuration ICRC
• BGP- Border gateway protocol
• CVS maintenance and setup
• Security in IP-networks
• USENIX conferences (3 occasions)
• SANS - Security
• SNMP & Network management
• Testing and verification
• C++ Secure Coding

Miscellaneous

marital status
Partner and 2 children

Hobbies
Triathlon, Swim-run, running, Cycling, zwift (Team SZ)