KONSULTPROFIL Marco. Fullstackutvecklare. Sammanfattning. Uppdragshistorik



Relevanta dokument
KONSULTPROFIL Rodrigo

Taxi boknings system, inpassering och medlemshanterings system, betallösningar, realtidssystem, App utveckling

Java Programmer for JDK Developer for Java 2 Platform 2002

Universe Engine Rapport

Innehålls förteckning

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

Procedurell renderingsmotor i Javascript och HTML5

Tove Carlsund Systemutvecklare

Konsultprofil. Per Norgren (1983) Arkitekt & webbutvecklare

DIG IN TO Nätverksadministration

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

Hej! Min uppdaterade portfolio finns online på

Programvaruteknik, hp

Mina listor. En Android-applikation. Rickard Karlsson Rickard Karlsson - rk222cu Linnéuniversitet rk222cu@student.lnu.

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

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

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

TMP Consulting - tjänster för företag

Viktiga begrepp. Algoritm. Array. Binärkod. Blockprogrammering. Bugg / fel och felsökning. Dataspel. Dator

Föreläsning 17 UTBLICK: FORTSÄTTNINGSKURSER I DATAVETENSKAP + ANDROID

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

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

KONSULTPROFIL Juan. Systemutvecklare.NET/EPiServer/Commerce. Sammanfattning. Kompetens. Uppdrag

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

Uppdragsbeskrivning. Google Glass. Version 1.0 Mats Persson. Distributionslista. Namn Åtgärd Info.

Föreläsning 2. Operativsystem och programmering

Objektorienterad programmering

Få ut 100x mer av er data.

Elisabet Stöök Konsult SAS Institute AB Copyright 2003, SAS Institute Inc. All rights reserved.

Vi söker nya och spännande medarbetare till vårt utvecklingsteam.

KUNDCASE. Inovia gjorde sin AI-utveckling 10 gånger snabbare med Power-plattformen

Teknikprogrammet, inriktning informations- och medieteknik

Programvara på Nada. Johan Berglund Systemgruppen, Nada

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning.

Yanting Larsen. Mjukvaruutvecklare. Cybercom Group

Uppdragsbeskrivning. Paddel-appen Utmärkta kanotleder. Version 1.0 Mats Persson. Distributionslista. Namn Åtgärd Info.

Slutrapport för JMDB.COM. Johan Wibjer

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

Alla rättigheter till materialet reserverade Easec

SNITS-Lunch. Säkerhet & webb

Grafiska pipelinens funktion

Daniel Akenine, Teknikchef, Microsoft Sverige

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg

Distribuerade affärssystem

Konsultprofil Per Brundin

Kurskatalog 2010 INNEHÅLLSFÖRTECKNING

1:5 SLUTRAPPORT - POST MORTEN LARS EHRMAN WP

Datacentertjänster PaaS

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg

Välkommen! SA S PSA S Im I puls s Mobilite t t e 8 1

STADSLEDNINGSKONTORET SOA SDK IT-AVDELNINGEN VERSION 2.1. Läs mig först. Stockholms stad SOA-plattform. Sida 1 (5)

Webbtjänster med API er

Big Data i spelbranchen

Introduktion till migrering till molnet. PART 4: Plattformar för molntjänster

LNU INDIVIDUELLT MJUKVARUUTVECKLINGSPROJEKT. Honey Hunter. Androidspel. Martin Karlsson 1/17/2014

Henrik Oscarsson konsultprofil

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

Systemkrav WinServ II Edition Release 2 (R2)

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

Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg niklas.broberg@chalmers.

INSTALLATIONSGUIDE TILL ANDROID UTVECKLINGSMILJÖ

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS

Framtiden inom geografisk IT, trender och vad som kommer påverka alla som arbetar med GIS. Lars Backhans, ESRI

TDDD80 Mobila och sociala applikationer. Kursintroduktion

TDDD80 Mobila och sociala applika1oner. Kursintroduk1on

Post Mortem för Get The Treasure!

Software Technology. Josef Svenningsson

Molntjänster. Översikt. Lektion 1: Introduktion till molntjänst. Introduktion till molntjänst. Vilka tjänster finns? Säkerhet.

Daniel Persson. Födelsedatum: Vindragaregatan 3B, Göteborg Telefon: Portfolio:

Gillakampen. av Merkur Hoxha WP

LUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer

Mobile Cross Development

Meritförteckning. Mer än 3 års professionell erfarenhet av PHP, SQL, C# och VB.NET,

SIMD i Intel s P5- baserade Pentium MMX

Webbservrar, severskript & webbproduktion

UTVECKLINGSVERKTYG. Praktiska tips för PUM-projekten

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

KONSULTPROFIL Michael

Peter Walhagen Systemutvecklare Född: 1983

SLUTRAPPORT WEBBPROJEKT 1

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

Version Namn Datum Beskrivning 1.0 Förutsättningar Vitec Ekonomi 1.1 Marie Justering för krav på Windows Server

Microsoft Office historik. - making IT easier

Definition DVG A06. Varför operativsystem? Operativsystem. Översikt. - Vad är ett operativsystem?

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Molntjänster och molnteknologi: En ordlista

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

ATT ARBETA MED VEKTORGRAFIK

Inledande programmering med C# (1DV402) Introduktion till C#

Azure Designer. Version 1.0 Mats Persson

Android och iphone. Kalle Prorok April 2011

BKOOL LANSERAR ONE, DESS MEST EKONOMISKA RULLE MED EN PROGRESSIV MOTSTÅNDSKURVA

Information Coding / Computer Graphics, ISY, LiTH. Minnesaccess. Vitalt för prestanda! Minnestyper. Coalescing

Grundkurs i programmering - intro

Vad är en dator? Introduktion till datorer och nätverk. Pontus Haglund Institutionen för datavetenskap (IDA) 21 augusti 2018

DVG A06. Operativsystem, mm. Karlstads universitet Datavetenskap. DVG A06 Johan Eklund. Datavetenskap, Karlstads universitet 1

Programvaruintensiva system

Sammanfattning. Systemlösningar Förstudier Systemdesign

Transkript:

KONSULTPROFIL Marco Fullstackutvecklare Sammanfattning Marco har 15 års erfarenhet av IT utveckling inom både Backend och Frontend. Marco är en bred utvecklare med avancerade kunskaper i språk som C/C++/ C#/Matlab och Java. Marco har även utvecklat ett eget SDK och behärskar plattformar som Windows, Linux, OSX, Windows RT, Android och ios. Marco är som person lättlärd, innovativ och vetgirig som trivs med att jobba både i team och självständigt. Marco är social med båda fötterna på jorden och kommer snabbt in i sociala sammanhang. Marco startade sin karriär på Dice som senior render utvecklare/grafik utvecklare med ansvar för 2D/3D special effekter i spel som exempelvis Battlefield 1942, Battlefield 2, Battlefield Bad Company, Rallisport Challenge 1 och 2. Under denna tid utvecklades Marco's intresse för programmering mot grafikprocessorn som ledd till starten av Marco's egna bolag GPU Systems. Bolaget skapade ett unikt utvecklingsverktyg - Libra SDK för programmering av grafikkort för effektivare beräkningar och uppmärksammades mycket i media. Marco har även arbetat som pedagog, skapat kurser och föreläst om Java för flertalet företagskunder, Marco har själv föreläst. Marco har dubbel examen från KTH och University of Wollongong. Uppdragshistorik 2008 2015 GPU Systems API Services (Produktutvecklare) Företaget arbetade med att förenkla programutveckling, tillgängliggöra GPU processorer och dess kraft genom befintliga utvecklingsverktyg som redan används för CPU processorer detta uppnåddes genom att utveckla ett gemensamt gränssnitt och teknologi att driva både processorer och grafikkort. GPU Systems lanserade utvecklingsverktyget Libra SDK för att möjliggöra avlastning av beräkningar till grafikprocessorn mer effektivt än vad som tidigare kunnat göras. Libra API möjliggör mjukvaruutveckling både mot CPUer och GPUer oberoende av underliggande processortyp/arkitektur. Resultatet är mer nyttjande av processorkraft samt mer ihopkopplingsbara system till mjukvarulösningar, från spel till superdatorer. Tiden på GPU Systems fördelade Marco i tre större projekt: GPU Computing (Big Data processing) Heterogeneous Computing Realtime Cloud Computing IoT. Projekt GPU Computing, Big Data processing Inriktar sig på att accelerera mjukvaruutveckling, stora datamängder och mjukvara med hjälp av GPU processor/er. Att nyttja en processor eller flera via standard utvecklingsverktyg/gränssnitt. Projekt Heterogeneous Computing, Big Data processing.

Inriktar sig på att accelerera mjukvaruutveckling, stora datamängder och mjukvara med både CPU och GPU processorer. Tekniken finns tillgänglig på alla de vanligaste plattformar PC/Server Windows, Mac, Linux Mobile/Tablet ios, Android och Winrt. Projekt Realtime Cloud Computing, IoT Ny teknik att tillgå CPU och GPU processorer transparent för mjukvaruutveckling och mjukvara oberoende av teknisk miljö, cross-plattform samt kunna exekvera program på och mellan många olika typer av enheter och om önskas även sammankopplade. På mobiltelefoner och surfplattor till exempel ios och Android kan GPU computing - Big Data användas till att massivt förbättra app-prestanda, kapacitet och användarupplevelse. Tekniken finns tillgänglig på alla de vanligaste plattformarna. Utformade Java bindningar för Libra API att bygga Android appar. PC/Server Windows, Mac, Linux Mobile/Tablet ios, Android och Winrt. Programmeringsspråk: C/C++, Libra, C#, Java, Matlab, CUDA, OpenCL, DirectX, OpenGL/ES Utvecklingsmiljöer : Microsoft Visual Studio IDE, Java Eclipse IDE Bibliotek : Libra, Java SE Development Kit (JDK) OS: Windows, Mac, Linux, ios, Android och Winrt. Min Roll: Mjukvaruutvecklare/Arkitekt samt Team lead Media: http://computersweden.idg.se/2.2683/1.326431/marco-hjalper-amd-utveckla-superdatorer http://computersweden.idg.se/2.2683/1.191637/tunga-berakningar-med-grafikkraft http://computersweden.idg.se/2.2683/1.233133/99-procent-billigare 2008-02 2008-10 Setred AB (Mjukvaruutvecklare) Företaget arbetade med att ta fram en ny typ av 3D monitor. En auto-stereoskopisk skärm (där glasögonen sitter fast på skärmen istället för på näsan), med fria rörelsezoner för betraktaren samt utrymme för multipla betraktare. Marco konstruerade en mjukvaruvideospelare som kunde spela upp.avi filer innehållandes stereodata (2 kameror att representera vänster och höger öga). Videospelaren i sin tur konsumerar ett beräkningslib för realtidsberäkning av stereobilderna för att generera djupinformation i realtid om själva objekten i varje bild från videoströmmen. Libbet använde sig av GPU computing med Libra API för GPU acceleration av ursprunglig algoritm som skrevs i C.

Libra GPU koden kunde skrivas direkt i C++. Detta resulterade i ökad effektivitet i både mjukvaruutveckling processen samt bilduppdateringen som kunde minskas från tidigare 1000 ms per bild till 30 ms per bild. Programmeringsspråk: C/C++, Cuda, Libra, Utvecklingsmiljöer: Microsoft Visual Studio, OS: Windows Min Roll: Mjukvaruutvecklare 2000 2007 Digital Illusions CE (Senior renderings utvecklare) Dice, Digital Illusions CE, en av Sveriges mest framstående tvspels/datorsspelstillverkare och studios som ägs idag av Electronic Arts. Marco arbetade som Senior renderings utvecklare i Core tech engine teamet som konstruerade och implementerade flertalet tvspel och PC motorer för dataspel. En spelmotor utgörs av flertalet realtidsbaserade grafik och fysiksystem m.m. Dice egna inhouse utvecklade motor kallas idag för Frostbite(tm). Teamet bestod av utvecklare, grafiker samt projektledning. Sammanställning, rapportering gjordes till utvecklingschef samt projektledning. Under sin tid på DICE ingick Marco i ett team för att serva många olika avdelningar inom DICE produktion. Teamet bestod av 20-25 personer med uppgift att utveckla tv/dataspelsmotorteknik för att stötta alla DICE studios produkter och speltitlar inom EA organisation. 2005 2006 Avdelning: Battlefield Bad Company TnT group Marco utvecklade ett komplett system för specialeffekter till Frostbite spelmotor. Systemet hade en fysikdel (beräkningsdel) samt en render (grafikdel). Systemet kallas för Emittersystem och är en större komponent inom motorn kapabel att behandla många olika typer av partiklar/objekt för utformning av specialeffekter med en enad rendering pipeline för effektivt flöde av data. Systemet designades av Marco i samarbete med grafiker och programmerades av Marco att integrerades in i motorn och produktion. Systemet kopplades ihop med editeringsvertyg samt produktionsverktyg i motorn. (buildsystem, preprocess pipeline). Emittersystemet används än idag i produktion för EA Dice titlar och har ingått i ett flertal speltitlar, alltifrån Battlefield Bad Company fram till senare titlar som Star Wars. Emittersystemet använder både CPU och GPU kraft för att processa och uppdatera systemet. Programmeringsspråk: C/C++, DirectX, xbox assembly Utvecklingsmiljöer: Microsoft Visual Studio IDE Versionshantering: Perforce, SCons OS: PC and Xbox Min Roll: 2D/3D render programmerare

2002-2004 Avdelning: Rallisport Challenge 2 Ett team om 30-35 arbetade agilt och hade veckomöten där var vi avrapporterade arbetet mot projektansvariga. Teamet hade som uppgift att skapa en ny 3D motor från grunden och en uppföljare till föregående Rallisport titel, Rallisport Challenge 2. Marco's roll som renderings programmerare var att uppdatera, samt skapa nya APIer och samtidigt förbättra de befintliga rendersystem från föregående spelmotor. Rendersystemen användes sedan av grafiker, designer och leveldesign ansvariga för att bygga spelet. Marco s ansvarsområden i detta spelteam omfattade ca 20 motorsystem. Ansvaret i detta innefattade: design, utveckling, implementering, underhåll samt leverans mot beställare. Översikt av Marcos ansvarsområden: Projekt Particle system EmitterSystem och partiklar. Kamera orienterade sprite partiklar med rörelse och shading. Projekt Wheel skid system Avancerad pixelsortering med stencilbuffern, per-pixel bumpmapping, ljussättning samt självskugging effekter. Projekt Snow and Rain system. Tusentals med partiklar placerade runt omkring en spelkamera kombinerat med 2D grafikeffekter representerandes vind, blåst, dimma m.m Projekt Water droplets system Persistenta partiklar representerandes vattendropppar för vindrutor samt kameralins. Vindrutetorkning av droppar med hjälp av per-pixel stencilbuffer teknik. Project Billboard system. Ett kulisssystem med enkla preprocessing inställningar gällande upplösning och ljussättning. Förrenderade kulisser utifrån 3D modeller för träd utifrån flertalet kameravinklar, variabel upplösning beroende på minnesåtgång och typ av spelbana. Projekt Sky and Cloud system Himmel box rendering med inställingsbara molnlager kombinerat gentemot en bakgrundsgradient för himmelsfärg. Projekt Tree/billboard lighting system. Multipla ljuskällor och självskuggning. Projekt Tree/billboard sway system. Systemet utför en per-pixel alpha-blend mellan träd objekt och kuliss polygoner att noggrant matcha boundingboxar och kuliss rektanglar för en icke-märkbar (LOD) övergång. Projekt Lens flare system Rallybil solblänkeffekter med tonemapping och occlusion. Användes för gatulampor likväl.

Projekt Undergrowth system foundation Ställa upp kamera orienterade längor av sprites (polygon rectanglar), med svaj matris för enklare vindrörelser. Projekt Sidescreen system. Ett enkelt system att rendera många upplysta/dimmade kulisser effektivt. Målet är att uppnå ytterst få render anrop och ändringar av mjukvaru/hårdvaru inställningar på grafikkort. Projekt Animation system Gpu skelett transformationer och ett åskådarsystem för slumpmässig färgläggning av klädesplagg och publikbeteenden. Projekt Client/Server foundation Editor tools of Rallisport Challenge 2 Editorverktyg med tool rendering redskap. Projekt Minimap system Olika enklare renderings verktyg för att rendera spelet i väldigt hög upplösning för bättre bilder för tidsskrifter, röntgensyn verktyg, overdraw/fillrate debugging verktyg att identifiera eventuella ihopsättningar av pixelbelastningar för olika spelsituationer. Programmeringsspråk: C/C++, DirectX, xbox assembly Utvecklingsmiljöer: Microsoft Visual Studio IDE Versionshantering: Perforce OS: PC and Xbox Roll: 2D/3D render programmerare 2002 Avdelning: Battlefield 1942, Rallisport Challenge 1 PC På denna avdelning arbetade 60-100 personer, några I teamet jobbade med Rallisport PC shaders, att porta Rallisport Xbox till PC och resten av teamet var fokuserade på spelet Battlefield. Vi arbetade agilt och hade veckomöten och rapporterade till projektledare och programmeringschefer. Följande projekt var Marcos ansvarsområden: Projekt Terrain system optimizing Förbättrad använding av dynamiska vertexbuffers att sända terräng data bättre i realtid till grafikortet samt att förhindra stalls. Projekt RLE compressed bit-lightmap system for Battlefield terrain Ljuskartorna användes som parametrar/information till objekt i rörelse närmandes/avlägsnandes skuggzoner inom spelkartan/spelvärlden. Projekt Water system Foundation render system for BF 1942. Animerade per-vertex nornalvektorer samt per-pixel ljussättning shaders skrivna i HLSL. 2 lager godtyckliga texturer i inställingsbar rörelse för grafiker kreativitet. Projekt Optimizing / rewriting shaders

Shaders från RSC systemen som behöver skrivas om för att fungera korrekt på PC version av spelet. Programmeringsspråk: C/C++, DirectX, xbox assembly Utvecklingsmiljöer: Microsoft Visual Studio IDE Versionshantering: Perforce OS: PC Min Roll: 2D/3D render programmerare 2000 2002 Avdelning Rallisport Challenge 1 Marco's teams uppgift var att skapa en tvspelsmotor teknologi och utvecklingsmiljö anpassat för ett rallyspel från Microsoft som heter Rallisport Challenge. Spelet var tillsammans med Halo en av launch titlarna till Microsofts nya spelkonsoll som döptes tilll Xbox. Teamet var 25 personer och bestod av producenter, designers och utvecklare. Marcos roll som rendering utvecklare var att utveckla rendering system och API er till spelmotorn som sedan användes för själva skapandet av spelet. Följande projekt var Marco's ansvarsområden. Projekt Renderer API Användes i Battlefield 1942 och Rallisport Challenge. APIet syfte var att bistå som gränssnitt till renderingskod samt att abstrahera bort beroenden i motorn gentemot specifika tillverkar APIer som DirectX och OpenGL el. liknande. APIet kunde matas från diverse system i motorn för att sända polygoner, render data samt att sätta texturer, inställningar/tillstånd till grafikkort. Projekt Track/Terrain rendering. Polygon rutnät med per-pixel ljussättning shaders skriva i HLSL. Per-vertex reflektioner med hjälp av cubemap med färdiginkodad vektor data om solen i kombination med uträknad halv vektor samt normal vektor. Projekt Water system. Animerad per-vertex normal vektor processing med per-pixel ljussättning shaders skrivna i HLSL. Projekt Particle System Användes i Battlefield 1942 och Rallisport Challenge. CPU och GPU belastning. Projekt Lensflare system. 2D/3D transformationer spritar längs med en påle. Ett system att visa på kamera/solartifakter. Projekt Wheel skidmark system Polygonala spår skapade utefter fordon, objekt i rörelse. Render systemet utövade dynamiska vertexkällor att optimera rörelse av polygon och data till grafikchip. Projekt Animation system Animationssystem för att utföra transformationer/viktning(ben påverkan) gällande skelettuppdatring.

Projekt Billboard render system Starta ett enklare system genom att rita många enkla polygoner snabbt. Projekt Snow and rain system. Många partiklar I rörelse inom en elliptisk sfär fastsatt runt spelkameran. System tog hänsyn till spelvärlden att inte snöa/regna t.ex under broar tak. Programmeringsspråk: C/C++, DirectX, xbox assembly Utvecklingsmiljöer: Microsoft Visual Studio IDE Versionshantering: Perforce OS: PC and Xbox Min Roll: 2D/3D render programmerare 1999 PowerPlay Systems, IT-jobb Java, St Leonards Sydney. Marco's uppgift på PowerPlay Systems var att konstruera en Java-kurs för de anställda från olika företag i närområdet. Kursens syfte var att introducera Java och JDK plattformen att skapa intresse för Java och förståelse för hur man snabbt och enkelt med hjälp av Java kan tillverka mjukvara att lösa små enkla och vardagliga problem inom IT samt bygga frontends med Java Swing och AWT. Kursen bestod av föreläsningar samt programmeringsuppgifter att närmare bekanta sig med Java miljön och programmeringsspråket. Marco konstruerade vidare en IT lösning för PowerPlay Systems där ett hardcopy formulärsystem digitaliserades. Formuläret gjordes med Java som en Frontend applikation som beroende på innehåll pratade med en Backend sida byggt med Java servlets + Apache Web Server + Databas uppkoppling för lagring/hämtningar av uppgifter. Programmeringsspråk: Java Utvecklingsmiljöer: Kawa JDE Java Bibliotek: Java JDK 1.1, Java AWT, Java Swing, Java Applets, Java Servlets Versionshantering: ingen OS: Cross-plattform Min Roll: Pedagog och Utvecklare Kompetenser, tekniker & metoder Kompetensnivå 5 Software Engineering/Programming 15+ års erfarenhet av mjukvaruutveckling. Främst realtidssystem i C/C++. Render Systems 7 år+ erfarenhet av utveckling av render system till tvspelsdatapelsmotorer på EA Dice och AAA speltitlar att levereras mot miljontals användare. GPU Computing jobbat med att utveckla och ta fram gpu computing teknologier att främja industrin. Cloud Computing jobbat med att utveckla och ta fram cloud computing teknologier.

System Architecture designat och byggt 50+ render mjukvarusystem. Distributed Systems lång erfarenhet och förståelse kring distribuerade beräkningar. High Performance Computing jobbat med att ta fram teknologier som tjänster inom området HPC för effektivisering av branschen. C/C++ - jobbat med C/C++ i över 15+ år och är det språk som jag behärskar bäst. Java - arbetat 7 år med Java och gjort bland annat Android appar och webblösningar. Lärar- assistent på KTH med Java kurs, föreläst om Java för tre företag under studietiden och skapat kurser. C# - Har jobbat med C#, speciellt med appar/demoprogram som behövts göras samt bygga gränssnitt och språkbindingar. Libra API Har skrivit många demos och libra appar samt utfört uppdrag för kund. DirectX/OpenGL/ES - jobbat ofta med DirectX och OpenGL för att kommunicera med GPUer. CUDA/OpenCL Har jobbat mycket med CUDA och OpenCL under tillverkning av GPU Systems tjänster och produkter. Objective-C arbetat med ios plattformen och byggt demos / appar och använder mig då av Objective-C i kombination med C/C++. Matlab utvecklat ett helt matlab gränssnitt och biblioteks bindningar att arbeta mot native teknologier. Gjort kunduppdrag med matlab som utvecklingsmiljö med portning av befintligt matlab script till libra matlab för acceleration av GPU beräkningar. 7 års erfarenhet. Windows, Mac, Linux, ios, Android Har jobbat och byggt kod för alla de vanligaste operativsystemen samt att stödja även olika varianter av både windows som linux/unix. Testdriven utveckling/debugging: definiera testkod som implicit driver implementation/utveckling. Jobbar alltid med asserts i C/C++ ihop med debuggern som skriker till för att säkerställa den iterativa processen. I java kan jag t.ex. använda mig av Junit. Software Teams 10+ år erfarenhet att jobba i software teams, bygga, konstruera och leverera mjukvarusystem som färdiga produkter mot marknaden. Video games Har jobbat 7 år med dataspelmotor tillverkning och medverkat i att ta fram ny teknologi till titlar som Battlefield, Battlefield 2, Battlefield Bad Company, Rallisport Challenge 1 och 2. Kompetensnivå 4 Mobile Technology Har tagit fram GPU computing samt Cloud Computing tjänster att sammankoppla och tillgå PC, mobiltelefoner samt surfplattor med mer prestanda och användarupplevelse. Image Processing Har god förståelse om image processing, jobbat med image transforms, sobel filter, fft:er och allmänt intresserad av signalbehandling, beräkningar som omfattar både grafik som ljud. Machine Learning har studerat på högskoletiden machine learning i form av neurala nätverk, bildigenkänning för t.ex. självstyrande fordon. Architecture Under utvecklingprocess behövs, skapas en bild av de hårdvaruarkitekturer man utvecklar för. t.ex, PC, xbox, PS4, CPU, GPU, som ligger till grund för en kontinuerlig diskussion kring utformande av en mjukvaruarkitektur och är en nödvändighet för skapande av skalbara och effektiva mjukvaru/hårdvarusystem. Open Source känner till Open Source och använder om lämpligt/möjligt.

PaaS, IaaS har jobbat med PaaS, IaaS att tillgå produkter/teknologier på ett enkelt och tillgängligt sätt och för många användare. Android programmerat flertalet appar i Android med Java, OpenGL, C/C++. Mycket inhouse-appar för att testa systemet men också skarpa demos till Libra SDK. ios Development har programmerat flertalet appar i ios med C/C++, Objective-C. Se Libra SDK samples från GPU Systems för ios. Object oriented design Har lång programmeringserfarenhet och förståelse för objekt-orientering i designsyfte. 15+ år och involverar de flesta programmeringsprojekt jag sysslat med. Embedded software Har utvecklat teknologier/tjänster för inbäddad mjukvara att tillgå utökad datorkraft och programmerbarhet. Visual Studio Har använt mig av Microsoft Visual Studio IDE för programmering 15+ år. Ett robust verktyg för programmering samt projekthantering av kodbas. Eclipse Van användare av Eclipse IDE att programmera mest i C/C++ eller Java. Unix/linux Har jobbat med unix/linux system med start under högskoletiden 1999 då vi byggde en filhanterare i unix som examensarbete. Samt sedan jobbat på senare år med unix/linux på GPU Systems projekt. Mobile Applications har portat GPU Computing SDK till mobiler och surplattor. HTML/HTML5- känner väl till HTML och HTML5 Scalability Programmerar med skalbarhet i åtanke, vill säga utan hårda beroenden mot plattformar, specifika hårdvaror eller specifika Apier. Sikte på många enheter och användare. Algoritmer har jobbat med render algoritmer. Exempelvis inom området GPGPU, t.ex. för rekursiv reduktion av parallella datamatriser under begränsade hårdvarugränssnitt som OpenGL. Ex. när shared memory access saknas till hårdvara men finns närvarande under andra gränssnitt som t.ex. CUDA. Libra Teknologi, som jag arbetat med möjliggör automatiskt och dynamiskt design av olika typer av algoritmer och algoritmkomponenter utifrån förutsättningar hos underliggande hårdvara Artificial Intelligence är bekant med olika AI koncept som path finding, neurala nätverk. Big Data har jobbat med Big Data i 8 år och tagit fram verktyg att tillgå Big Data utifrån vanliga programmeringsspråk och för många olika typer av hårdvaruplattformar. MySQL: Jag har programmerat med MySQL i samband med affärssystem, licenssystem att inkludera flertalet användare. Version control: Har använt Perforce och Svn som versionshantering av programkod. Scrum/agil metodik: Jag har arbetat agilt och i scrum liknande projekt miljöer för en effektiv och iterativ utvecklingsprocess. Projektledning: Jag är strukturerad och medveten kring projektutveckling, Att kunna ta arkitektbeslut och exekvera. Gillar att ta på mig teamansvar och leder gärna team likväl ingår i team och utvecklar mjukvarusystem mot gemensamt uppsatta mål. ASP.NET: Jag har jobbat med ASP.NET för att bygga backends för gpusystems website som involverar affärssystem, kundvagn, kreditkort hantering etc, användardatabaser samt licens generering/validering och registreringssystem för kunder.

Kompetensnivå 3 Shell Scripting Stöter på scripts ofta under arbetets gång och använder scripting för att lösa temporära problem kring byggmiljö eller t.ex. generering av kod. Script funkar bra till fil behandling, pipa processer, data, filer, processa kataloger, sortera, scanna m.m Javascript: Jag har jobbat med javascript i t.ex. samband med asp och gpusystems website för att göra enklare frontend funktioner och kortare programsnuttar att koppla ihop javascript med java samt nativekod. Har god förståelse över hur man skriver kod i en javascript miljö. Python känner till språket. Perl känner till språket. Serialisering/XML: Jag har serialiserat / deserialiserat data i XML format el. liknande vid behov. Utbildning, Kurser & Certifieringar 1999-2000 Magisterexamen, Master in Computer Science, University of Wollongong, Australia. 1995-1999 Högskoleexamen, KTH, Kista, Datateknik 120p. Språk Svenska Engelska Finska Modersmål Flytande Medel