Arin Sinabian

Frilansande Fullstackutvecklare/Arkitekt

Teknik & Verktyg

Profil

Jag är systemarkitekt med både backend och frontend erfarenhet. Jag började jobba som utvecklare 2008 och har jobbat inom olika branscher och i olika länder. Mitt intresse för datorer och programmering började i tidig ålder. Jag är en kreativ utvecklare som inte bara kodar utan vill vara med och skapa produkten som jag utvecklar. Mina styrkor ligger i min förmåga att kommunicera med andra utvecklare och kunder/kravställare. Jag är mycket driven, analytisk och positivt lagd. Jag är social och har lätt för att knyta kontakter. Jag har lätt för att lära mig nya tekniker och metoder för att lösa uppgifter. Jag tycker att det är kul att sprida min kunskap men också bra på att lyssna och ta in ny kunskap.

Certifieringar

Erfarenhet

Safeline, Backendutvecklare/Arkitekt, Tyresö/Stockholm
JANUARI 2023 - FORTSATT

SafeLine utvecklar och tillverkar hissprodukter så som hisstelefoner, styrsystem och ersättningsprodukter för reparation av hissar. SafeLine utvecklar också system för att övervaka hissar där deras IoT produkter kan rapportera hissens rörelse, dörröppningar och andra händelser som rör hissen. Min roll på SafeLine som backendutvecklare är att fortsätta bygga vidare på Orion som är systemet som tar emot data från alla deras IoT produkter. Systemet arkitektur är byggt med Azure Eventhub som strömmar event till alla mikrotjänster. Mikrotjänsterna i sin tur producerar events som kan konsumeras av andra mikrotjänster. Arkitektur är byggd så tjänsterna är väldigt löst kopplade och gör det enkelt att släppa nya versioner av mikrotjänsterna. Jag har bidragit med att förenkla arkitekturen med dom delar jag har jobbat med. Jag har också förbättrat CI/CD processer för både backend och frontend. Mitt dagliga arbete har varit att kommunicera med produktägare, frontend utvecklare för att ta fram bra lösningar.

Serversidan:
Microservices, C#, ASP.NET 6,7, MongoDB (Mongodb driver), SQL (Postgres), xUnit.NET, Swashbuckle (Swagger), REST API
DevOps:
Azure DevOps, Azure Container Registry, GIT, Azure Pipelines/Releases, Kubernetes, Velero (Backup)
Miljöer:
Azure, Azure Cosmos DB (mongodb api), Docker, Azure Kubernetes, Azure EventHub, Timescale (Postgres for timeseries), Azure Service Bus

Charge Amps, Backendutvecklare, Stockholm
FEBRUARI 2022 - DECEMBER 2023

Charge Amps gör laddboxar till elbilar/laddhybrider. Olika team ansvarade för olika delar av Charge Amps molntjänst. Jag var i ett team som utvecklade OCPP server men jag bidrog till flera team. Min roll var att utveckla OCPP server som följer OCPP standarden för kommunikation mellan moln och laddbox. Där ingår bland annat att styra strömstyrkan under laddning. Balansera laddning mellan övrig förbrukning så säkringar inte går. Jag bidrog med min kunskap inom mikrotjänstarkitektur, enhetstestning, integrations testning. Jag satte upp nya mikrotjänster från grunden skrivna i .NET med Helm Charts deployade på Kubernetes. Jag lärde mig även nytt ramverk kallat Proto.Actor som är ett sätt utveckla applikationer distribuerat efter aktormodellen. OCPP server var utvecklat med Proto.Actor ramverket som gjorde det möjligt att skala till 100 000 laddboxar samtidigt utan problem.

Serversidan:
Microservices, C#, ASP.NET 6, Proto.Actor, Dapper, SQL, xUnit.NET, Swashbuckle (Swagger), REST API, MassTransit
DevOps:
Azure DevOps, Azure Container Registry, GIT, Azure Pipelines/Releases, Kubernetes, Helm, Grafana, Loki, Tempo, Prometheus
Miljöer:
Azure, Azure SQL, Docker, Azure Kubernetes, Azure Redis, RabbitMQ, Kafka, Azure Cosmos DB

Klara consulting (Konsult via Spree), Fullstackutvecklare/Arkitekt, Stockholm
JANUARI 2021 - FEBRUARI 2022

Klara Consulting hade utvecklat en portal åt sina kunder men saknade dokumentdelning mot sina kunder. Klara Consulting använde Sharepoint ut mot sina kunder men det var inte optimalt. Jag och UX fick rollen att ta reda på vad kraven var och vilken funktionalitet som fanns. UX tog fram design i Figma och tillsammans med användarna tog jag och UX fram kraven. Det befintliga systemet kördes i Kubernetes men var utvecklat som en monolit. Jag tog fram en mikrotjänstarkitektur där olika mikrotjänster ansvarade för affärsfunktioner. Jag gjorde även en tjänst som hanterade Sharepoint på ett enkelt sätt. Vilket möjliggjorde en dokumentdelning baserad på Office 365 för externa parter utan att man faktiskt använde SharePoint. Jag satte även upp CI/CD med Azure DevOps och Helm Charts.

Serversidan:
Microservices, Event driven, C#, ASP.NET 5, Entity Framework Core, SQL, MSTest, Swashbuckle (Swagger), REST API, Microsoft Graph API, MSAL
Klient:
TypeScript, Angular, HTML, SCSS, Tailwind CSS, Visual Studio Code
DevOps:
Docker, Azure Kubernetes, Azure Kubernetes, Azure Redis, Azure SQL, Azure Service Bus, RabbitMQ (lokal utv), Bridge to Kubernetes
Miljöer:
Azure DevOps, Azure Container Registry, GIT, Azure Pipelines/Releases, Kubernetes, Helm, Terraform

Klarna (In-house Spree), Fullstackutvecklare/Arkitekt, Stockholm
MAJ 2021 - NOVEMBER 2021

Spree fick i uppdrag att lansera ett spel åt Klarna som skulle används internt för deras supportavdelning. Det var ett webbaserat spel skrivet i Unity. Min roll var att ta fram en arkitektur för backend som skulle hantera användare och resultat under spelets gång. Användare loggades in via Azure Active Directory B2C sedan skickades man in i spelet i webbläsaren. Jag ansvarade även att backend kunde hantera stora mängden anställda från olika delar av världen som skulle spela samtidigt. Jag använde mig av Azure CDN för att kunna leverera spelet på ca 200-300Mb till alla användare utan att belasta faktiska servern med spelet. Jag utvecklade även en styrning av spelet så det gick att göra ”event” av spelet så alla kunde komma in i spelet samtidigt vilket kunden behövde.

Serversidan:
C# ASP.NET 5, Azure Cosmos DB, Swashbuckle (Swagger), REST API, Docker, MSAL
Klient:
Angular, TypeScript, HTML, SCSS, Visual Studio Code
DevOps:
Azure DevOps, Azure Container Registry, GIT, Azure Pipelines/Releases
Miljöer:
Azure, Azure Cosmos DB, Azure CDN, Azure Active Directory B2C, Lasttestning (https://loadster.app/)

MTR (Konsult via Spree), Backendutvecklare, Stockholm
NOVEMBER 2020 - JANUARI 2021

MTR Behövde hjälp med förvaltning och nyutveckling. Jag gick in som backendutvecklare men också som extra stöd åt frontend. Jag bidrog med kunskap i hur man kan skriva kod som är enkel att enhets testa i backend. Jag delade med mig av min erfarenhet och kunskap med teamet på distans via teams och på plats. Jag granskade både backend och frontend kod vid pull request. Jag satte även upp Azure SignalR och implementerade det i backend och visade för frontend utvecklarna hur man kunde använda det. Jag hade också tätt samarbete med testaren så buggar löstes snabbt. Jag gav förslag på förbättringar för Azure Devops pipelines och automatisk uppdatering av APIM vilket jag implementerade.

Serversidan:
C#, ASP.NET 5, Entity Framework Core, .NET Core IoC, NuGet, SQL, MSTest, Swashbuckle (Swagger), REST API
Klient:
Angular, TypeScript, HTML, SCSS, Visual Studio Code
DevOps:
Azure DevOps, Azure Container Registry, GIT, Azure Pipelines/Releases
Miljöer:
Docker, Azure Kubernetes, Azure API Managment, Cosmos DB, Azure SignalR

World Expo 2020 (in-house Spree), Fullstackutvecklare/Arkitekt, Stockholm
JANUARI 2020 - AUGUSTI 2021

World Expo 2020 är en utställning som skulle hållas i Dubai 2020 (uppskjuten till 2021 p.g.a. covid-19) där länder visar upp den senaste inom teknik, utveckling, forskning o.s.v. Spree fick i uppdrag att utveckla en del av Sveriges utställning. Spree tog fram interaktiva lösningar i Unity och webb som skulle presentera Sverige och företagen som är utställare. Min roll i projektet var att utveckla ett webbaserat CMS som passade tekniskt de interaktiva Unity-stationerna och att ta fram en webapplikation för guiderna i utställningen. Jag jobbade i ett team på 10 personer där min roll var fullstackutvecklare och ansvarig för att Unity-utvecklarna enkelt kunde integrera mot CMS:et. Jag hade möte med utvecklarna dagligen för att stötta dom tekniskt. Jag såg till att CMS:et var enkelt att använda för expopartners och jag tog även fram hur gränssnittet skulle ut. Jag skissade på hur hela arkitekturen och integrationen skulle se ut mellan CMS och alla applikationer. Jag vår också ansvarig att utveckla en progressive web app för guiderna som skulle hjälpa besökarna.

Serversidan:
C#, ASP.NET Core 3.1, Entity Framework Core, SQL, LINQ, .NET Core IoC, NuGet, NUnit, Swashbuckle (Swagger), REST API
Klient:
TypeScript, Angular, Material Design, Flex Layout, NPM, HTML, SCSS, Visual Studio Code, React, Redux, React Router
DevOps:
Bitbucket (Git), Docker hub, Docker Container, WSL 2, Docker Compose (för utveckling)
Miljöer:
Nginx, Azure, Azure SQL, Azure App Service (Docker container), Docker Container

Kone (in-house Spree), Fullstackutvecklare/Arkitekt, Stockholm
MARS 2018 - FEBRUARI 2020

Kone behövde ett verktyg för att stödja verksamheten från sälj till en färdig hiss. Jag hjälpte Kone att vidareutveckla verktyget SET (Sales and Engineering Tool). Syftet med systemet är att förenkla och vägleda olika roller i Kone genom processen från sälj till ett bygge av en hiss. Kraven var inte spikade utan togs fram under utveckling med mig och kunden tillsammans och släpptes löpande. Min roll var att utveckla systemet och att leda ett team på 3 utvecklare där jag planerade sprintar med en UX/ Projektledare med täta releaser på ca 2 - 4 veckor. Jag avlastade utvecklarna från DevOps bitarna så utvecklarna kunde fokusera på utveckling. Tex så tog Jag fram script för utvecklarna så manuellt processer skulle automatiseras. Jag och projektledaren hade tillsammans möte med kund regelbundet för att samla in krav från kunden inför varje release. Jag gav också förslag på funktioner till Kone och många av förslagen implementerades och uppskattades av Kone. Jag introducerade CI/CD för teamet för att förbättra kvalitén av nya versions släpp. Jag hjälpte även utvecklarna genom att göra skisser på arkitekturen så utvecklarna enklare kunde utveckla nya funktioner. SET används idag av Kone Sverige och Kone Norge och Kone är så pass nöjda att det även Danmark står på tur att få använda systemet.

Serversidan:
ASP.NET 4.7, ASP.NET Core, ASP.NET Web API, ASP.NET Core MVC, Entity Framework, SQL, LINQ, Autofac, NuGet, REST API
Klient:
TypeScript, Angular, Material Design, Flex Layout, NPM, HTML, SCSS, Visual Studio Code, E2E test Protractor, Jasmin
DevOps:
AppVeyor, Bitbucket (Git), PowerShell (deploy, DevOps), Angular CLI (Webpack)
Miljöer:
Azure, Azure SQL, Azure App Service, Azure Logic Apps, Azure Search, Azure AD, Azure Storage, Visual Studio 2019

Symbrio (Konsult via Spree), Fullstackutvecklare, Stockholm
NOVEMBER 2016 - MARS 2018

Symbrio är ett företag som utvecklar faktureringssystem för byggbranschen. Både företag som är inköpare och återförsäljare/leverantörer är kunder hos Symbrio och använder systemet. Min roll var att gå in som frontend konsult för att lyfta Symbrios användargränssnit. Lyftet gjordes med teknisk hjälp av Angular och konfigurering av CI/CD för Angular i Jenkins. Jag jobbade tätt med andra backendutvecklare och en grafiskdesigner för att knyta ihop den nya designen och flödet med backend. Jag spred även kunskap om Angular inom teamet. Jag och den grafiska designern hade tät dialog om möjligheterna och jag kom med förslag på förbättringar i gränssnittet. Teamet jag jobbade med bestod av 7 utvecklare, 1 designer och 2 testare. Teamet delades upp efter krav/funktioner och då beroende på krav så kunde jag jobba med 1 - 2 utvecklare och 1 testare. Jag hade även en workshop med Symbrios utvecklare där vi byggde en varningslampa när något byggsteg i Jenkins misslyckades. Vi använde sig av NodeMCU som styrde relän. Den lilla workshopen uppskattades verkligen av Symbrios utvecklare.

Serversidan:
C#, Web API ASP.NET, WebSockets, NHibernate, SQL
Klient:
TypeScript, JavaScript, Angular, AngularJS (fasades ut), HTML, CSS, Bootstrap, LESS, Webforms (fasades ut mot angular)
DevOps:
Jenkins, TFS, Angular CLI, Webpack
Miljöer:
IIS, Windows Server 2012, SQL Server 2012, Visual Studio 2017, Visual Studio Code, TFS, NPM

Logivia/Visma (Konsult via Spree), Fullstackutvecklare, Stockholm
SEPTEMBER 2015 - NOVEMBER 2016

Logivia är ett IT bolag som utvecklar logistiksystem och har ett samarbete med Visma. Systemet hanterar beställningar av transporter och med hjälp av systemet ska kunden snabba upp sin planering av transporter. Systemet kan planera och optimera körningar/hämtningar och även visa dessa i realtid och varna om något går snett. Teamet jag jobbade med bestod av 4 utvecklare, 1 testare och en projektledare. Jag fick utveckla flera olika delar av systemet i hela stacken från databas till HTML och JavaScript där jag även fick ta fram komponenter för användargränssnittet. Jag var stöd speciellt för frontendutvecklingen där jag delade med mig av kunskap till det andra. Eftersom design eller flöde inte fanns tog jag fram förslag som jag själv implementerade.

Serversidan:
MVC 5 .NET C#, Entity Framework 6, WCF, Web Services
Klient:
JavaScript, Knockout.js, HTML, CSS, Bootstrap, LESS
Miljöer:
IIS, Windows Server 2012, SQL server 2012, Visual Studio 2013, TFS

Klustr (inhouse projekt Spree), Backendutvecklare, Stockholm
JANUARI 2015 - AUGUSTI 2015

Min roll i projektet var att driva och planera beckendutveckling. Backend bestod av ett REST API som Klustr appen (iOS och Android) kommunicerade med. Eftersom jag var den enda backendutvecklare tog jag mycket ansvar och planerade sitt arbete tillsammans med de andra två apputvecklarna. Teamet bestod i 2 apputvecklare, 1 testare och tillsammans med mig som backendutvecklare tog vi fram Klustr appen. Backend bestod också av Cloud Service som körde uppdatering av användarnas data och kommunicerade via Service Bus till Azure App Service. Jag valde denna uppdelning så tunga körningar skulle köras i Cloud Service för att lasta av Azure App Service som endast skulle hantera API anrop. Jag tog fram delar av den arkitekturen.

Serversidan:
Web API 2 .NET, C#, OAuth, Entity Framework 6
DevOps:
SVN, TeamCity
Miljöer:
Visual Studio 2015, Azure Web app, Azure Cloud Service, Azure Service Bus, Azure Storage, Azure SQL Server, MSTest

Flygstolar.se/ATE (inhouse på M-Bition), Fullstackutvecklare, Stockholm
JANUARI 2014 - DECEMBER 2014

När jag jobbade på M-bition som ägde tjänsten ATE och flygstolar.se så jobbade jag med att vidareutveckla ATE som är en prisjämförelsemotor för flygresor och hotell. ATE var alltså en SaaS-tjänst som användes av andra sajter. ATE hämtar in priser från flera resebyråer och sammanställer data för att sedan kunna presenteras av en resesajt som använder ATE. Användare kan då söka efter det billigaste flyg eller hotellpriset från den resebyrå kunden föredrar. Min roll var att vidareutveckla tjänsten med hotellsök och lägga in nya resebyråer i prisjämförelsemotorn. Jag gjorde även förbättringar i arkitekturen för att enklare kunna lägga in fler resebyråer.

Serversidan:
MVC 3 .NET, C#, Web Forms, WCF, Web Services, ETL
Klient:
JavaScript, CSS, Knockout.js, Bootstrap, HTML
Miljöer:
IIS, Windows Server 2008, Windows Server 2012, SQL Server 2008, Visual Studio 2012, SVN

Tele2 (Konsult via M-Bition), Fullstackutvecklare, Stockholm
DECEMBER 2011 - JANUARI 2014

Jag arbetade i ett SCRUM team med cirka 20 personer uppdelade i front och backend team. Min uppgift var att stödja frontend teamet med att utveckla och underhålla webbutiken skriven i C# med ASP.NET Web Forms. TeamCity användes för att bygga, deploya och köra tester för frontend. Jag jobbade tätt med marknadsavdelning där jag tog eget ansvar och kommunicerade tydligt med marknad så resultat blev som förväntat. Jag jobbade också med konfiguration av olika typer av servrar och utbildade kollegor hur man konfigurerar dessa. Jag gav förslag att byta ut jQuery mot AngularJS för att förenkla utveckling av gränssnittet och öka på möjligheterna vilket gjordes med gott resultat.

Serversidan:
ASP .NET, C#, OpenText CMS
Klient:
JavaScript, HTML, CSS, jQuery, AngularJS
Miljöer:
IIS, Linux, SVN, Git, Windows Server, Visual Studio 2010, TeamCity, REHL, Apache HTTP Server, Memcached, PHP, MySQL, Magento

Bahnhof (Konsult via Netlight), Fullstackutvecklare, Stockholm
JUNI 2011 - DECEMBER 2011

Jag jobbade med att bygga ut Bahnhofs administration system för telefonväxlar. Min roll var att integrera mot SNPACs API så Bahnhofs administration system skulle kunna utföra porteringar enklare. Tyvärr blev jag inte klar med det uppdraget utan lämnade över den till en kollega som slutförde integrationen. Jag la grunden för integrationen och det var enkelt för kollegan att ta över och slutföra arbetet.

Serversidan:
Java, Ruby on Rails
Klient:
JavaScript, CSS, HTML
Miljöer:
Linux, SVN, Git, Vim, RubyMine

SCM Ventures (Konsult via Netlight), Frontendutvecklare, Stockholm
APRIL 2011 - JUNI 2011

SCM Ventures är en del av blocket.se mot utländska marknaden. Min roll var som webbutvecklare att utveckla HTML, CSS, JavaScript för ”feature phones” (äldre telefoner). Målet var att få ut en enkel version av blocket för indiska marknaden. Blocket visste inte vilka begräsningar som fanns i ”feature phones” vilket jag löste utmaningen genom att hitta statistik för de telefoner som var vanligast i Indien och att installera och dokumentera emulatorer för dessa. Detta arbete kunde blocket använda för att vidareutveckla i andra länder där dessa emulatorer behövdes. Jag jobbade självständigt i denna roll men kommunicerade med andra utvecklare inom SCM Ventures.

Serversidan:
PHP, Blocket Templating
Klient:
JavaScript, CSS, HTML
Miljöer:
Linux, Bazar versionshantering, Vim

Media Norge Digital (Konsult via Netlight), Fullstackutvecklare, Oslo
OKTOBER 2010 - APRIL 2011

Jag bodde och konsultade i Oslo i ca 8 månader eftersom jag fått ett uppdrag på Media Norge digital. MNO är en del av Schibsteds Digital avdelningar där utvecklingen av Schibsteds tidningar i Norge drivs (aftenposten.no, bt.no, aftenbladet.no med flera). Min roll var att hjälpa till att utveckla nya versioner av dessa sajter. Teamet jag jobbade i insåg att genom att utveckla ett gemensamt frontend ramverk för alla tidningar så skulle man spara mycket tid. Jag var med och tog fram ramverket tillsammans med MNOs utvecklare. bt.no lanserade först med ramverket för att sedan fortsätta med Aftenposten och Aftenbladet. Ramverket som utvecklades gjorde det mycket enklare för resterande tidningar att gå över till nya CMS:et Escenic. Jag jobbade enligt SCRUM med 3 frontend utvecklare och 5 andra backendutvecklare.

Serversidan:
JSP, Escenic
Klient:
JavaScript, HTML, CSS, jQuery, require.js
Miljöer:
Linux Debian, Tomcat, Intellij IDE, SVN

TELE2/COMVIQ (Konsult via Done Interactive), Fullstackutvecklare, Stockholm
OKTOBER 2009 - OKTOBER 2010

Jag jobbade som konsult på TELE2/COMVIQ där jag fick stödja COMVIQ team. Jags roll var att utveckla funktioner som marknadsavdelningen prioriterade. T.ex. tanka kontantkortfunktion med integration till en betallösning för att förenkla för COMVIQ kunder att fylla på kontantkort via webben. Jag hoppade även in som extra stöd och hjälpte till med att utveckla TELE2 företagsshopen. Jag fick jobba i ett SCRUM team på 10 personer med daily standups och retros. Jag fick också ta fram backend och frontend arkitekturen för Comviqs nya sajt som skrevs i .NET och JavaScript.

Serversidan:
ASP. NET, C#, Web Services, LiveServer
Klient:
jQuery, AJAX, JavaScript, JSON, HTML, CSS
Miljöer:
Linux, OpenText Reddot (CMS), Windows Server 2008, IIS, Apache Tomcat (LiveServer), Visual Studio 2010, SVN

Done Interactive, Fullstackutvecklare, Stockholm
AUGUSTI 2009 - OKTOBER 2010

Jag jobbade som fullstackutvecklare på Done Interactive. Jag jobbade med att utveckla kampanj och företagssajter och system åt kunder. Däribland kunder som Comviq, Blossa, Eurosport och andra kända varumärken. Kunderna jag jobbade med uppskattade min snabbhet och kommunikation.

Serversidan:
ASP .NET, C#, SQL, PHP, Web Services
Klient:
jQuery, AJAX, JavaScript, JSON, HTML, CSS
Miljöer:
IIS, Windows, Visual Studio 2008, SQL Server 2008, Adobe Photoshop, SVN

Fastcheck, Fullstackutvecklare, Stockholm
APRIL 2008 - AUGUSTI 2009

Fastcheck är ett företag som tillhandahåller reseguider i PDF format för nedladdning. Min roll var att integrera partnersidor med fastchecks nedladdning system och utveckla den egna sajten. Jag tog även fram en ny integrationsmetod som gjorde det lättare för icke teknisk personal att på kort tid ta fram en ny integration åt partners så man snabbare kunde få spridning av reseguiderna.

Hewlett Packard (Praktik via Tongji University), Full stack developer, Shanghai
JANUARI 2008 - APRIL 2008

Jag bodde i Shanghai och praktiserade på HP i 5 månader via Tongji University där jag var utbytesstudent. Jag var med och utvecklade ett felrapporteringssystem som används internt då hårdvara gick sönder eller inte fungerade. Jag jobbade i team på 3 personer vilket betydde mycket eget ansvar. Jag drev även kurs i JavaScript för mina kollegor som ville lära sig mer om frontend utveckling.

Kompetens

.NET/.NET Core
C#
SQL, SQL Server, Azure SQL Server
Cosmos DB
CI/CD (Azure DevOps, AppVeyor, Jenkins)
Monitoring (Grafana, Prometheus, Loki, Alerts)
Message brokers: RabbitMQ, Azure Service Bus, Kafka
Kubernetes, Helm, Azure Kuberenetes, Docker
Microservice Architecture
JavaScript/TypeScript
React
Angular
Azure
HTML,CSS, SASS

Utbildning

Computer Science, Tongji University, Shanghai
JUNI 2008 - APRIL 2009
Datavetenskapliga programmet, Uppsala Universitet, Uppsala
SEPTEMBER 2005 - JUNI 2008
Naturvetenskapliga programmet, Uppsala Universitet, Uppsala
SEPTEMBER 2004 - JUNI 2005
Radiolänkman, Försvaret S1, Enköping
SEPTEMBER 2003 - APRIL 2004
Teknikprogrammet, Fyrisskolan, Uppsala
SEPTEMBER 2000 - JUNI 2003