utvikling
Utviklerintervjuet: Jing mener React og Vue vil stå igjen som de klare vinnerne
Tror kampen mellom JavaScript-rammeverkene snart er over.
Ukens utviklerprofil er Jing Kjeldsen (29), som er medgründer og teknologidirektør (CTO) i selskapet Konsus.
Kan du kort beskrive stillingen og oppgavene dine?
Jeg er involvert i de fleste business-avgjørelser som involverer tech. I tillegg bruker jeg tid både på rekruttering, produktutvikling, systemarkitektur, koding og research av teknologi.
Hvor jobber du mest, på kontoret, på hjemmekontoret eller ute hos kunder?Min arbeidsdag består av å ha hjemmekontor fra 8-12 for å få fokus, komme innom kontoret og spise lunsj, og så jobbe på kontoret fram til 19-20.
Kan du fortelle litt om prosjektet/prosjektene du har jobbet med i det siste?Jeg har bygget mye i det siste sammen med teamet. Vi har blant annet bygget automatisk invoicing-system som etter hvert prosjekt regner ut antall timer, sender ut faktura og trekker fra kredittkortet automatisk.
Vi har bygget en avansert «order-wizard» som beregner timesats og antall timer basert på svaralternativer, alt dette styrt fra en CMS. Alle delene har gått gjennom måneder med AB-testing gjennom en integrasjon med Mixpanel for å finne fram til riktig kombinasjon av UI og funksjonalitet.
Akkurat nå er vi i ferd med å bygge et svært omfattende meldings-/chat-system for prosjekthåndtering som involverer websockets og epostintegrasjon.
Hvor lenge har du jobbet som utvikler?9 år.
Har du jobbet på samme sted hele tiden?Jeg startet karrieren min som en sidejobb ved siden av studiene med å co-founde og bygge en Facebook-app-builder som heter iFrapp.
Tjenesten ble så bra at vi senere fusjonerte med Fanbooster, et større selskap. Der jobbet jeg i to år med å videreutvikle produktet, samtidig som jeg jobbet som Chief Matematician og analyserte Facebook-dataene vi hadde på plattformen.
Det startet med at jeg tok et python-fag i scientific programmering.
Etter dette var jeg med å grunnlegge og bygge Startupmatcher, som nå er Nordens største jobbplattform for startups. Jeg har de siste tre årene vært med-grunder og CTO for Konsus.
Hvor gammel var du da du først begynte å lære deg programmering?Jeg begynte med enkel HTML og JavaScript, i tillegg til å gjøre litt enkle DOS-kommandoer, da jeg var 12 år.
Det var ikke før jeg ble 18-år, da jeg begynte på universitetet, at jeg begynte virkelig å kode. Det startet med at jeg tok et python-fag i scientific programmering, i tillegg til at jeg ble introdusert til konkurranseprogrammering av en kamerat som heter Markus.
Hva slags utdannelse har du?Master i matematikk og teknologi, med spesialisering i grafteori.
Hvilke plattformer utvikler du vanligvis for?Web, mobil og desktop
Hvilken pc-plattform/OS foretrekker du selv å bruke? Mac. Jeg har brukt Linux/Unix siden jeg 16 år gammel og likte veldig godt å bruke kommandolinjen for å gjøre alt. Problemet jeg hadde var at jeg ofte støtte på hardware inkompabilitet og at det har vært svært lite støtte for programvare. Så oppdaget jeg Mac som kombinerer alt som er bra med Unix, med et rikt programbibliotek.
Hvilke programmeringsspråk benytter du?Typescript og Java. Vurderer også å gå over fra Java til Kotlin etterhvert.
Typescript har rettet opp alt som har vært problematisk med JavaScript.
Hva er favorittspråket og hvorfor?Typescript er et språk jeg har blitt veldig glad i, som har rettet opp alt som har vært problematisk med JavaScript. Det gjør refaktorering til en lek, og oppdager «dumme» feil man ellers ikke ville ha blitt oppdaget.
Hvilke to verktøy greier du deg ikke uten, og hvorfor?IntelliJ – analyserer all koden for deg, og fanger opp bugs man ikke merker i realtime.
Testcafe – en automatisk «end to end testing software» for å være sikker på den nyeste deploymenten ikke inneholder feil.
Hva slags oppgaver liker du best å jobbe med?Jeg liker å løse vanskelige problemer, både analytiske problemer og tekniske problemer.
Hvordan sørger du for å holde deg faglig oppdatert?Jeg leser diverse blogger og Twitter, i tillegg til at jeg får tips fra venner og bekjente.
I hvilken grad har metoder og teknologier som DevOps, maskinlæring, nettsky og konteinere endret måten du jobber på?DevOps har for meg vært natt og dag. Jeg begynte å lage enkle nettsider da jeg var 12 år, ved å dra over filer gjennom FTP. Dette var en svært treg prosess med store muligheter for å gjøre feil, og ble det etter hvert mye mer komplekst når man begynte å bygge nettsider som bestod av mer enn HTML og CSS.
Nå består alt av å trykke på en knapp i build-serveren vår. Dette kompilerer og minimerer koden, og gjør den klar for produksjon. Den kjører så tester for alle mulige caser som brukerne kan finne på, slik at vi slipper å kjøre ut kode med feil. Dersom koden er feilfri, er det en knapp unna å erstatte alle våre 5 servere med ny kode. Dette var en prosess som hadde tatt minst en dag om det skulle ha blitt gjort manuelt, men som nå skjer automatisk.
Ser du noen trender framover som virkelig vil forandre hverdagen til utviklere?Webutvikling har gått igjennom en enorm utvikling de siste årene med nye rammeverk og verktøy annenhver måned. Det har vært vanskelig å se en tydelig vinner, og webapper har kjørt forskjellige suboptimale rammeverk.
Vi har kommet til et punkt hvor vi nå er i ferd med å få to klare vinnere, React og Vue, som begge er strålende rammeverk.
Vi har kommet til et punkt hvor vi nå er i ferd med å få to klare vinnere, React og Vue, som begge er strålende rammeverk.
Noe som kjennetegner disse rammeverkene er at alt «gir mening». Jeg vil tippe at vi vil se at disse rammeverkene blir bedre og bedre, og satset på i stedet for at nye rammeverk skal ta over. Rammeverkene vil føre til bedre webapper og nettsider, fordi at vi har et godt grunnlag å bygge på.
En ny trend som har kommet det siste året er at også UI skal testes automatisk. Tidligere har man bare testet selve funksjonaliteten. Det vil føre til raskere levering og mindre feil fordi utvikleren slipper å gå gjennom side for side for å se om gikk galt, men kan stole på de automatiske testene i stedet. Det er i ferd med å bli en større og større del av hverdagen til webutviklere.
Hvilke teknologier eller fagområder skulle du gjerne kunnet mer om?Donald Knuth utga i 1962 en sjubinds bok med programmeringsteknikker og algoritmer med analyse. Dette er bøker som er relevante i dag. Jeg kan knapt et brøkdel av det som står der, så det er nok å ta tak i.
Hvordan man bygger gode produkter, er noe jeg føler vi gjør greit, men som jeg også ønsker å lære mer om.
Deltar du jevnlig på konferanser? I så fall, hvilken er den viktigste for deg?Nei.
Hvilket forhold har du til innebygd personvern?Personvern er veldig viktig for oss, ettersom vi har mange store kunder.
Bidrar du, enten i jobben eller på fritiden, til noe åpen kildekode-prosjekt – i så fall, hvilke(t)?Vi har på jobb bidratt en del til Intercom-java-klienten, som vi fant en del bugs med. Vi har også bygget en avansert javaklient for Slack, som vi ennå ikke har fått tid til å open-source, men som vi planlegger i framtiden.
Jeg liker å bruke hjernen og føle at jeg får klarhet i problemstillinger.
Programmerer du mye på fritiden?Ja. Det er litt flytende det med jobb og fritid, og det går litt i hverandre.
Har du noen (andre) hobbyer?Jeg er glad i å synge og spille piano. Pleier å synge på vei til jobb. Jeg og kona liker og skate sammen. Har også holdt på med pole fitness et år.
Hva gleder du deg mest over ved å jobbe som utvikler?Jeg liker å bruke hjernen og føle at jeg får klarhet i problemstillinger. I tillegg liker jeg å prøve ut ny teknologi og se alle pakkene som blir laget for å løse vanskelige problemstillinger.
Opplever du at jobben som utvikler har noen negative sider?Nei.
Føler at du får den lønnen du fortjener?Ja
Hva er det beste frynsegodet du får?Treningsstudio rett under oss, og gratis lunsj.