utvikling
Utviklerintervjuet: Han er Gitlabs eneste utvikler i Norge
Selskapet har ingen kontorer.
Ukens utviklerprofil er Denys Mishunov (38). Han er ansatt som senior frontend-ingeniør i Gitlab. Han er tilknyttet avdelingen som kalles for Create. I praksis betyr det at han jobber med utvikling av selskapets webbaserte utviklingsmiljø.
Kan du kort beskrive stillingen og oppgavene dine?
Jeg håper det, skal vi se: Først og fremst utvikler og jobber jeg med Gitlab som et produkt. Det vil si at jeg jobber med frontend-teknologier som Javascript, CSS, HTML og så videre. Som «senior» ressurs er jeg ansvarlig for arkitektur, testing og planlegging av oppgaver.
Hvorfor valgte du akkurat denne arbeidsgiveren?
Først og fremst var muligheten til å jobbe hjemmefra veldig viktig for meg. Gitlab er et 100 prosent remote-selskap, så det var ikke noe problem. I tillegg så passet teknologiene og filosofien bak selskapet meg veldig bra.
Faktisk har vi ingen Gitlab-kontorer i det hele tatt.
Hvor jobber du mest, på kontoret, på hjemmekontoret eller ute hos kunder?
Jeg jobber kun hjemmefra. Vi har ingen kontorer i Norge. Faktisk har vi ingen Gitlab-kontorer i det hele tatt. Selv vår CEO jobber remote.
Kan du fortelle litt om prosjektet/prosjektene du har jobbet med i det siste?
Jeg jobber ikke prosjektbasert, så vi jobber med det samme produktet (Gitlab) hele tiden. Men det betyr ikke at hverdagen er kjedelig, eller over tid mangler variasjon. Tvert imot, produktet er stort, og det går bare én måned mellom hver nye release. Så for hver nye release finnes det en masse spennende oppgaver som må løses.
Jeg personlig jobber mest med WebIDE (webbasert «Integrated development environment»). Det er som et redigeringsverktøy man kan installere på PC-en sin, men som jobber uten noen installasjon i skyen.
Hvor lenge har du jobbet som utvikler?
Jeg begynte rundt 2003 og gikk gjennom alle mulige områder av frontend-utvikling fra webdesign og UX til CSS og Javascript. Så da snakker vi om 17 år i bransjen.
Har du vært ansatt ved samme sted hele tiden?
Nei, jeg har vært noe lengre i bransjen enn bare hos Gitlab. Jeg begynte å jobbe med utvikling mens jeg fortsatt bodde i Ukraina. Da jobbet jeg som frilanser med mange forskjellige utenlandske selskaper. Etter jeg flyttet til Norge i 2008, jobbet jeg først i flere år hos lokale selskaper som Jarn (gikk dessverre konkurs i 2012) og Fastname/Uniweb, før jeg byttet til frilans igjen. Så jeg har vært hos Gitlab i litt over ett år nå.
Jeg var 21-22 år da jeg først tenkte å lære meg Perl. Det var helt krise, for å være helt ærlig.
Hvor gammel var du da du først begynte å lære deg programmering?
Godt spørsmål. Jeg var 21-22 år da jeg først tenkte å lære meg Perl. Det var helt krise, for å være helt ærlig. Jeg prøvde å lære meg Perl på fritiden, mens jeg studerte på universitetet, den gang var det ingen programmeringsfag der. For en uten en grad i informatikk var det vanskelig, og jeg fikk helt vondt i magen. Da bestemte jeg meg for å bytte til webdesign.
Hva slags utdannelse har du?
Jeg har diplom som elektroingeniør.
Hvilke plattformer utvikler du vanligvis for?
Det er bare web som gjelder for meg.
Hvilken pc-plattform/OS foretrekker du selv å bruke?
Fra 2007 har jeg vært MacOS-bruker. Det bare passer meg best. Det er nok fleksibiliteten når det gjelder programmering, men uten alle de konfigurasjonskrevende greiene som Linux tilbyr. Så trenger jeg heller ikke å rydde systemet så ofte som det trengs med Windows. Jeg vil at maskinen skal virke og se pen ut :)
Hvilke programmeringsspråk benytter du?
Jeg hadde erfaring med Python. Hadde dårlig erfaring med Perl. Men nå er det bare Javascript som gjelder. Og ja, for meg er det et ekte programmeringsspråk, selv om mange andre kanskje ikke er enige i dette.
Hva er favorittspråket og hvorfor?
Favorittspråket er språket jeg kan. Vi kan diskutere fleksibilitet i én eller annen form i flere timer, men det er språket som man får glede av å jobbe med, som er favoritten. Hvis man i tillegg får betalt for å jobbe med det språket – enda bedre. Og da er det Javascript for meg.
Hvilke to verktøy greier du deg ikke uten, og hvorfor?
Hvis det er snakk om hardware, er jeg usikker på om jeg har noen spesiell form for tilknytting til ett verktøy fremfor andre. Det eneste som jeg trenger er gode, lydisolerende hodetelefoner, for det er ikke alltid rolig når man jobber hjemmefra.
Det eneste som jeg trenger er gode, lydisolerende hodetelefoner.
Men det er egentlig det hele, synes jeg.
Selv min laptop kan for enkelte oppgaver erstattes med en Ipad. Det hender jeg jobber jeg med illustrasjoner til en konferanse, foredrag eller en artikkel, og da er det mye mer komfortabelt å jobbe med Ipad.
Når det gjelder programvare, bruker jeg Rubymine som hovedverktøy, men kan også jobbe I Vscode eller andre typer programvare. Så jeg tror det er vanskelig for meg å spesifikt fremheve to ting.
Hva slags oppgaver liker du best å jobbe med?
De som krever gjennomtenkning. Jeg liker å dele de komplekse oppgavene opp i mindre deler, når det er en mulighet til å komme med en enkel, men verdifull løsning. Derfor liker jeg å jobbe med komponenter (i Vue.js når det gjelder Gitlab, ellers elsker jeg Web Components) og strukturere kode. Jeg liker faktisk det som de fleste kanskje hater :)
I det siste har jeg begynte å jobbe med GraphQL. Liker det også, enn så lenge.
Hvordan sørger du for å holde deg faglig oppdatert?
I Gitlab har vi en ganske spesiell prosess når det gjelder «code review». Når man godkjenner kode, må man få den godkjent av to av kollegene sine. De godkjenner løsningen og en av dem pusher koden videre i hovedproduktet.
Det som er spennende, er at alle som jobber i Gitlab (for eksempel frontend-ingeniører, når det gjelder frontend-oppgaver) er involvert i prosessen rundt «code review», uansett avdeling. På den måten får alle i selskapet erfaring med forskjellige deler av produktet (utenom sine ansvarsområder), og man får en mulighet til å dele erfaring og kunnskap med kollegene sine gjennom denne prosessen. Man lærer seg veldig mye på den måten.
I tillegg krever mine oppgaver at jeg sjekker og holder meg oppdatert på ulike teknologier, får inspirasjon fra forskjellige kilder, og eksperimenterer.
For å sikre at produktet tilbyr alt som trengs for DevOps, bruker vi selv produktet hver eneste dag.
I hvilken grad har metoder og teknologier som devops, maskinlæring, nettsky og konteinere endret måten du jobber på?
Først og fremst så er Gitlab-verktøyet laget for devops. For å sikre at produktet tilbyr alt som trengs for devops, bruker vi selv produktet hver eneste dag, og produktet dekker alle behovene man har i devops. Så man kan si at devops i stor grad har endret måten jeg jobber på. Det er første arbeidsplass for meg, hvor ett eneste produkt dekker alle behovene i devops-syklusen.
Ser du noen trender framover som virkelig vil forandre hverdagen til utviklere?
I mange år var det en trend at hver eneste tjeneste krevde forskjellige typer software. Github for kode, Trello for kanban, Slack og epost for kommunikasjon, samt ulike verktøy for CI/CD.
Nå ser jeg at det er mye mer fornuftig å kombinere alle funksjoner i ett og samme produkt. Det er billigere, fører til bedre adopsjon av forskjellige tjenester gjennom et kjent grensesnitt, og så videre. Det sparer meg også masser av tid når alle tjenester er koblet tett sammen og enkelt kommuniserer med hverandre.
Hvilke teknologier eller fagområder skulle du gjerne kunnet mer om?
Jeg ønsker å lære og kunne mer om management, og det å jobbe med folk. Å bygge sunne teams er ikke bare gull verdt for ledere, men også for utviklere.
Deltar du jevnlig på konferanser? I så fall, hvilken er den viktigste for deg?
På grunn av små barn hjemme har det i det siste ikke blitt så mye av det. Men reiste mye tidligere. Når det gjelder allround frontend-teknologiene, da er Smashing Conference en av de viktigste for meg. Der er også ikoniske JSConf EU hvor nye trender innen Javascript annonseres ganske ofte. Det er også flere, litt mer spesifikke som for eksempel VueJS Amsterdam (dedikert til Vue JS), eller JS Nation (også den i Amsterdam, og dedikert til Javascript).
Hvilket forhold har du til innebygd personvern?
Personvern er kjempeviktig i det moderne samfunnet. Men ideelt burde dette være en moralsk forpliktelse for enhver virksomhet som standard. Dessverre er vi fortsatt ikke der og derfor må vi ha rettshåndhevelser for det.
Bidrar du, enten i jobben eller på fritiden, til noe åpent kildekode-prosjekt – i så fall, hvilke(t)?
Jeg var i mange år et aktivt medlem av Plone CMS-prosjektet. Men er dessverre ikke lengre det. Jobber ikke lengre med Plone, så det er vanskelig å finne tiden til å bidra i prosjekter utenfor nåværende interesser. I Gitlab prøver jeg å bidra litt i flere Vue JS-orienterte prosjekter.
Det er veldig viktig å ha balanse mellom fritid og jobb.
Hvor mye programmerer du på fritiden?
For meg er programmering mest knyttet til jobben min. Så på fritiden ønsker jeg ikke å programmere. Det er veldig viktig å ha balanse mellom fritid og jobb. Men det er spesielt vanskelig å avgrense dette når man jobber hjemmefra. Så her må jeg være veldig streng med min personlige tidsstyring, og ikke gjøre arbeidsrelaterte ting etter arbeidstid.
Har du noen (andre) hobbyer?
Ja. Nå er det ettåringen.
Men utover det så er det klart mange andre ting i livet som jeg er interessert i. Jeg liker å tegne, og lese bøker. Jeg liker sport, som jogging (har kjøpt en perfekt tredemølle på black friday) og sykling. Jeg liker å reise og å ta bilder. Men det som er jeg mest opptatt nå på fritiden er selvfølgelig, ettåringen :)
Hva gleder du deg mest over ved å jobbe som utvikler?
Å lage noe som brukes av millioner over hele verden.
Opplever du at jobben som utvikler har noen negative sider?
Det er ikke nødvendigvis spesifikt for kun utvikling, men er kanskje mest forbundet med den bransjen: Mangel på andre interesser utenom bransjen. Veldig ofte møter jeg utviklere som ikke kan snakke om noe annet enn utvikling.
Det er litt synd etter min mening.
Det er så mange interessante ting i verden. For meg er et større spørsmål hvorfor folk i større grad ikke er interessert i helsen sin i vår bransje, både den fysiske og psykiske. Dette er et stort problem både for utvikleren selv og generelt i samfunnet.
Hva er det beste frynsegodet du får?
Hmm … Det finnes mange i Gitlab, så det er vanskelig velge ut bare ett. Men det som kanskje er det største frynsegodet er at jeg kan jobbe fra hvor som helst, når som helst. Og at dette ikke plager noen, siden alle i selskapet jobber på samme måte.