Hoppa till sidans innehåll

Tom Zhao

Systemutvecklare fullstack

Tom har alltid besuttit en stark nyfikenhet och motivation för att förstå hur saker och ting fungerar. En gång hade Tom den största boksamlingen inom datavetenskap i Uppsala.

Idag är internet största kunskapskällan. Det är möjligt att delta i kurser som erbjuds av de finaste institutionerna i världen. Tom uppdaterar ständigt sina kunskaper.

Den djupa förståelsen för teknik och den solida bakgrunden inom matematik och datavetenskap har alltid hjälpt Tom att utforma fantastiska tekniska lösningar. Tillsammans med goda kommunikationsförmågor är Tom mycket uppskattad av sina kunder.

Tom är certifierade IT-arktitekt, Lead Developer. Tom har även genomgått en utbildning från Standford i maskininlärning.

Områden

  • Systemutvecklare fullstack
  • Java & JavaScript
  • Programmering
  • arkitektur och Cloud

Om Tom

Tom är omtänksam om andra människor och samarbeta gärna med sina kollegor att lösa problem tillsammans. Tom är pedagogisk och mycket bra på att förklara saker för sina kollegor. Tom är också noggrann och har mycket god analytisk förmåga.

Toms CV

  • #18. Sofia Fastighets AB

    Arkitekt & Utvecklare

    2023 - 2023

    Ett nytt och modernt fastighetsförvaltningssystem där flera partner kan ansluta sig och data kring fastigheter enkelt kan delas ska tas fram. Systemet är modulärt och i denna ertapp ska arkitekturen sättas på plats och ett par moduler tas fram först.

    Backend är utvecklad som Lambda-funktioner med Java 17, jOOQ, Spring Framework, GraphQL Java, Spring for GraphQL. Databashanterare är Amazon Aurora med PostgreSQL som gränssnitt.

    Frontend är utvecklad med JavaScript/TypeScript, React, NextJS och körs på Amazon Amplify Hosting.

    Teknik: Java 17 / Spring Framework / GraphQL for Java / jOOQ / Amazon Aurora med PostgresSQl / React / NextJS / JavaScript / TypeScript / NodeJS / Express / Storybook / Cypress / Amazon Amplify Hosting
  • #17. AddCode AB

    Arkitekt & Utvecklare

    2023 - 2023

    Detta projekt är en vidareutveckling av tidigare projekt integrationsplattformen under 2021 hos samma kund.

    Till ett rekryteringssystem har en integrationsplattform byggts för att kunna skicka kandidatdata från rekryteringssystemet till andra HR- och ekonomisystem. Nu ska även jobbannonser kunna skickas ut till andra jobbsajter. Till ändamålet behöver plattformens förmågor byggas ut.

    Tidigare var plattformen i princip tillståndslösa. Nu har Amazon DynamoDB införts för mellanlagring. Systemet är fortfarande eventdrivet, eftersom DynamoDB har utmärkt eventhantering med Lambda-funktioner.

    DynamoDB hanteras också av AWS CloudFormation.

    Tom utvecklade denna vidare utvecklingsdel, under ledning av en arkitekt på deltid hos kunden.

    Teknik: JavaScript / TypeScript / React / NextJS/ NodeJS / Amazon API Gateway / Amazon S3 / Amazon Serverless / Amazon Simple Queue Service (SQS) / AWS Cloud Watch / AWS CloudFormation / AWS DynamoDB / JSON / Microservices / OpenAI / REST / Storebook
  • #16. Kronofogden

    Utvecklare

    2022 - 2023

    Kronofogden fortsätter sin digitaliseringsresa med att digitalisera handlingar inom verksamhetsområde Verkställighet. Samtliga pappershandlingar skickas till en skanningsleverantör, som sedan skickar tillbaka handlingar i digitala formen.

    Ett system som kallas för DHV (Digitala Handlingar Verkställa) har byggts för att kunna ta emot inskannade digitala handlingar samt fördela handlingarna till olika verksamhetssystem.

    Lösningen var till stor del eventstyrd, och JMS / ActiveMQ hade använts mycket. Det fanns också en liten frontendsdel byggd med Angular.

    Teamet består av en tech lead, två utvecklare och två testare. Tom jobbade som utvecklare och implementerade systemet.

    Metodik: Scrum

    Teknik: ActiveMQ / Distribuerade system / Git / Java / Java EE / Java Message Service / Jenkins / JUnit / Maven / Oracle DB / JavaScript / TypeScript / NodeJS / Angular / Cypress.
  • #15. Extenda Retail AB

    Utvecklare

    2021 - 2022

    Extenda Retail erbjuder ett kraftfullt och flexibelt kassasystem för detaljhandelsbranschen. Systemet används av många ledande livsmedelsföretag i Sverige, såsom ICA, Hemköp, Willys. Miljontals transaktioner görs varje dag på dessa system.

    Extenda Retail-kassasystemet har en mycket stor kodbas och använder många teknologier. Systemet består av många komponenter som sammanlänkas via ActiveMQ. Många noder har egna databaser och kan arbeta offline.

    Under denna period genomgår systemet en spännande transformation, från lokala installationer till molnbaserad lösning. Dataanalysfunktioner utreddes att läggas till och Apache Spark var tänkt som lösningen. Idén var att försäljningsdata från olika butiker kan samlas på ett ställe och analyseras, för att upptäcka nya affärsmöjligheter.

    Tom var en del av ett team på cirka 20 personer. Tom gjorde några POC-arbeten, utvecklade några nya funktioner, förbättrade automatiserade tester och åtgärdade även några buggar.

    Metodik: Kanban

    Teknik: Java 8 & 11 / Docker / Java FX / Jenkins / JUnit / Quarkus / Google Cloud Services / Liquibase / Maven / MySQL / Spring Framework
  • #14. AddCode AB

    Arkitekt & Utvecklare

    2021 - 2021

    Till ett rekryteringssystem behöver en integrationsplattform byggas för att kunna skicka kandidatdata från rekryteringssystemet till andra HR- och ekonomisystem, samt koppla till särskilda tjänster som bakgrundskontroll vid rekryteringar. Användare ska även kunna ta ut Excel-rapporter med rekryteringsstatistik.

    Plattformen utformades med en serverlös arkitektur och implementerades på AWS med hjälp av Lambda-funktioner. Systemet är eventdrivet, där flera FIFO-köer sammanlänkar olika komponenter.

    Exempel nedan:
    1. En Lambda-funktion utgör REST-API bakom en API-Gateway, tar emot användarförfrågningar och lägger dem på en FIFO-kö (Amazon Simple Queue Service, SQS).
    2. En annan Lambda-funktion läser förfrågningar från SQS, gör REST-tjänsteanrop till rekryteringssystemets API, skapar en Excel-rapport och lagrar den på en hink på Amazon S3.

    Alla AWS-resurser skapas automatiskt genom AWS CloudFormation. Med endast ett kommando kan man upprätta en ny miljö.

    Plattform har en tillhörande frontend, utvecklad med React/NextJS.

    Ungefär 10 HR- och ekonomisystem kopplades till plattformen, vilket tillförde stort värde till slutkunden. Integrationer med nya system kan smidigt läggas till genom man implementerar nya Lambda-funktioner.

    Roll: Tom utvecklade större delen av plattformen, under ledning av en arkitekt på deltid hos kunden.

    Teknik: JavaScript / TypeScript / NodeJS / React / NextJS / Amazon API Gateway / Amazon S3 / Amazon Serverless / Amazon Simple Queue Service (SQS) / AWS Cloud Watch / AWS CloudFormation / JSON / Microservices / OpenAPI / REST / Storybook
  • #13. Kronofogden

    Lead Developer

    2019 - 2021

    Fenix är ett verksamhetssystem för skuldsanering.

    Systemet var byggd med Java EE, och hade flera komponenter sammanlänkade med JMS. Systemet hade en stor kodbas och kördes på en gammal Java 6 baserad Weblogic-server med en egenutvecklad säkerhetslösning. Projektet gick ut på att migrera systemet till en modernare Java 8 baserad Weblogic-server och med en ny säkerhetslösning.

    Projektet hade hög komplexitet och hög tidspress.

    Tom ingick i ett team av drygt 10 personer och genomförde migreringen. Tom agerade som Lead Developer, gjorde POC-arbete, planerade och fördelade arbetsuppgifter till andra teammedlemmar, programmerade några centrala komponenter, förbättrade automatiserade tester och Jenkins CI/CD pipeline rejält.

    Toms insats var av det avgörande betydelse för projektets framgång.

    Metodik: Kanban

    Teknik: Distribuerade system / Git / Java / Java EE / Java Message Service / Jenkins / CI/CD / JUnit / Maven / Oracle DB /
  • #12. SEB

    Utvecklare

    2018 - 2019

    SEB ville bygga en masterdata plattform så att affärs data snabbare kunde konsumeras i organisationen för effektivare verksamhet.

    En ny kritisk infrastrukturkomponent, Apache Kafka, införskaffades. System som utgjorde datakällor kopplade sig mot Apache Kafka och skickade data till Apache Kafka.

    Framför Apache Kafka byggdes ett antal komponenter. Vissa komponenter byggdes med Apache Kafkas KStream API och KTable API för realtidsanalys. Andra komponenter byggdes som mikrotjänster i form av REST-API och andra delar i organisationen kunde konsumera data via dessa API:er.

    Komponenterna var implementerade med Spring Boot och kördes i en OpenShift-plattform.

    Tom ingick i ett större team av 20 personer, och hade rollen som utvecklare, implementerade några av komponenterna.

    Metodik: Scrum

    Teknik: Apache Kafka / Kubernetes / Docker / Java / Jenkins / JSON / JUnit / Git / Maven / Microservices / OpenShift / REST-API / Spring Boot / Swagger
  • #11. Kungliga biblioteket

    Java och databasspecialist

    2018 - 2019

    Kungliga biblioteket tillhandahåller en tjänst som heter Swepub, en samlad redovisning av vetenskaplig publicering i Sverige. Tekniskt består tjänsten av en grafdatabas, en sökmotor, ett användargränssnitt och ett importprogram (Java).

    Indata kommer från Sveriges universitet och högskolor. Det finns dock problem med importprogrammet och data kommer inte in i systemet på ett korrekt sätt.

    I arbetet ingår att lokalisera problemet och hitta en lösning.
  • #10. Skatteverket

    Lösningsarkitekt

    2017 - 2018

    Skatteverket hade lång tradition av att använda Java Enterprise Edition och WebLogic App Server från Oracle. Denna plattform började bli impopulär och tappade innovationskraft. Därför ville Skatteverket modernisera sin teknikstack och plattform.

    En ny plattform, OpenShift, införskaffades för att möjliggöra container baserad utveckling. En repository-hanterare med sårbarhetsskanningsfunktioner var på väg in också.

    Tom var lösningsarkitekt för delprojektet som tog in Binary Repository Manager (Artifactory). Tom ingick i ett litet team av fyra personer och gjorde utredningsarbeten, arkitekturdesign och implementationen.

    Metodik: Scrum

    Teknik: Docker / Kubernetes / Java / Jenkins / JSON / JUnit / Git / Gradle / Microservices / OpenShift / REST-API / Artifactory
  • #9. Skatteverket

    Java-arkitekt, verktygsspecialist, Lead Developer

    2012 - 2016

    Skatteverket hade använt sig av Java Enterprise Edition sedan länge. Av historiska skäl användes UML-modellering och kodgenerering för att generera kod med säkerhetsfunktioner. Kodgenereringen gjordes av ett egenutvecklat verktyg ovanför Apache Ant. Detta verktyg hade många problem, vilket ledde till orimliga långa byggtider och dåliga moduluppdelningar. Flera försök gjordes tidigare för att göra något åt problemet men alla försök misslyckades.

    Mellan 2012 och 2014 ansvarade Tom att lösa problemet med byggverktyget. Det bestämdes att ett nytt byggverktyg med samma funktioner skulle byggas. Tom designade ett nytt byggverktyg och implementerade större delen av det.

    Verktyget introducerades till utvecklare under höst 2014. Mellan 2015 och 2016 migrerade alla Java-system och de byggdes med det nya verktyget.

    Tom ansvarade för migrering av många stora system, bland annat beskattningssystemet. Alla system fick bättre strukturer och moduler, som underlättade moderna utvecklingsmetodik som TDD (Test Driven Development). Tom coachade c.a. 50 tals utvecklare, arkitekter och CM, om hur man designar bättre modulära system. Effektiviseringsvinster var stora, med nedbantade byggtider och bättre moduluppdelningar uppskattades värdet till minst 20 miljoner SEK per år.

    Mellan 2012 och 2013 var Tom också involverad i ett projekt att utreda och införa ett nytt Java-webbramverk till Skatteverket. Tom ledde ett team av 3 personer och valet föll på Java Server Faces (JSF).

    Under sina år på Skatteverket satte Tom i ett antal olika arkitekturkommittéer och granskade många arkitekturdokument (Software Architecture Document) inom skilda områden, som webbramverk eller säkerhetsramverk.

    Teknik: Ant / ClearCase / Git / Gradle / Java / Java Enterprise Edition / Java EE Security Framework / Oracle WebLogic Server
  • #8. TeliaSonera AB

    Infrastrukturspecialist & Systemutvecklare

    2008 - 2011

    MSDP var TeliaSoneras portalplattform för mobiltelefoner. Plattformen används i 7 länder i Europa. Plattformen bestod av 20 tals javaapplikationer, varav majoriteten kördes på JBoss Applikation Server. Utöver dem fanns det även 10-tals apacheinstallationer och en Oracle DB-kluster. Operativsystem var RedHat Linux.

    Tom var driftansvarig för plattformen. Arbetsområden består av följande:

    1. Installera, konfigurera, driftsätta, optimera, felsöka JBoss Applikation Server.
    2. Installera, konfigurera, driftsätta, optimera, felsöka Apache webbserver.
    3. Utveckling av Linux Bash Script, som underlättar driften.
    4. Optimering av SQL-frågor.
    5. Applikationsrelaterad databasadministration.
    6. Övervakning av systemet med hjälp av HP OpenView och Python Script
    7. Kodgranskning av applikationer.
    8. Felsökning samt optimering av applikationer.

    Under de åren Tom arbetade med plattformen utvecklade Tom många Bash Script och Python Script, som automatiserade mer och mer av dagliga arbeten. Mer tid frigjordes till systemutveckling.

    Metodik: Scrum

    Teknik: Apache Web Server / Bash / Java / Java Enterprise Edition / JBoss Application Server / Linux (Redhat) / Oracle DB / Python / Spring Framework
  • #7. Posten AB

    Databas- och systemutvecklare

    2007 - 2008

    Posten hade ett egenutvecklat system för asset/tjänsthantering. Systemet används bland annat för framtagning av debiteringsunderlag. Systemet var i mycket dåligt skick, med många buggar och brister. Uppdraget gick ut på att underhålla systemet så att det skulle tillfredsställa verksamhetens behov samt omarbeta systemet utan att verksamheten skulle störas.

    Ett nytt omarbetat system lanserades till sist, byggt med Spring 2.5, JBoss Applikation Server och Oracle PL/SQL. Ett stort arbete gjordes på databassidan, med omarbetade databasdesign och korrekt databasindexering. Prestanda höjdes rejält, operation som tog timmar innan tog bara sekunder/minuter efteråt.

    Teknik: Java / JBoss Applikation Server / Oracle DB / Spring Framework
  • #6. InProdicon AB

    Systemutvecklare

    2006 - 2007

    InProdicon en ”grossist” av digital musik. Företaget har ett musikbutikssystem där återförsäljare kan sälja digitalmusik till slutkund. TeliaSonera är en av kunderna.

    Datamängden är omfattande, upp till flera terabytes och växer varje dag.

    Jag deltog utvecklingen i många olika delar och fick använda mig av en rad olika tekniker.

    - utveckling av backendssystem med EJB3, Hibernate, Struts och JBoss.
    - utredning och design av ett nytt frontendssystem, med Spring.
    - utvecklade ASP.NET-komponent med C#.
    - utvärderade olika streaming server lösningar, bl. a. Microsoft Streaming Server, Apple Darwin Streaming Server.
    - datamodellering och design av XML-schema (för att kunna underlätta informationsutbyte)
    - programmering för transformering av andras leverantörs XML till ”eget” XML format. XSLT räcker inte p.g.a. behov av att kunna anropa externa api:er. Ett ramverket baserad på Composite och Visitor pattern har implementerats.
    - programmering av utility-program som underlättar data intagande från musikleverantör (Universal, SonyBMG). Programmet var gjort i C# med anrop mot SQL-2005 databas.
    - transkodingsprogrammering med C/C++, Java native interface, DirectShow filter. Ljudfiler av format WAV, WMA, AAC, MP3 kan transkodas mellan varandra.
  • #5. Mobot AB

    Systemtekniker

    2005 - 2006

    IP-telefoni, Mobot erbjuder telefonitjänster via IP-nätet. Systemet heter Wicom Communication Service Suite som är levererad av det finska bolaget Wicom. Jag arbetade med drift och kund-installation. Under arbetes gång kom jag även kontakt med SIP, Asterisk etc.
  • #4. Uppsala universitet

    Systemutvecklare

    2003 - 2004

    Diporta används för dokumentation av kommunikationsövningar som finns med i många olika kurser.

    Studenter kan hantera sina dokument samt fylla i utvärderingsformulär. Lärare kan följa upp studenters framsteg.
    Studenters muntliga presentationer filmas och inspelade video lagras i systemet. Datamängden är därför stor.
    Det finns planer att strömma ut video men denna plan stannade vid förstudier och har inte blivit av.

    Systemet är utvecklat med J2EE.
  • #3. TeliaSonera AB

    Mobilportal

    2002 - 2003

    Detta projekt utfördes hos Telia Mobile där jag arbetade hos ett team som
    åtgärdade buggar i systemet.

    System kan hantera flera mobilportaler samtidigt. Bl.a. använde Halebope
    och mobilportal i Danmark detta system.

    Användning av XML och XSLT är omfattande i detta system. Varje tjänster
    som användare kommer åt består av en XML-data del och ett antal XSLT filer
    som transformerar XML-data till olika webbläddrare och mobilterminaler.
  • #2. Kulan Akademiker

    Databasutvecklare

    2001 - 2002

    Kulan Akademiker är verksam inom bemanningsbranschen. Projektet handlade om att utveckla en konsultdatabas.

    Tom utvecklade databasen på MS SQL-server medan en annan utvecklare utvecklade frontend med ASP.

    Teknik: MS SQL-server / Transact-SQL
  • #1. CC Systems

    Systemutvecklare

    2001 - 2001

    Denna GIS-applikation var utvecklad med MFC och ActiveX.

    Applikationen samverkar med GPS för positionering och ger varning vid passerande till förbjudet område.

Toms kompetensområden

  • Systemtyper

    Systemtyper allmänt, Objektorienterade system, Webb- och Internetbaserade system, Systemarkitektur - systemnivå
  • Databaser

    Databaser allmänt, Datamodellering
  • Operativsystem/plattformar

    Dos, Linux, Red Hat, Apache HTTP Server
  • Databashanterare

    Oracle, Progress, mySQL, MS Access, Postgresql
  • Utvecklingsspråk

    ASP, C, C++, EJB, HTML, Java, Javascript, JSP, PL/SQL, Servlets, SQL, SQL Windows, XML, Python, XSL-FO, Unix Shell script, J2SE, PowerShell, HTML5, Jquery, Webservices, XSD, XSL, JUnit, MVC, IntelliJ, Spring, JavaFX, Typescript, Groovy, React, NextJS
  • Hårdvara

    PC
  • Drift/Support/Service

    Installation/underhåll
  • Branscherfarenhet

    Teleoperatörer
  • Verktyg & Middleware

    Apache Jakarta/Tomcat, J2EE, Oracle Weblogic Server, JDBC, JBoss, Ant, Weblogic, Tomcat, Spring, Subversion, Git, Maven, Node.js, React, IntelliJ, Kafka
  • Utbildning

    Annan högskoleutbildning 4 år eller mer
  • Roller

    Arkitekt, Utvecklare/Programmerare, Lösningsarkitekt

Toms anställningar

  • Konsult, Jaxyz AB

    2009 -

  • Konsult, Enskild Firma

    2000 - 2009

Toms utbildningar

  • LFD459: Kubernetes for App Developers, The Linux Foundation

    2022 - 2022

  • Machine Learning, Standford (Online via Coursera)

    2022 - 2022

  • Certifierad Lead Developer, DFK - Dataföreningen Kompetens

    2018 - 2018

  • Certifierad IT-arkitekt Master, DFK - Dataföreningen Kompetens

    2017 - 2017

  • Datavetenskap 160p, Uppsala universitet

    1997 - 2002

Till konsultsök

Kontakt

Anna Bohlin Archer Kundansvarig säljare, Bransch: Bank, Finans, Försäkring 070-370 53 63 anna.bohlin@kvadrat.se

Kvadrat i siffror

  • 593

    Konsulter, kollegor och kompisar

  • 346

    Kunder senaste året

  • 76/100

    Nöjd kund-index

Vision

Världens lyckligaste yrkesmänniskor

Branscher

  • Bank och försäkring
  • Offentlig sektor
  • Digitala produkter
  • Telekom
  • Utbildning/forskning
  • Medtech
  • Automotive
  • Retail
  • Logistik
  • Återvinning