Thomas Thyberg. Född: 1963. E-post: thomas.thyberg@crisp.se. Telefon: +46 70 77 666 77. Tekniker



Relevanta dokument
Thomas Thyberg. Född: E-post: Telefon: Tekniker

Thomas Thyberg. Född: E-post: Telefon: Tekniker

Daniel Sundman Sidan! 1 av 6! Jag är en entusiastisk och engagerad person som brinner för att hjälpa företag utveckla mjukvara.

Teknik: HTML5, CSS3, Twitter Bootstrap Wicket, Java, Spring MVC, JPA, Hibernate, Mysql, HSQLDB, Maven, Git, FitNesse, Jenkins, Sonar, mm.

Innehållsförteckning Sida 3 Om IT-Högskolan Sida 4-5.NET-utvecklare Sida 6-7 Applikationsutvecklare till iphone och Android Sida 8-9 Mjukvarutestare

Slutrapport för JMDB.COM. Johan Wibjer

Utbildning. Anställningar. Jonathan Wahlund Topeliusvägen Bromma

Javautvecklare. Utbildningsfakta. 400 YH-poäng, 2 år

Slutrapport YUNSIT.se Portfolio/blogg

Mika Timonen Alfasco AB Mobil Brännkyrkagatan 54B E-post: Stockholm Medborgarskap: Svenskt. Hej!

Systemutvecklare.NET, C#/VB, C/C++, ASP.NET, T-SQL, JAVA Systemdesign

Mål. Uppdrag. NuvoAir, Stockholm Oktober 2017 Februari Spotify, Stockholm Februari 2017 September 2017

Senior utvecklare/arkitekt Rama Pour Rajaei Utbildningar Certifieringar Kontaktinformation

Senior utvecklare och Scrum Master

Konsult: Mats Lindblad; Kontaktperson: Mats Lindblad; Tel: ; E-post:

Collector en Android-app för att samla saker. Kim Grönqvist (kg222dk) Slutrapport

KONSULTPROFIL Magnus Lambert Senior systemutvecklare, Senior javautvecklare

GYMKEEPER ANDREAS SÖDERSTRÖM

Continuous Integration med Jenkins. Linus Tolke Enea Experts

Konsultprofil Per Brundin

Konsultprofil Per Brundin

Curriculum Vitae. Systemutvecklare/konsult. Kontaktuppgifter. Sammanfattning. Uppgifter hos Pulsen. Stefan Elvestål. Född: 1973 Nationalitet: Svensk

Klas Karlsson CV. Kontakt. Sammanfattning. Uppdrag

Innehåll. Förändringar i v5.2

12 principer of agile practice (rörlig)

Post Mortem för Get The Treasure!

Konsultprofil Andreas Lundgren

Konsultprofil Lennart Boklund

Tekniskt system för Lean Startup

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS

Fredrik är dessutom en social tillgång i varje team där han bidrar med positivitet och god stämning."

Kursprogram hösten 2011

Programmering. Hur, var, när och varför. 22 November. Lars Ohlén Tieto

E-post: Telefon: Hemsida: LinkedIn:

Verktyg för agil systemutveckling. Vad är ett verktyg? Olika typer av verktyg för mjukvaruutveckling. Vad kan ett bra verktyg tillföra?

Linköpings universitet 1

Som person är Dennis en utåtriktad och öppen människa och jobbar gärna i grupp. Han är analytisk, noggrann och ansvarstagande..

SLL Juridik och upphandling Upphandlingsavdelningen. Kravspecifikation för. Digitala kommunikationsplattformar,sll1925

Yanting Larsen. Mjukvaruutvecklare. Cybercom Group

Hitta kunder som frilansare

Java, PHP & Ruby - Cloud Hosting

TDDD80 Mobila och sociala applika1oner. Kursintroduk1on

Utredning om införande av digital nämndhantering för socialnämnden

Henrik Oscarsson konsultprofil

IPv6 EN GOD BÖRJAN GER ETT GOTT SLUT. LÅT OSS BÖRJA.

WEBB12: Animering och multimedia för webben 7,5 hp H13 (31WAN1)

Labrapport över Rumbokningssytemet Grupp:1

KONSULTPROFIL Michael

JBoss Application Server ANNIE AXELSSON

Teknikprogrammet, inriktning informations- och medieteknik

Samordningsprogram Hitta och jämför vård 2.0 Mål och aktuell status. Februari/Mars 2016 Sprint 6 och 7

VIDEODAGBOKEN. Individuellt Mjukvaruutvecklingsprojekt. En dagbok i videoform online. Robert Forsgren (rf222ce) UD

Gesäll provet Internetprogrammering I. Författare: Henrik Fridström. Personnummer: Skola: DSV

Redogörelse för utvecklingsprocessen av spelet The Legend of Chalmers

Slutrapport för Pacman

Enkät om köandet i SKB

Virtuell Server Tjänstebeskrivning

App-klient för smartphones Power BI Arbetsflöde CRM Online Webb-klienten Dokumenthantering Molnet...

Praktikanter i lyckat testuppdrag för LearningWell

Bli innovativa. På riktigt.

Uppdragsbeskrivning. Markeringssystem. Version 1.0 Mats Persson

Fredrik Tarberg. Roll Systemarkitekt och utvecklare

Squeed AB, Södra Larmgatan 4, Göteborg

Spännande it-region, modern teknik och goda karriärmöjligheter

Thomas Pettersson. Sammanfattning. Född: Telefon: Kristinagatan 23B Norrköping.

KONSULTPROFIL Rodrigo

KONSULTPROFIL Stefan A

Födelseår 1979 Konsult sedan 2002 IT-erfarenhet sedan 1999

Enhetstester på.netplattformen

Studieresa till James B. Hunt Jr. Library, North Carolina State University

SCRUM. Marcus Bendtsen Institutionen för datavetenskap

Pragmatisk programmering. Cyberrymden Marcus Rejås Pragmatisk programmering,19 september (26)

Sammanställning Undersökning av kommunens funktionsbrevlådor 2013

TEKNISK SPECIFIKATION. för TIDOMAT Portal version 1.3.1

PYC. ett program för att utbilda föräldrar

En viktig mässa för alla

Hämta hem 2005 års installationspaket från Skatteverkets hemsida:

Thomas Padron-Mccarthy Datateknik B, Mobila applikationer med Android, 7.5 hp (Distans) (DT ) Antal svarande = 18

UTVECKLINGSMILJÖER Microsoft Visual Studio ( ), SQL Server Management Studio , Eclipse

Linköpings universitet 1 TDP029. Systemutveckling. Systemutveckling. Vanliga faser. Fler faser. Systemutvecklingsmetod

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl

Övervakning med GnilronEye

Mobilapplikationen - det perfekta verktyget för beteendeförändring i organisationer

Presentation av projektstatus samt design av automatiska tester

Betatestning - Solsystem

Vis it. jquery jquery används lite överallt i appen på olika sätt. Det främsta användningsområdet är vid selektering och manipulering av HTML element.

Gemensam utveckling av karttjänster för Internet Ett samarbete mellan Malmö, Helsingborg, Lund och Kristianstad

LETTER OF NET CHANGES RELEASE 5.4. Beställning E-post: FACKTA Point of Sale V5R04

============================================================================

J2EE-arkitekt, mentor och instruktör

HexaFlip. Kravspecifikation

Scrum + XP samt konsekvensanalys

Android-app Användarmanual 1.0

Mobil tjänst för föräldrastöd PROJEKTSKISS TILL E-TJÄNSTEPROGRAMMET

Java Programmer for JDK Developer for Java 2 Platform 2002

SÄKRA DIN VERKSAMHET OAVSETT VAR DEN TAR DIG. Protection Service for Business

Android - En översikt samt titt på utvecklingsmiljö. Kalle Prorok 12 nov 2013

Transkript:

Sidan 1 av 6 Thomas Thyberg Född: 1963 E-post: thomas.thyberg@crisp.se Telefon: +46 70 77 666 77 Inriktning Mobil utveckling - Android CI för Android Erfarenhet Programutveckling, > 25 år Linux/Unix > 25 år TDD > 10 år Java >18 år Kotlin knappt ett år Mobil utveckling > 4 år Branscher Media Finans Medicin Betting Telecom Språk Svenska och Engelska Utbildning Datavetenskap, M.Sc.C.S., LiTH 1991. Kurser Java 8 Deep Dive, Venkat Subramaniam (2014) Extreme Java - Advanced Topics, Dr Heinz M Kabutz (2013) Regex, Staffan Nöteberg (2011) 'TDD in Clojure', Brian Marick (2011) Scala: Object-Oriented Meets Functional, Martin Odersky (2011) Beyond Basic TDD, Robert C Martin (2010) Test-Driven Development & Refactoring Techniques, Michael Feathers (2009) Implementing Lean Software Development, Mary Poppendieck (2008) Certified Scrum Master, Jeff Sutherland & Henrik Kniberg (2007) Test Driven Design, Citerius (2006) Tekniker Kotlin, Java, Objective-C, Javascript, Clojure, Scala, Groovy Android, Swing, X, NeXTStep Scrum / Agile Clean coding Hibernate, JPA, JDBC, Spring, POJOs Android Studio, IntelliJ, Eclipse, gradle, maven, ant, emacs, jalopy, CheckStyle, findbugs, sonarqube, travis-ci, jenkins, bamboo. Bourne Shell, Sed, AWK, bc, bf, m.fl. Linux (kubuntu, Slackware, SuSE, Redhat, ) Anställningar 2006, Crisp 2011, Birabirro AB 2005 2011, Thyberg Datakonsult 1999 2005, Digital Route

Sidan 2 av 6 De senaste 5 åren har jag primärt arbetat med androidutveckling och det på de två största dagstidningarna i Sverige, Aftonbladet och Expressen. Just android är en platform som passar mig och där det händer mycket nu. Några trender som är aktuella och som jag fokuserar på är RX (Reactive Extensions) samt språket Kotlin. Något som är mycket viktigt för mig är att koden är enkel att läsa och underhålla och jag är mycket mån om att få till en ren kod och arkitektur. Java är mitt huvudspråk men jag håller på att överge java för kotlin. I alla fall när det gäller androidutveckling där just det språket kommer starkt. Jag har även tidigare om åren kodat en hel del grafiska gränssnitt allt från X Window System/Motif till java AWT och Swing. Enhetstestning enligt TDD är något som jag förordar och använder mig av. Det var tidigare ganska svårt i en androidmiljö men det har på senare tid blivit betydligt lättare då verktyg och ramverk har mognat betydligt. Jag spenderar även en hel del tid på att läsa och hålla mig ajour med nya tekniker och verktyg. Jag jobbar praktiskt taget uteslutande i unixmiljöer som Linux och OSX, och uppskattar gärna scriptprogrammering och då gärna i Bourne Shell och med verktyg som sed och awk m.fl. Jag har även jobbat med både maven och gradle och vet hur man sätter upp och underhåller byggmiljöer, samt även CI-servrar, typ jenkins eller travis-ci. De utmaningar som jag främst letar är att få hjälpa androidteam att snabbare komma igång med språket kotlin samt testning i olika former (enhets- och systemtester), och det som en av utvecklarna i teamet. Erfarenheter Nedan följer de senaste årens uppdrag Expressen, december 2014 juni 2016 På Expressen gick jag in i en roll som senior androidutvecklare och senior utvecklare rent generellt, för att vidareutveckla Expressens nyhetsapp för android. Det var alltså frågan om en befintlig app och då det saknades enhetstester och stöd för dessa så var det något av det första som jag tog tag i då jag är en förespråkare av TDD. Jag satte upp stöd för ramverket Robolectric så att det skulle vara lättare för teamet att börja skriva enhetstester. Jag var även med och skrev om navigeringen av den befintliga nyhetsappen efter ett MVP-mönstret. Detta gjorde appen mycket enklare att enhetstesta samt enklare att modifiera. Jag startade även upp en bokcirkel och videoluncher för androidteamet under detta uppdrag.. android, kotlin, java, android studio, travis-ci, gradle, github Aftonbladet, november 2011 oktober 2014 På detta uppdrag började jag med att ta över kodansvaret för Aftonbladets android-appar. Både nyutveckling, samt förvaltning av dessa. Bland det första jag gjorde var att få lägga in stöd för enhetstestning vilket saknades, samt att bygga apparna med hjälp av maven. Detta för att kunna bygga dessa i en CI-miljö (bamboo). Jag gick igenom apparna och renoverade upp dessa. Under större delen av detta uppdrag jobbade jag mest med Aftonbladets Fotboll- och Hockeyappar, men även med Tipsa-delen i Aftonbladetappen samt med Supernytt.

Sidan 3 av 6. java, android, eclipse, android studio, bamboo, maven, nexus, github DigitalRoute AB, april 2011 oktober 2011 Detta uppdrag bestod i att vidareutveckla produkten MediationZone i egenskap av senior javautvecklare. Då jag var med och tog fram produkten en gång i tiden så kom jag snabbt in i arbetet och jobbade mycket med att jaga ett antal svårhittade buggar. Under denna period jobbade jag även mycket med att förbättra utvecklingsmiljön, bl.a. såg jag till att alla eclipseprojekt är var korrekt uppsatta. Då produkten är drygt 10 år så fanns det mycket s.k. legacy code att arbeta med, vilket låg helt i linje med vad jag tycker är spännande och intressant. Jag jobbade även med att sätta upp och utvärdera Jenkins och Sonar. Detta för att eventuellt ersätta det befintliga systemet för Continuous Integration, det något åldersstigna CruiseControl. Det krävdes en del handpåläggning då byggsystemet byggde på ant och var ganska specialiserat. Jag drog även igång en intern bokcirkel där vi utvecklare träffades en timme en gång i veckan och diskuterade kod med utifrån den aktuella boken som vi läste.. javautvecklare. Teknik: Java6, continuous integration. Verktyg: eclipse, subversion, jenkins. testng, jetty, ant, tomcat6, virtualbox, bash. Aftonbladet, juni 2010 april 2011 Detta uppdrag bestod i att ta fram ett system för att publicera elektroniska versioner av papperstidningen ämnade för mobila enheter. Dels bestod systemet av ett redaktionellt verktyg för utföra ändringar av tidningsuppslagen, och dels ett system som gick i bakgrunden och konverterade tidningssidornas original-pdfer till uppslag i ett format som underlättar visning på en mobil enhet. Jag jobbade mest med bakgrundsprocessen vilken implementerades som flera bash-skript med inslag av groovy (för xml-parsning) och diverse anrop till webservice:ar.. groovy/javautvecklare. Teknik: Java6, groovy, grails, javascript, bash-scripting, spring, javascript. Verktyg: IntelliJ, subversion, jetty, maven2, junit, tomcat6, vmware, bash, imagemagick, bambo. Expekt, januari 2010 maj 2010 Mitt arbete på detta uppdrag bestod dels av att vidareutveckla samt felrätta själva betting-site:n men även att skapa ett antal virtuella servrar samt konfigurera dessa. Det var bl.a. CI-, backup-, samt SCM-serverar.

Sidan 4 av 6. Vidareutveckling samt underhåll av expekt.com. Teknik: Java6, JSP, groovy, dns, dhcp, PL/SQL Verktyg: Eclipse, perforce, jetty, maven2, junit, sonar, findbugs, kvm, vmware, bash, terracotta. looklet, december 2009 januari 2010 Detta uppdrag uppdrag utvecklade jag ny funktionalitet för en webapplikation. Webbapplikation var en modeportal där man som användare kan skapa nya modekreationer genom att lägga till kläder och accessoarer till en modell. Mitt jobb bestod i att utveckla en webservice som tog fram nya kreationer slumpmässigt. Dessutom utförde jag visst förbättringsarbete i själva webgränsnittet mot slutanvändarna, fix av findbugsvarningar, samt utveckling av fler enhetstester.. Vidareutveckling av en website. Metodik: TDD Teknik: Java6, SpringMVC, JPA, Hibernate, Jquery, JSON Verktyg: Eclipse, mercurial, jetty, maven2, firebug, bitbucket, hudson, findbugs Föräldraledig, december 2008 november 2009 Crisp, Juli 2009 I detta projekt var jag del av ett litet team som bestod av fyra utvecklare, en usabillity expert, samt en produktägare. Vi skulle ta fram delar av en helt ny webbapplikation för ett peer to peer -system för mikrofinansiering, eller åtminstone vissa delar av den då vi enbart hade en vecka till vårt förfogande. Teknikerna vi använde oss av var Eclipse, maven, tomcat (och jetty), terracotta, samt tapestry. Då utvecklarna bestod av fyra Crisp:are, som var väl förtrogna med Scrum samt generellt duktiga utvecklare, fick vi upp början på en site på bara fem dagar. Sista dagen hade vi en demo som gick bra. Det jag lärde mig under detta projekt var främst att jobba med tapestry5 samt hur man deploy:ar sin applikation på en virtuell host (slicehost.com). Dessutom var den en bra erfarenhet i hur det är att jobba med bara professionella kollegor i ett team. En erfarenhet som jag gärna gör igen.. Satte upp grunden för webapplikationen samt ordnade med deploymiljön i en virtuell server, samt utveckling. Deployment: Satte upp en virtuell ubuntuserver på vilken vi deploy:ade vår applikation. Teknik: Java6, tomcat, jetty, tapestry5, MacOS Verktyg: Eclipse, subversion, maven2

Sidan 5 av 6 Telenor, Januari 2008 november 2008 Hos denna kund hamnade jag i en position där jag fick ta över och vidareutveckla en applikationsserver vilken skulle användas för att implementera diverse ip-tjänster. Det jag framför allt lärde mig under detta uppdrag var att använda eclipse funktioner för refaktorering. Ibland kan det vara mycket stimulerande att förändra kod (till det bättre) än att skriva helt nytt. Jag jobbade även med att se till att få krypteringen av datatrafiken genom en specifik router att fungera. Det var en hel del strul med att få rätt publik nyckel från leverantören. Under detta uppdrag lärde jag mig även en del Struts då jag var med och utökade en webbaserad in-house applikation för att konfigurera VPN-koppel i Cisco-routrar. Så kallad web-scraping hann jag även med att implementera. Jag skrev ett litet bibliotek vilket skulle användas för att programmatiskt konfigurera ett modem vilket normalt konfigurerades via ett webgränssnitt. Det SOAPgränssnitt som fanns var dock inte fullständigt så det gick tyvärr inte att använda sig av.. Vidareutveckling av applikationsserver, samt webbaserat system för konfiguration av diverse routrar. Mentor. Stöd för införande av TDD. Scrum. Var även Scrummaster under ett par sprintar. Teknik: Java6, jboss, Oracle, Struts, Tibco Operativsystem: Windows, Linux, Solaris Verktyg: Eclipse, subversion, mantis, ant Visionael, april 2007 december 2007 Största delen av uppdraget spenderades med att utveckla en tabellapplet som användes för att utföra bulkeditering av konfigurationsdata för IP-telefoner. Här fick jag en duvning i JTable vilken kan vara rätt hårig att koda. Jag jobbade även med att fixa buggar och införa ny funktionalitet i resten av applikationen som var implementerad i Tapestry, vilket jag inte hade jobbat med tidigare så det var en nyttig erfarenhet.. Javautvecklare. Metodik: Scrum, TDD Teknik: Java6, applet, tapestry4, jboss, Cisco Operativsystem: Linux Verktyg: Eclipse, subversion, jira, maven2

Sidan 6 av 6 TDC Song, februari 2007 mars 2007 Arbete med ett internt system för provisionering av tjänster vilket skrevs i python. : Pythonutvecklare Metodik: Scrum, TDD Teknik: Python. Operativsystem: Linux Verktyg: Eclipse, Subversion St Jude Medical, juni 2005 januari 2007 På detta uppdrag var jag medlem i ett av ett antal team som jobbade med att ta fram programvaran för nästa generation av programmers. En programmer är i princip en förvuxen laptop med lite utrustning för att kunna kommunicera med pacemakers och även för att kunna utföra defilibrering. Programvaran utvecklades i Java i en Eclipsemiljö på windows men den deployades i den Linuxbaserad programmern. Jag jobbade i ett team som hade utskrift som huvuduppgift, både rapportutskrifter men även realtidsutskrifter av EKG. på den inbyggda termoskrivaren. Teamen jobbade med TDD och under projektets gång infördes även Scrum i etapper och det var under detta uppdrag som jag kom i kontakt med Scrum och TDD för första gången.. av användargränssnitt och hantering av rapporter. Linuxspecialist. Bidrog med expertkunskap om Linux och speciellt printsystem. Metodik: Scrum Teknik: Java SE. Operativsystem: Windows, Linux (Montavista) Verktyg: Eclipse, ClearCase, Sharepoint, CruiseControl