Torej hočeš moje delo: razvijalec aplikacij

{h1}

Še enkrat se vrnemo k svojemu Torej hočeš moje delo serija, v kateri intervjuvamo moške, ki so zaposleni na zaželenih delovnih mestih, in jih sprašujemo o resničnosti njihovega dela ter po nasvetih, kako moški lahko živijo svoje sanje.


Veliko koncertov, povezanih z računalniki in programsko opremo, se strne v isti sklop kariere, brez prave razlike. Resničnost pa je taka, da obstajajo številni poklici, ki vključujejo programiranje, razvoj, računalniško varnost itd. Lani smo pokrivali podrobnosti, da bi bil IT strokovnjak. Danes gledamo na svet razvijalcev aplikacij. Pogovarjali smo se z Jasonom Butzom, ki nam pokaže, kaj počne, in kako se razlikuje od drugih programerskih karier.

1. Povejte nam nekaj o sebi (od kod ste? Koliko ste stari? Opišite svojo službo in kako dolgo ste že pri njej itd.).


Rodil sem se in odraščal v Indianapolisu v državi Indiana. Imam 26 let, vendar se hitro približujem 27. Sem razvijalec aplikacij, kar je modno rečeno, da izdelujem spletne aplikacije. Pri svojem sedanjem delodajalcu sem skoraj 2 leti, vendar se s spletnimi aplikacijami profesionalno ukvarjam približno 5 let. S spletnimi mesti in spletno tehnologijo se v prostem času igram že več kot 15 let.

2. Zakaj ste se želeli vključiti v programiranje / razvoj aplikacij? Je bilo to nekaj, za kar ste vedno vedeli, da želite početi?


Ko sem odraščal, sem hotel biti veterinar ali skrbnik živalskega vrta, zato to ni bilo ravno tisto, kar sem si prvotno želel. V srednji šoli sem se udeležil poletnega tečaja obogatitve, kjer sem se naučil graditi spletne strani. Še vedno so bila 90. leta in spletna mesta niso bila videti dobro, a sem bil zasvojen. V srednji šoli sem obiskoval vse računalniške tečaje in se doma sam učil več o spletnem razvoju. Učil sem se vsega, od programiranja do gradnje in popravljanja računalnikov. Pravzaprav sem lahko dobil nekaj certifikatov. Nisem bil natančno prepričan, kaj želim početi, vedel pa sem, da se bo to ukvarjalo z računalniki. Ko sem začel iskati na fakulteti, sem se diplomiral iz računalništva in na fakulteti ugotovil, da sem dober v spletnih aplikacijah in jih rad gradim.



3. Ali nam lahko določite, kaj počne razvijalec aplikacij? Običajno se poveže z različnimi drugimi tehničnimi karierami. Kaj je tisto, kar določa vašo posebno vlogo?


Z naslovi, ki jih uporabljajo podjetja, postanejo stvari zelo motne. Na primer, v podjetju, v katerem delam, lahko razvijalec aplikacij dobi napredovanje v programskega inženirja, kjer je edina resnična razlika v razpoložljivi lestvici plač. Prej sem imel službo, kjer sem delal isto, toda moj naziv je bil razvijalec / analitik. Prepričan sem, da je uporabljenih celo več naslovov od teh, vendar jih ne poznam vseh. Še bolj se zaplete, če upoštevate, da se naziv Programski inženir uporablja za opravila, ki ne delujejo nujno s spletnimi aplikacijami, ampak samo izvajajo nekakšno programiranje.

V mojem primeru razvijalec aplikacij gradi in vzdržuje spletne aplikacije. V oddelku, v katerem sem, imamo 3-4 primarne interne aplikacije, ki smo jih zgradili in vzdržujemo. V drugem oddelku razvijalci aplikacij izdelajo spletne aplikacije po meri, da razširijo izdelke in storitve, ki so jih kupili kupci.


Na primer, ena od naših notranjih aplikacij je zbirka za upravljanje projektov, ki temelji na naših procesih in potrebah. Nekaj ​​razvijalcev v moji ekipi je pravkar končalo obsežno prenovo funkcije Ganttovega grafikona. Trudim se za razumevanje in oblikovanje zapletenega finančnega poročila, ki ga je treba v celoti sestaviti iz informacij, ki jih imamo v našem sistemu. Vsi delamo na istih orodjih, toda to, kar dejansko počnemo, ima lahko veliko raznolikosti.

4. Kako postanete razvijalec aplikacij? Ali potrebujete univerzitetno izobrazbo? Ali so potrebna potrdila? Če greš na fakulteto, kaj bi moral študirati?


Fakulteta ni nujno potrebna, vendar obstaja veliko podjetij, ki vas niti ne bodo upoštevala za neko delovno mesto, razen če jo imate. Brez diplome boste morali imeti dober portfelj dela in projektov, ki ste jih zgradili. Če ste dobro prispevali k priljubljenim odprtokodnim projektom, bi bilo to še posebej koristno (seveda bo dober portfelj koristen tudi s fakultetno izobrazbo).

Če se želite ukvarjati s kakršnim koli spletnim razvojem, ni preveč potrdil, čeprav sem prepričan, da obstajajo. Certifikati so lahko v pomoč pri katerem koli tehnološkem delovnem mestu, vendar se zdi, da delodajalci pridobivajo vse več potencialnih zaposlenih, ki imajo ogromno certifikatov, vendar nimajo resničnih izkušenj, da bi jih lahko podprli. Ni nezaslišano, da bi se ljudje radi natisnili na certifikacijske teste in opravili, vendar še vedno nimajo pravega razumevanja informacij.


Obstaja več poti, po katerih lahko stopite na fakulteto. Šel sem na pot računalništva (CS). V moji ekipi je nekaj ljudi, ki imajo diplome informacijske znanosti (IS) ali računalništva in informatike (CIS). Sodeloval sem celo z eno osebo, ki je diplomirala iz računalniške grafike. Stopnje CS imajo več računalniške teorije kot IS ali CIS. Mislim, da sem tudi videl, da nekatere fakultete ponujajo diplome iz spletnega razvoja, ki bi lahko celo delovale. V resnici gre za to, kaj posamezni študijski program uči in kaj natančno želite početi.

5. Kako se vam zdi delo razvijalca aplikacij? Ali obstajajo različne vrste delovnih mest na terenu? Kakšen je trg dela?

Najboljši način, s katerim sem imel pravzaprav nekaj težav, pri iskanju dela razvijalca aplikacije je začeti s pripravništvom. Moj faks jim ni dajal velikega poudarka, kar je res delovalo proti meni. Lani poleti smo v moji ekipi imeli nekaj pripravnikov; eden od njih je tako dobro opravil svoje delo, da je bil vse prej kot rekel, da ga bodo zaposlili, ko bo diplomiral, če se bo prijavil.

Veliko je tudi kadrov za vsa tehnična dela. V Indianapolisu dejansko primanjkuje tehničnih ljudi, zato se naborniki res trudijo. Lahko so odličen način za razgovore in iskanje dela, vendar se morate zavedati, da je to njihova naloga. Zanima jih, da vas nekje zaposlijo, četudi vam to ne ustreza najbolje.

Največ sreče sem imel z napotnicami družine in prijateljev. Prvo službo sem dobil na fakulteti po zaslugi moškega, ki sem ga poznal leto pred mano. Takrat še nismo bili prijatelji, vendar je poznal predavanja, ki sem jih obiskovala, in vedel je, da lahko jamči za moje spretnosti s preprostim dejstvom, da sem diplomiral iz istega programa kot on. Medtem ko sem v šoli, ne morem dovolj poudariti, da se morate povezati s svojimi profesorji, bivšimi študenti in celo ljudmi, ki so leto ali dve pred vami. Lahko so ključ do iskanja sanjske službe. Pri sedanjem delodajalcu sem pravzaprav stopil v vrata po zaslugi bratranca polbrata. Sliši se nekako noro in se vedno nasmeje, vendar bom vzel vse, kar bom dobil.

Obstaja tudi dobra stara metoda pošiljanja življenjepisov. Predlagam, da spletnih mest za iskanje zaposlitve, kot je CareerBuilder, ne uporabljate, če vam lahko pomagajo; preprosto pošljite življenjepis podjetju prek lastnega oddelka za kariero. Poiščite podjetja na vašem območju in si oglejte, kaj počnejo in kakšna delovna mesta imajo na voljo. Če imate vprašanje o tem, ali sploh imajo določeno vrsto službe, jih ne oklevajte in pokličite s kadrovskim kadrom. Nikoli ne veš, morda boš imel srečo in iz tega dobil intervju. Velika stvar pri pošiljanju življenjepisov je, da je manj verjetno, da vas bodo poklicali kot nekoga, ki ga je napotil drug uslužbenec, zato pojdite tja in se povežite.

6. Povejte nam nekaj o povprečnem delovnem dnevu.

Dneve začnem ob 7.30 po izbiri. Preostala ekipa pride šele ob 9:00. Sem jutranji človek in zjutraj bolj produktiven, zato šefa ne moti in uživam v tišini. Običajno dan začnem s posnemanjem e-pošte in službe za pomoč uporabnikom, ki iščejo kakršna koli vprašanja, za katera lahko poskrbim ali jih moram posredovati. Potem poberem vse, kar sem počel prejšnji dan, in se po najboljših močeh osredotočim na to do našega srečanja SCRUM ob 9:30. Naša srečanja SCRUM so kratek sestanek, na katerem povemo, na čem smo delali in kaj načrtujemo za ta dan. To je tudi čas, ko bo naš šef morda zamenjal prioritete in nam naročil, naj naredimo nekaj drugačnega, če bo treba. Po tem nadaljujem s svojim delom ves dan, občasno si privoščim kratke odmore, da se sprehodim in pogledam nekaj, kar ni koda ali moja trenutna težava.

Nekaj ​​edinstvenega in drugačnega pri ekipi, v kateri sem trenutno, je, da med kosilom skoraj vedno igramo igro. Običajno igramo igre, ki jih lahko končamo v manj kot eni uri, čeprav začnemo preizkušati igre, ki jih lahko enostavno fotografiramo in nadaljujemo naslednji dan.

Po kosilu nadaljujem z delom, dokler ne pride čas za domov. Nekaj ​​drugačnega v moji situaciji je, da obstaja en sistem, za katerega sem edini, ki ve, kako v celoti upravljati ali razvijati naprej. To ni ravno idealno, vendar trening drugih na tem ni ravno prednostna naloga. Tako dobim veliko vstopnic za sistem in se vlečem na sestanke, kadar ljudje želijo nove funkcije ali imajo vprašanja. Na splošno povprečen dan ni slab. Delam v tehnološkem podjetju in imamo notranje orodje za neposredna sporočila. Ves dan se ekipa morda ne pogovarja veliko, toda v teh sporočilih imamo nenehne pogovore in šale. Olajša druženje, hkrati pa je še vedno produktivno.

Vsak mesec ali dva imamo izdajo, ki naredi veliko bolj stresne in raznolike nekaj tednov. Ti tedni običajno vključujejo testiranje celotnega sistema in čim hitrejše odpravljanje morebitnih napak. Potem objavimo čez vikend in naslednji teden moramo izdati veliko majhnih popravkov, ko bodo ljudje našli več napak.

7. Kakšno je razmerje med poklicnim in zasebnim življenjem kot programerja?

Na splošno je zelo uravnoteženo. Običajno se lahko pojavite in odidete ob običajnem času, čeprav obstajajo izjeme. Če je nekaj kritično pokvarjeno, se boste na splošno morali držati, dokler se to ne popravi. Če imate funkcijo, ki mora biti v izdaji in vam zmanjkuje časa, boste morali vložiti nekaj dodatnega dela. Če je za sestavo izdaje potrebnega več časa in je ni mogoče premakniti na drug dan, boste verjetno morali vložiti še nekaj časa. V kolikšni meri vam katera od teh stvari prekine življenje, je v resnici odvisno od tega, kje delate in kdo je vaš šef. Velikokrat je mogoče že pred časom vedeti, da boste morali vložiti nekaj dodatnih ur, in to lahko načrtujete.

8. Kateri je najboljši del vaše kariere?

Uganke. Programiranje stvari je res kot velikanska logična uganka. Moram sestaviti različne stvari, da zgradim aplikacijo, ki nekaj naredi. Morda me obvestijo, da ko nekdo odobri element v aplikaciji, mora določena skupina ljudi dobiti e-pošto, vendar tega ne morem kar tako vstaviti, kot je. To moram sprejeti in razbiti na zelo osnovno raven. Ko sem razčlenjen, razporedim svoje kose - kodo - tako bo izpolnil, kar želim. Všeč mi je tudi, ko ustvariš nekaj novega. Nove funkcije, ki niso poročila, so ponavadi zelo zabavne. Včasih so lahko tudi zapletena poročila zanimiva. Če pridejo uporabniki k vam in rečejo »Potrebujemo Ganttov diagram«, nato pa to ustvarite in jim izročite, je čudovita izkušnja. Običajno te gledajo, kot da si nekakšen čarovnik ali čarovnik.

Poleg ugank in ustvarjanja so ljudje lahko res odlični. Sem gee oseba, vendar so tudi vsi v moji ekipi geeky. Pogovori, ki jih bomo imeli, lahko postanejo nori. Včasih slišiš nekoga, ki govori o tem, kaj Marvel počne s svojimi stripi. Drugič boste slišali neverjetno podrobne ocene iger. Včasih boste slišali naključna, a fascinantna dejstva o filmih. Občasno stvari postanejo filozofske. Nikoli ni dolgočasnega pogovora in vsi se ves čas nasmejimo.

9. Kaj je najslabši del?

Dolgočasni projekti ali projekti, ki so bili nekoč vznemirljivi, a so postali monotoni. Ustvarjanje resnično osnovnega poročila, ki vsebuje samo informacije, ni prav zabavno. Edina rešilna milost zanje je, kako hitro jih lahko dokončate. Ne ustvarjate veliko in največja uganka je, kako boste povlekli vse prave informacije. Preostanek ste že storili. Včasih lahko veliki projekti iz resnično zanimivih postanejo enolični in se nato vlečejo še tedne. Ugotoviti, kako narediti vse na začetku, in imeti vse te čudovite ideje je super - združuje nekaj najboljših delov dela. Potem pa moraš narediti vse tiste velike stvari, ki si jih omislil, in lahko začne hitro postajati dolgočasno, nato pa postane frustrirajuće, ko pozabiš, kako si naredil nekatere stvari in si načrtoval druge. Ustvarjati je treba zapise in si poskušati zapomniti stvari. Čim bolj so vaše ideje težje, da se vsi deli pravilno prilegajo.

10. Katera je največja napačna predstava ljudi o vaši službi?

Ljudje mislijo, da odkar delam z računalniki, vem vse o računalnikih, tudi kako jih popraviti. V mojem primeru sicer znam popraviti računalnike, vendar to ni tako pogosto, kot si ljudje mislijo. Še ena pogosta težava je ta, da ljudje, ker znam pisati programe, mislijo, da lahko napišem program za kar koli. Naučim se pisati programe za druge sisteme, vendar je vsaka platforma nekoliko drugačna. Ne morem vam povedati, kolikokrat so mi ljudje rekli: 'Hej, potrebujem tvojo pomoč. Imam odlično idejo za telefonsko aplikacijo in jo potrebujete, da jo naredite. ' Vedno so videti nekoliko neumno, ko jim rečem, da nisem seznanjen s tem, kako narediti telefonske aplikacije.

11. Katere druge nasvete, nasvete, komentarje ali anekdote, ki jih želite dodati?

Če se želite ukvarjati s kakršnim koli računalniškim programiranjem, boste morali poznati programske jezike, vendar je velikokrat pomembna sposobnost hitrega učenja jezikov in pravilna miselnost. Zavzeti morate zapletene probleme in jih razstaviti na nekaj preprostejšega. Zelo koristno je tudi luknjanje v idejah in iskanje logičnih primerov.

Pomembna lekcija, ki sem se je naučil in se mi zdi koristna za vse, je vedno odvisno od vaših napak. V zadnjem podjetju, pri katerem sem delal, sem delal na finančnem sistemu in sem potisnil posodobitev, ki sem jo napisal. Naslednji dan je prišel upravitelj tja, kjer sva z drugim razvijalcem sedela in nam povedala, da je videti, kot da je iz sistema izginilo 2 milijona dolarjev. Hitro sem rekel, da sem verjetno kriv jaz, ker sem prejšnji dan izrinil neko kodo, ki je vplivala na to. Priznanje, da sem zamočil, je šlo daleč. Težavo sem lahko tudi odpravil in omogočil, da se je denar spet pojavil v finančnih poročilih, kar verjetno ni škodilo. Drugi razvijalec tam je 200 milijonov dolarjev izginil in tudi on ni izgubil službe. Vedno se prilagodite svojim napakam in naredite vse, da jih popravite, če so odpravljive.