JOEL
ROSDAHL
MJUKVARUUTVECKLARE
joel@rosdahl.net
0733-879392
Erfaren mjukvaruutvecklare med fallenhet för verktygsutveckling,
automatisering, DevOps och systemprogrammering.
”You do so many great things – you have got some great skills. Your attitude is always at top, helpful and supportive. As a manager I have great help from you when I want feedback and possible solutions. Easy to discuss with. It has been really fun to work with you this year!”
– Per Rahnel, 2019
2020 –
Senior Systems Engineer, Veoneer
-
Utveckling och underhåll av CI/CD-system (Continuous
Integration/Continuous Deployment) i en CI-organisation med ett 30-tal
medarbetare som supportar ett antal tusen utvecklare.
-
Medlem av agilt team med medlemmar i Sverige, Rumänien och USA med
ansvar för utveckling av utvecklingsmiljö, hjälpverktyg och system för
användning internt i CI-organisationen.
-
Administration och konfigurering av Linux- och Windows-servrar med hjälp
av Ansible.
- Utveckling av nytt GitLab-baserat CI-system.
- Support av befintliga Gerrit/Jenkins/Zuul-baserade CI-system.
- Arbete med att införa Bazel som nytt byggsystem.
- Lead för lokalt standardiseringsforum.
-
Verktyg, teknologier och arbetssätt: Linux, Ansible, Docker, Python,
Bash, Git, GitLab, Gerrit, Jenkins, Zuul, Active Directory, LDAP, CI/CD,
Artifactory, Elasticsearch, Kibana, Prometheus, Grafana, Bazel, Scrum.
2009 – 2020
Distinguished Software Engineer, CommScope/ARRIS/Motorola
(Den del av Motorola som utvecklade TV-boxar såldes till ARRIS 2013. ARRIS såldes till CommScope 2019.)
- Utveckling av C++-baserad mjukvarustack för IP-TV-boxar.
- ”Go to”-person för tekniska frågor gällande C++, Python, Git, byggsystem, versionshantering och CI (Continuous Integration).
- Utveckling av nytt Git-baserat CI-system.
- Planering och genomförande av migrering av flera mjukvarustackar och -produkter från Subversion till Git.
- Förbättring av Subversion-baserat CI-system.
- Utveckling av hjälpverktyg för utvecklingsmiljö.
- Drivande och utförande av virtualisering av byggmiljö med hjälp av Docker.
- Införande av användning av Ansible istället för manuell heterogen serverkonfiguration.
- Drivande och sammankallande i arbete med revidering av kodningsstandard för C++.
- Drivande och utförande av automatisk kodformattering baserat på clang-format.
- Lead för flera kodgranskningsgrupper.
- Medlem av agilt utvecklingsteam med ansvar för mjukvarustackens plattformsdelar, exempelvis styrning och övervakning av processer/tjänster/applikationer, IPC-mekanismer, byggsystem, kompilatorer (”toolchains”), gemensamma bibliotek, integration och hantering av tredjepartsprogramvaror, licenshantering för open source-programvara.
- Medlem av teknisk CM-grupp.
- Medlem av intressegrupp för byggsystem.
- Erfarenhet av att samarbeta med utvecklare i Kina, USA och Storbritannien.
- Administration av diverse servrar och system.
- Verktyg, teknologier och arbetssätt: Linux, inbyggda system, Android, C++, C, ccache, Python, Perl, shell script, PHP, JavaScript, Vue.js, WebSockets, MySQL, PostgreSQL, SQLite, Docker, Apache, Nginx, Redis, GNU make, GNU toolchain, Git, Gitolite, cgit, Subversion, CherryPy, Ansible, Review Board, Google Test, Google Mock, Scrum, Kanban.
Befordringar:
- Distinguished Software Engineer: 2019
- Principal Software Engineer: 2017
- Staff Software Engineer: 2013
1999 – 2009
Software Designer, Enea
- Mjukvaruutveckling bland annat med konsultuppdrag mot Ericsson och ServiceFactory.
2005 – 2009
Konsultuppdrag, Ericsson
- Utveckling av storskaligt system för bearbetning av händelser (events) från telekommunikationsprotokoll. (C++, Java, CORBA, Solaris, ClearCase)
- Utveckling av verktyg. (Python, shell script)
- XP (Extreme Programming)-pilot (parprogrammering, sprintar, etc).
2005
Konsultuppdrag, Teligent
- Funktionstestning av system för röstbrevlåda.
1999 – 2004
Konsultuppdrag, ServiceFactory
- Utveckling av modulbaserat system för övervakning av bredbandsinfrastruktur. (SNMP, C, C++, shell script, AWK, GNU Make, Autoconf, CVS)
- Utveckling av felsäker primärminnesdatabas. (C)
- Utveckling av hjälpbibliotek för plug-in-moduler till Net-SNMP. (C)
- Utveckling av system för säkerhetsövervakning. (Perl)
- Utveckling av alarmhantering. (MRTG, Perl)
- Utveckling av webbapplikation för statistik över nätverksroaming. (Java, JSP, Tomcat, PostgreSQL, MySQL)
- Utveckling av webbapplikation för nätverksstatistik och -konfiguration. (PHP, Apache, MySQL)
1998
Sommarjobb, Sectra
- Utveckling av konfigurationsprogram för nätverksutrustning. (C++, Windows NT)
1995 – 1997
Sommarjobb, KSU – Kärnkraftsäkerhet och Utbildning
- Design av utvecklingsmiljö. (IRIX, RCS, make, Emacs)
- Utveckling av grafiskt gränssnitt för kommunikation med en kärnkraftverksmodell. (C++, IRIX, Dataviews, Motif)
1995
Laborationsassistent, Linköpings universitet
- Assistent i en introduktionskurs i programmering och datavetenskap. (Pascal)
1990 – 1993
Sommarjobb, KSU – Kärnkraftsäkerhet och Utbildning
- Utveckling av grafritningsverktyg. (C, Motif, X11, SunOS)
- Utveckling av konverteringsverktyg för databas. (C)
- Installation av hårdvara och mjukvara.
- CAD-ritning.
1993 – 2000
Civilingenjör datateknik, Linköpings universitet
- Inriktning: datalogi.
- Examensarbete: Prototyp för sökarsystem över digitalradio.
1994
Värnplikt, Arméns musikkår
- Musiksoldat med klarinett som instrument.
1990 – 1993
Naturvetenskaplig linje, Gripenskolan Nyköping
- Inriktning: datakunskap.
- Examensarbete: C++.
- Svenska: modersmål
- Engelska: mycket goda
- Danska: vissa
- Franska: vissa
2010 –
Utvecklare, ccache
- Primär utvecklare av ccache, ett snabbt kompilatorcacheprogram.
- Teknik: C++, C, GCC, Clang, CMake, GNU Make, HTTP, Redis, GitHub.
1997 –
Utvecklare, Debian
- Paketering och anpassning av open source-mjukvara.
1997 –
Delaktig i open source-gemenskapen
Bidrag i form av utveckling, patchar och buggrapporter till en mängd open source-projekt:
- APSW (Python-modul för SQLite)
- Arch (versionshanteringsprogram)
- Bazaar (versionshanteringsprogram)
- ccache (kompilatorcache)
- Cppcheck (statisk kodanalys av C och C++)
- Debian (Linux-distribution)
- doctest (testramverk för C++)
- emacs-clang-format-plus (Emacs-modul)
- fancy-dabbrev (Emacs-modul)
- git-subrepo (Git-utökning)
- GNU Emacs (editor)
- gPhoto2 (mjukvara för digitalkameror)
- hgsvn (konverteringsprogram)
- iflipb (Emacs-modul)
- JCarder (verktyg för att hitta Java-trådproblem)
- LysKOM elisp client (Emacs-klient för LysKOM)
- maildirproc (hantera maildir-kataloger)
- Mercurial (versionshanteringsprogram)
- Meson (byggsystem)
- miniircd (IRC-server i Python)
- Monotone (versionshanteringsprogram)
- multiple-cursors.el (Emacs-modul)
- NET-SNMP (SNMP-agent)
- PySQLite (Python-modul för SQLite)
- python-irclib (Python-modul för IRC)
- Python (programmeringsspråk)
- typeshed (Python-modul med statisk typning)
- sSMTP (lokal SMTP-server)
- straight.el (pakethanterare för Emacs)
- Subversion (versionshanteringsprogram)
- swiper (Emacs-modul)
- XChat (IRC-klient)