Daniel Jonsson
Systemutvecklare
Daniel är en systemutvecklare med 9+ års erfarenhet av mjukvaruutveckling professionellt inom flera programmeringsspråk. Framförallt har Daniel arbetat med DevOps, Blazor och C#/.NET, men har även erfarenhet av JavaScript, C++, Python, Swift, HTML och CSS. Han började programmera som nioåring och har en civilingenjörsexamen i systemutveckling från Chalmers tekniska högskola. Miljöerna som Daniel har arbetat professionellt med är Windows, webben, iOS, inbyggda system och testautomation.
Områden
- Systemutvecklare
- Teamledare
- Lead-utvecklare
Om Daniel
Daniel är duktig på att lösa komplexa uppgifter och är snabbt produktiv i nya system. Han är en fantastisk lagspelare och duktig på att höra sina kunder och kollegor. Han en människokännare med ett analytiskt sinne. Utanför arbetstid programmerar han gärna på egna projekt, tränar på gymmet, spelar schack, lär sig språk eller läser om kryptovalutor. Så här har en av Daniels referenser beskrivit honom: "Daniel var utvecklare i många projekt (konsult), varav vissa med mig. Han tog stort eget ansvar för planering, ledning och utförande, samt direktkontakt med kund. Han var allmänt (även av ledningen) ansedd som en schweizisk armékniv som kunde skickas in i vilket mjukvaruprojekt som helst och glänsa."Daniels CV
-
IdAgree
Systemutvecklare
2024 -
Uppdrag: Systemutvecklare i ett startup-bolag som bygger en tjänst för att skapa kvitton åt secondhand-köp.
Nytta: Daniel har från grunden byggt en webbtjänst och satt upp både produktionsmiljön och continuous deployment dit. Han har jobbat tillsammans med grundarna av bolaget och implementerat funktioner enligt deras önskemål, samt byggt en integration mot en tredjepartstjänst för att signera PDF-filer.
Tekniker: C#, .NET 8, ASP.NET Core, Blazor, Azure, GitHub Actions, Entity Framework, SQL Server, SQL Server Management Studio (SSMS), HTML, CSS, HTTP, REST API, Git, Rider. -
Västra Götalandsregionen
Lead-utvecklare
2023 -
framförallt jobbat med DevOps, Blazor, C#/.NET
Uppdrag: Lead-utvecklare i ett tvärfunktionellt team med 6 st kollegor, varav 2 st är programmerare. Tillsammans utvecklar de ett webbaserat ärendehanteringssystem där både externa användare och handläggare kan logga in.
Nytta: Som senior utvecklare har Daniel ett brett ansvar för utvecklingen av applikationen. Det gäller continuous delivery och deployment till kundens miljö, kvalitetssäkring via automatiska tester, leda det agila arbetet via Azure DevOps, hantera projektets källkod och branch-strategi och kodgranska sina kollegors kod. Daniel arbetar nära koden och är med i de beslut som tas gällande implementationen av arkitekturen, och stöttar sina programmerarkollegor. Han deltar även tillsammans med projektets arkitekt och projektledare i dialoger med kunden angående insamling av krav, demonstration av nya funktioner och tekniska diskussioner om integration och drift.
Tekniker: C#, .NET 8, ASP.NET Core, Blazor, Azure, Azure DevOps, Entity Framework, BankID, OAuth 2, SQL Server, SQL Server Management Studio (SSMS), HTML, CSS, JavaScript, HTTP, REST API, Git, Windows 11, Visual Studio, Rider, agila metoder (Scrum) -
Altero Consulting
Systemutvecklare
2022 -
Uppdrag: Utveckla en lösning som sammanställer data till ett datalager.
Nytta: Daniel arbetade som ensam utvecklare tillsammans med en projektledare i ett projekt där vi tog fram en lösning som automatiskt sammanställer data från databastabeller och Excel-filer till ett datalager. Detta resulterade i att kunden bland annat kan dra större affärsnytta från sin data. Daniel jobbade självständigt med mycket kontakt med slutanvändarna för att ta emot feedback och iterativt implementera förbättringar.
Tekniker: SQL, SQL Server, SQL Server Management Studio (SSMS), SQL Server Integration Services (SSIS), C#, .NET Framework, Python, HTTP, REST API, Git, Windows 10, Windows 11, Windows Server, Visual Studio, Visma, agila metoder (Kanban) -
Carnegie Investment Bank
Systemutvecklare och scrum master
2021 - 2022
Uppdrag: Vidareutveckling av integration mellan back office- och börshandelssystem, samt av system som används internt av mäklare för hantering av kunders värdepappersportföljer, i ett team med totalt 4-5 st utvecklare.
Nytta: Daniel var både systemutvecklare och scrum master, och representerade teamet i Scrum of Scrums- och arkitekturmöten. Han hjälpte till med att leverera teamets system under ett back office-systembyte på ett lyckat sätt. Daniel vidareutvecklade därefter teamets applikationer och mikrotjänster. Förutom nya funktioner, migrerade han teamets kodbaser från .NET Core 3.1 till .NET 6, och införde körning av enhetstester och automatisk uppdatering av databaserna i CI/CD-pipeline:n. Han hjälpte ofta till med kodgranskning, skriva release notes och deploya nya versioner av mikrotjänsterna. Han löste också ofta akuta problem som användarna stötte på. Både Daniels teamledare och chef uppskattade hur han alltid tog för sig bland arbetsuppgifterna och gärna var inne i alla delar.
Tekniker: C#, .NET Core, ASP.NET Core, Entity Framework Core (EF Core), SQL, SQL Server, SQL Server Management Studio (SSMS), WPF, Telerik UI for WPF, xUnit.net, Azure DevOps, HTML, CSS, JavaScript, Bootstrap, Python, RabbitMQ, JSON, HTTP, REST API, gRPC, FIX, QuickFIX, Git, Windows 10, Windows Server, Visual Studio, mikrotjänster, agila metoder (SAFe) -
CELLINK
Teamledare och systemutvecklare
2021 - 2021
Uppdrag: Teamledare för 6 st kollegor som arbetade med utveckling i WPF, AWS och Flutter. Daniels team utvecklade det grafiska gränssnittet till deras då kommande produkt CELLCYTE X, som är ett mikroskop som forskare kan schemalägga till att ta foton av cellprover.
Nytta: I rollen arbetade Daniel tillsammans med produktägaren med att bryta ner förfrågningar på nya funktioner till tekniska krav. Han gjorde grövre tidsestimat, förberedde arbete genom att designa grafiska gränssnitt och undanröjde hinder för teamet. Han stöttade sina kollegor, planerade och delade ut arbetsuppgifter, samt testade och kodgranskade vad de gjort. Daniel ansvarade för nya releaser av mjukvaran. Han samarbetade med teamledaren för embedded-systemet och de designade tillsammans API:er för systemen. Daniel reproducerade och lokaliserade även buggar från testarna. Han gjorde också viss utveckling själv. Vidare så hade han kontakt med säljare och installatörer för att ge teknisk support och ta emot feedback.
Tekniker: C#, .NET Framework, WPF, Prism, MSTest, MQTT, JSON, HTTP, REST API, Azure DevOps, Jira, Confluence, Python, AWS, Balsamiq, Figma, Git, Windows 10, Visual Studio, agila metoder (Scrum) -
Lab Gruppen
Systemutvecklare
2020 - 2020
Uppdrag: Daniel och 2 st kollegor hjälpte kunden med att porta en mjukvarulösning för ett inbyggt system utvecklad i C och assembler till att fungera på en annan hårdvaruplattform med en annan DSP (signalprocessor).
Nytta: Daniel utvecklade möjligheten att kunna föra över konfigurationsdata från Linux (ARM-processorkärna) till DSP:ns processorkärna, vilket gjorde det möjligt att styra saker som ljudvolym och equalizer-inställningar.
Tekniker: C, Linux, realtidsoperativsystem, Jira, Eclipse, agila metoder (Kanban) -
CELLINK
Systemutvecklare
2020 - 2020
Uppdrag: Från grunden bygga en Windows-applikation, i ett team med 2-7 st utvecklare, för deras då kommande produkt CELLCYTE X, som är ett mikroskop som forskare kan schemalägga till att ta foton av cellprover.
Nytta: Daniel byggde tillsammans med sina kollegor från grunden en Windows-baserad WPF-applikation. Som insatt i hur mikroskopets inbyggda system fungerade, så kunde han onboarda kollegor in i teamet och bidra till integrationen. I.o.m. att teamet varierade mycket i storlek så var Daniel en viktig person för projektet. Daniel tog även mycket ansvar för releaser av mjukvaran. Han arbetade också med att implementera automatiska tester i form av enhets- och GUI-tester.
Tekniker: C#, .NET Framework, WPF, Prism, MSTest, Microsoft UI Automation, MQTT, JSON, HTTP, REST API, Azure DevOps, Jira, Git, Windows 10, Visual Studio, agila metoder (Kanban) -
CELLINK
Systemutvecklare
2019 - 2020
Uppdrag: Vidareutveckla tillsammans med 2 st kollegor ett inbyggt (embedded) system i deras då kommande produkt CELLCYTE X, som är ett mikroskop som forskare kan schemalägga till att ta foton av cellprover.
Nytta: Daniel arbetade med det inbyggda systemet som körde Linux (ARM) och var byggt med Yocto. Han vidareutvecklade en C++17-applikation där den mesta av logiken fanns. Bland annat implementerade han persistering av experimentdata i en SQLite-databas med stöd för automatiska uppdateringar av databasschemat. Daniel arbetade även med funktionalitet som var implementerad i Python-skript. Samt arbetade han med kalibrering av hårdvaran och gjorde ändringar i dess 3D-skrivarmjukvara som var skriven i C och baserad på Marlin Firmware. I teamet arbetade de testdrivet med krav på hög nivå av kodtäckning av enhetstester.
Tekniker: C++17, GCC, Google Test (gtest), Yocto, Linux, CMake, Jenkins, MQTT, JSON, HTTP, REST API, SQL, SQLite, Python, C, Marlin Firmware, Jira, Git, Visual Studio Code, agila metoder (Kanban) -
Consilium Marine & Safety
Teamledare och systemutvecklare
2018 - 2018
Uppdrag: Teamledare för 2 st kollegor i ett projekt där Daniel planerade och utförde en omskrivning av ett konfigurationsprogram som användes till att konfigurera övervakningssystem som upptäcker gasläckage ombord på fraktfartyg.
Nytta: Daniel deltog i hela kedjan, från krav till implementation. Daniel utförde en förstudie innefattande formuleringar av arbetspaket, tidsestimat och GUI-mockups. Daniel var därefter ansvarig för arkitekturen av mjukvaran, kommunikation med kunden och mycket av implementationen. Daniel fördelade ut arbetsuppgifter till sina kollegor, och testade och kodgranskade vad de utvecklat. Övervakningssystemet hade sin egen parser i C++ för att packa och läsa konfigurationsdata, som Daniel integrerade i C#/WPF-applikationen. Vidare så arbetade Daniel testdrivet med hjälp av automatiska tester i form av enhets- och GUI-tester. Slutligen stod Daniel även för överlämningen när Consilium tog över underhållet av applikationen.
Tekniker: C#, .NET Framework, WPF, AvalonEdit, NUnit, Microsoft UI Automation, C++, MSVC, API, Balsamiq, Jira, Git, Windows 10, Visual Studio, agila metoder (Kanban) -
Mentice
Lead-utvecklare
2018 - 2018
Uppdrag: Daniel var lead-utvecklare i ett team tillsammans med 2 st utvecklare, där han planerade och tillsammans med dem implementerade en ny version av en webbapplikation där läkare kunde starta övningar i en kirurgisimulator och se resultat från tidigare övningstillfällen. I den nya versionen implementerade de stöd för mer avancerad metrikinsamling, jämförelse av resultaten mot benchmarks, flerspråksstöd, samt möjligheten att kunna konfigurera simulatorövningarna.
Nytta: Daniel deltog i hela kedjan, från krav till implementation. I början av projektet formulerade Daniel arbetspaket och tidsestimat, ritade GUI-mockups och gjorde ER-diagram över den nya databasmodellen. Kunden var nöjd med planen, och därefter utförde Daniel också en stor del av implementationen tillsammans med sina 2 st kollegor. Han jobbade med både backend och frontend, och hade regelbundet möten med kunden för att ta emot feedback. Kunden var i slutet av projektet väldigt nöjd med resultatet.
Tekniker: Python, Django, SQLite, HTML, CSS, JavaScript, jQuery, jQuery UI, JSON, API, Java, Balsamiq, Git, Windows 10, Visual Studio Code, agila metoder (Kanban) -
Mentice
Lead-utvecklare
2017 - 2019
Uppdrag: Utveckla en iPad-app för demonstration av kliniska instrument för endovaskulär kirurgi. Till en början var Daniel ensam iOS-utvecklare i projektet, och i 2 st uppföljningsprojekt var han lead-utvecklare för 2 st kollegor.
Nytta: Daniel implementerade en simulering av en operation med 3D-modeller av kirurgiska instrument. Han integrerade även stöd för att använda ett fysiskt instrument till att genomföra utvalda moment under operationen, där instrumentet kommunicerade med iPaden via Bluetooth (BLE). Projektet mottogs väl av kunden och ledde till 2 st uppföljningsprojekt, i vilka Daniel var lead-utvecklare tillsammans med 2 st kollegor.
Tekniker: Swift, UIKit, SceneKit, OpenGL, BLE, Blender, GIMP, SolidWorks, Python, Jira, Git, Xcode, agila metoder (Kanban) -
Consilium Marine & Safety
Lead-utvecklare
2016 - 2020
Uppdrag: Ensamt ansvarig för underhåll och vidareutveckling av en stor Windows-applikation hos Consilium som kördes på bryggan på fartyg. Applikationen visualiserade alla branddetektorer ombord på fartygets däck och deras statusar.
Nytta: Daniel implementerade ny funktionalitet, förbättrade användargränssnittet och prestandan, löste buggar och bidrog med teknisk support. Applikationens gränssnitt var byggd med C# och WPF, medan lagret som kommunicerade med brandsystemen var byggd med C++. Daniel vidareutvecklade också en simulator som användes till att spela upp och simulera trafik från ett brandsystem, vilket var användbart vid testning och demonstration av applikationen. Kunden uppskattade stort Daniels hjälp vid behov även på kvällar och helger. Applikationen hade en gammal föregångare (byggd i C++ med MFC och Visual C++ 6) som fortfarande användes på en del fartyg som Daniel också hjälpte till att buggfixa vid behov.
Tekniker: C#, .NET Framework, WPF, WCF, Entity Framework, C++14, MSVC, Modbus, MFC, API, SQL Server, SQL Server Management Studio (SSMS), AutoCAD, Jira, Git, VirualBox, Windows 7, Windows 10, Visual Studio, Visual C++ 6, agila metoder (Kanban) -
Consilium Marine & Safety
Systemutvecklare
2016 - 2020
Uppdrag: Ensamt ansvarig för underhåll och vidareutveckling av Consiliums instans av Aras Innovator, som är ett PLM-system som används till deras produkter inom brand- och gassäkerhet. I PLM-systemet fanns produkternas komponenter, dokument, ändringshistorik och mjukvara dokumenterat.
Nytta: Arbetet var på både frontend- och backend-nivå, och Daniel utvecklade nya funktioner relaterade till presentation av data, export av data och behörighetsnivåer. Daniel utförde också uppdateringar av Aras Innovator till nya versioner.
Tekniker: C#, .NET Framework, Aras Innovator, HTML, CSS, JavaScript, HTTP, API, SQL Server, SQL Server Management Studio (SSMS), Jira, Git, Windows 10, Windows Server, Visual Studio, agila metoder (Kanban) -
Ericsson
Systemutvecklare
2015 - 2016
Uppdrag: Ensamt ansvarig för att porta en avancerad Excel-arbetsbok med cirka 30 länkade arbetsblad till Python. Arbetsboken uppskattade belastningen på företagets servrar givet en mobiloperatörs trafiklast, vilket användes för att skapa underlag till offerter till dem.
Nytta: Daniel jobbade självständigt med portningsarbetet. Samtidigt implementerade han mer avancerad modellering som inte var möjlig att implementera i Excel. Han byggde även ett grafiskt webbaserat-gränssnitt.
Tekniker: Python, Pandas, Flask, Pywin32, Named pipe, SQLite, SQL, Excel, HTML, CSS, Bootstrap, JSON, API, Git, Windows 7, PyCharm, agila metoder (Kanban)
Daniels kompetensområden
-
Branscherfarenhet
Elektronikindustri, Bank & Finans, Medicinsk Teknik -
Databaser
Databaser allmänt -
Databashanterare
MS SQL-server, SQLite -
Metoder & Processer
SAFe, KANBAN, Agila metoder allmänt, Scrum, TDD - Test Driven Development -
Operativsystem/plattformar
Windows, Linux, iOS, Yocto -
Projektfaser
Systemering/Design/Krav, Förstudie, Utveckling/Genomförande -
Roller
Scrum master, Systemingenjör, Team-ledare, Utvecklare/Programmerare, Arkitekt -
Systemtyper
Windowsapplikationer, Webb- och Internetbaserade system, Inbyggda system, Objektorienterade system, Mobilapplikationer, Mjukvaruarkitektur - programnivå -
Test & Verifiering
Integrationstest, Funktionstestning, Systemtestning -
Utbildning
civ.ing -
Utvecklingsspråk
Swift, C, HTML, C#, C++, Javascript, Python, Java, CSS, XML -
Verktyg & Middleware
Django, Azure DevOps, IntelliJ, Wordpress, Eclipse, Xcode, ReSharper, Windows Presentation Foundation, Confluence, Git, Jira, Entity Framework, MS Office, MS Visual Studio
Daniels anställningar
-
VD, Kalyna Solutions AB
2022 -
-
Systemutvecklare, Carnegie Investment Bank
2021 - 2022
-
Konsult, AQC Sweden AB
2020 - 2021
-
Konsult, BitAddict AB
2016 - 2020
-
Systemutvecklare, Ericsson
2015 - 2016
Daniels utbildningar
-
Software engineering, master- och civilingenjörsexamen, Chalmers tekniska högskola
2014 - 2016
-
Software engineering, kandidatexamen, Chalmers tekniska högskola
2011 - 2014