Tarkvaraarendajaks olemine on tulus karjääriplaan. Need on inimesed, kellel on tõsised turustamisoskused. Aga mida nad täpselt teevad? Kuna te tõenäoliselt ei saa neist jagu, peate nendega liituma. Kas teil on hea toote väljatöötamiseks tehnilist taiplikkust ja publiku suhtelisust? Pisut ajurünnakut tehes – ja loomulikult alustades allolevast sammust 1 – saate seda teha!
1
Tehke kindlaks, milline tarkvaraarenduse põhitüüp teid huvitab. Tarkvaraarenduses on kaks peamist TÜÜPI laagrit: rakenduste arendus ja süsteemiarendus. Rakenduste arendus on keskendunud kasutajate vajadustele vastavate programmide loomisele. Need võivad ulatuda mobiiltelefonirakendustest suure tootlikkusega videomängudeni ja ettevõtte tasemel raamatupidamistarkvarani. Süsteemiarendus on keskendunud elutsükliarendust kasutades operatsioonisüsteemide loomisele ja hooldamisele. Süsteemiarendus hõlmab sageli võrgu toimivust ja andmeturvet.
2
Õpetage endale programmeerimiskeelt. Ideid võib pakkuda igaüks, kuid arendaja saab need ideed millekski käegakatsutavaks muuta. Isegi kui soovite töötada ainult tarkvara disainiaspektide kallal, peaksite olema tuttav kodeerimisega ja suutma luua põhiprototüüpe. Programmeerimiskeeli, mida saate ise õpetada, on tohutult palju. Mõned kasulikumad ja olulisemad on järgmised: C – C on üks vanemaid veel kasutusel olevaid keeli ja see on enamiku teiste selles loendis olevate keelte aluseks. C-d kasutatakse madala taseme programmide arendamiseks ja see töötab väga tihedalt arvuti riistvaraga. C++ – see on C objektorienteeritud versioon ja on maailma populaarseim programmeerimiskeel. Programmid, nagu Chrome, Firefox, Photoshop ja paljud teised, on kõik loodud C++-ga. See on ka väga populaarne keel videomängude loomisel. C++ arendajad on peaaegu alati väga nõutud.Java – see on C++ keele edasiarendus ja seda kasutatakse kaasaskantavuse lihtsuse tõttu. Peaaegu iga süsteem saab käivitada Java virtuaalmasina, võimaldades sellel käitada Java tarkvara. Seda kasutatakse laialdaselt videomängudes ja äritarkvaras ning paljud inimesed soovitavad seda olulise keelena.C# – C# on Windowsi-põhine keel, mis on osa Microsofti .NET raamistikust. See on tihedalt seotud Java ja C++-ga ning Java õppimisel saate kiiresti C#-le üle minna. See keel on eriti kasulik arendajatele, kes töötavad Windowsi või Windows Phone’i tarkvaraga.Objective-C – see on C-keele teine nõbu, mis on spetsiaalselt loodud Apple’i süsteemide jaoks. See näeb iPhone’i ja iPadi rakendustes tohutut populaarsust. See on suurepärane keel, mida vabakutselisena õppida. Python – see on uskumatult lihtne keel, mida õppida on üks lihtsamaid. Python on spetsialiseerunud veebiarendusele.PHP – see pole just tarkvaraarendus, kuid PHP on hädavajalik, kui olete huvitatud veebiarendusest. PHP arendajatel on alati palju tööd, kuigi see pole nii tulus kui tarkvaraarendus.
3
Otsige ressursse, mis aitavad teil õppida. Enamikus raamatupoodides on terved sektsioonid, mis on pühendatud raamatute programmeerimisele ning Amazonis ja teistes e-kauplustes on palju saadaval. Hästi kirjutatud programmeerimisraamat on tõenäoliselt parim ressurss, mis teil võib olla, ja see võimaldab teil projektidega töötades sellele kiiresti viidata. Lisaks raamatutele on Internet lõputu juhendite ja õpetuste aard. Otsige juhendeid oma valitud keele kohta sellistelt saitidelt nagu CodeAcademy, Code.org, Bento, Udacity, Udemy, Khan Academy, W3Schools ja palju muud.
4
Võtke mõned klassid. Kuigi te ei vaja tarkvaraarendusega tegelemiseks täielikku kraadi, ei tee halba võtta paar tundi kohalikus kogukonna kolledžis või õppekeskuses. See annab teile kasu individuaalõppest ja teil on väljakutse lahendada probleeme, mida te tõenäoliselt ei teeks, kui õpiksite iseseisvalt. Tunnid maksavad raha, seega veenduge, et registreerute tundidele mis aitab teil õppida seda, mida soovite teada. Kuigi paljud arendajad saavad tööstusesse siseneda ainult oma oskuste põhjal, aitate end teistest eristuda, kui teil on arvutiteaduse bakalaureusekraad nelja-aastane ülikool. Kraad annab teile laiema teadmiste tausta ja juurdepääsu täiendavatele kasulikele tundidele, nagu matemaatika ja loogika.
5
Töö lemmikloomaprojektidega. Enne kui hakkate proovima oma uusi programmeerimisoskusi reaalsetes töökohtades rakendada, töötage ise mõne projekti kallal. Esitage endale väljakutse probleemide lahendamiseks, kasutades oma programmeerimiskeelt. See mitte ainult ei aita arendada teie oskusi, vaid aitab koostada ka teie CV-d.Näiteks selle asemel, et kasutada arvuti kalendriprogrammi korrashoidmiseks, proovige ise kujundada!Kui olete huvitatud videomängude arendamisest, töötage lihtsate mängude kallal. mis ei keskendu graafikale ega keerulisele mehaanikale. Selle asemel keskenduge nende lõbusaks ja ainulaadseks muutmisele. Teie enda loodud väikeste mängude kollektsioon näeb teie portfellis suurepäraselt välja.
6
Esitada küsimusi. Internet on suurepärane viis teiste arendajatega ühenduse loomiseks. Kui avastate end mõne oma projektiga hämmingus, küsige abi sellistelt saitidelt nagu StackOverflow. Veenduge, et küsite arukalt ja suudate tõestada, et olete juba mitut võimalikku lahendust proovinud.
7
Harjuta iga päev. Töötage oma lemmikloomaprojektidega iga päev, isegi kui ainult tund aega. See aitab teil värskena püsida ja pidevalt uusi tehnikaid õppida. Paljudel arendajatel on keeleõppimine õnnestunud, tagades, et nad puutuvad sellega igapäevaselt kokku. Määrake iga päev aeg, mille saate kodeerimisele pühendada, või määrake tähtaeg, milleks peate lõpetama. Proovige oma projektidega töötada nädala sees iga päev, et saaksite nädalavahetusel lõõgastuda.
8
Ideid ajurünnak. Hea programm täidab ülesande, mis muudab kasutaja elu lihtsamaks. Vaadake tarkvara, mis on hetkel saadaval oleva ülesande jaoks, mida soovite täita, ja vaadake, kas on võimalusi, kuidas protsess oleks lihtsam või sujuvam. Edukas programm on see, millest kasutajad leiavad palju kasu. Uurige oma igapäevaseid ülesandeid arvutis. Kas on kuidagi võimalik osa neist ülesannetest programmiga automatiseerida? Kirjutage iga idee üles. Isegi kui see tundub sel ajal rumal või võõras, võib see muutuda millekski kasulikuks või isegi suurepäraseks. Uurige teisi programme. Mida nad teevad? Kuidas nad saaksid seda paremini teha? Mis neil puudu on? Nendele küsimustele vastamine võib aidata teil leida ideid selle kohta, kuidas seda ise teha.
9
Kirjutage projekteerimisdokument. Selles dokumendis kirjeldatakse funktsioone ja seda, mida kavatsete projektiga saavutada. Disainidokumendile viitamine arendusprotsessi ajal aitab hoida teie projekti õigel teel ja keskendununa. Dokumendi kirjutamise üksikasju leiate sellest juhendist.
10
Loo prototüüp. See on põhiprogramm, mis näitab funktsioone, mida soovite saavutada. Prototüüp on kiire programm ja seda tuleks korrata, kuni leiate toimiva disaini. Näiteks kui loote kalendriprogrammi, oleks teie prototüüp põhikalender (õigete kuupäevadega!) ja viis sellele sündmuste lisamiseks. Teie prototüüp muutub arendustsükli jooksul sageli, kui leiate uusi viise, kuidas seda teha. tegelege probleemidega või mõelge hiljem ideele, mida soovite lisada. Prototüüp ei pea olema ilus. Tegelikult peaks kunst ja disain olema üks viimaseid asju, millele keskenduda. Kasutades uuesti kalendri näidet, peaks teie prototüüp tõenäoliselt olema lihtsalt tekst.
11
Katsetage seda ikka ja jälle. Vead on iga arendaja häda. Koodivead ja ootamatu kasutus võib põhjustada valmistootes igasuguseid probleeme. Kui jätkate oma projekti kallal töötamist, katsetage seda nii palju kui võimalik. Tehke kõik endast oleneva, et see purustada, ja seejärel püüdke vältida selle purunemist tulevikus. Laske sõpradel ja perel oma programmi testida ja tulemustest teada anda. Kõik tagasiside saamise viisid aitavad teie arendusprotsessil kaasa. Proovige sisestada paarituid kuupäevi, kui teie programm käsitleb kuupäevi. Tõesti vanad kuupäevad või kauged tulevased kuupäevad võivad põhjustada programmiga veidraid reaktsioone. Sisestage vale tüüpi muutujad. Näiteks kui teil on vorm, mis küsib kasutaja vanust, sisestage selle asemel sõna ja vaadake, mis programmiga juhtub. Kui teie programmil on graafiline liides, klõpsake kõigel. Mis juhtub, kui lähete tagasi eelmisele ekraanile või klõpsate nuppe vales järjekorras?
12
Lihvige oma projekte. Kuigi prototüüpimise ja arendusfaasi jaoks on hea teha umbkaudne projekt, kui soovite, et teised seda kasutaksid, peate kulutama veidi aega poleerimisele. See tähendab, et tuleb veenduda, et menüüd voolavad loogiliselt, kasutajaliides (UI) on puhas ja hõlpsasti kasutatav, puuduvad silmatorkavad või silmatorkavad vead ning et see on kaetud kena välimusega. Kasutajaliidese disain ja funktsionaalsus võivad olla väga keerulised ja keerulised . Inimesed teevad kasutajaliidese kujundamisest terve karjääri. Lihtsalt veenduge, et teie isiklik projekt oleks hõlpsasti kasutatav ja silmale meeldiv. Professionaalne kasutajaliides ei pruugi olla võimalik ilma eelarve ja meeskonnata. Kui teil on eelarve, on palju vabakutselisi graafikadisainereid, kes võivad teie jaoks lepingu alusel kasutajaliidese kujundada. Kui teil on kindel projekt, millest loodate saada järgmine suur asi, leidke hea kasutajaliidese kujundaja ja muutke ta oma meeskonna osaks.
13
Pange oma projektid GitHubi. GitHub on avatud lähtekoodiga kogukond, mis võimaldab teil oma koodi teistega jagada. See võimaldab teil saada ülevaate oma koodist ja saada kasu teistele, kes otsivad lahendusi, mille olete välja mõelnud. GitHub on suurepärane õpperessurss ja hea viis oma portfelli koostamiseks.
14
Levitage oma tarkvara. Kui teil on valmis toode, saate valida, kas soovite seda levitada või mitte. Tänapäeval saate seda teha mitmel erineval viisil, olenevalt teie loodud tarkvara tüübist. Üks levinumaid viise, kuidas väikesed meeskonnad või sõltumatud arendajad oma tarkvara levitavad, on isikliku veebisaidi kaudu. Veenduge, et kõik teie funktsioonid oleksid hästi dokumenteeritud ning lisage mõned ekraanipildid ja õpetused. Kui müüte oma tarkvara, veenduge, et teil oleks hea digitaalne maksesüsteem ja server, kust tarkvara levitada. Kui arendate tarkvara konkreetse seadme või operatsioonisüsteemi jaoks, võite kasutada mitut digipoodi. . Näiteks kui teete tarkvara Android-seadmetele, saate oma rakendust müüa Google Play poe, Amazon App Store’i või oma isikliku veebisaidi kaudu.
15
Võtke lepingulised tööd. Kuigi need ei maksa nii hästi ja on vähem usaldusväärsed kui täistööajaga töötamine, saate oma portfelli oluliselt suurendada, kui võtate mitmeid lepingulisi töökohti. Töö leidmiseks vaadake saite nagu Elance ja ODesk (nüüd tuntakse ka kui “Upwork”). Kuigi lepingu sõlmimine võib olla keeruline, muutub see palju lihtsamaks, kui saate esimese lepingu. Hacker News on suurepärane ressurss lepinguliste ja vabakutseliste töökohtade jaoks. Vaadake jaotist “Küsi”. Kuigi võib olla ahvatlev teha lepingulise töö tagamiseks madalat pakkumist, ärge müüge oma teenuseid lühikeseks. Lisaks sellele, et te töötate vähema hinnaga, kui väärite, vihastate ka teisi oma valdkonnas tegutsevaid inimesi, mis toob kaasa vähem võrgustike loomist. Hea töö lepingulisel töökohal võib mõnikord viia täiskohaga töökohani. Anna alati endast parim!
16
Võrgutage nii palju kui võimalik. Osalege nii paljudel konverentsidel ja häkkimisüritustel, kui vähegi võimalik. See mitte ainult ei ava teile rohkem koodi ja lahendatavaid probleeme, vaid aitab teil kohtuda ka teiste inimestega selles valdkonnas. Hoolimata sellest, mida võite arvata programmeerijatest, kes töötavad üksi oma keldris, on enamik täiskohaga arendajaid osa meeskonnast ja võrgustike loomine on sama oluline kui mis tahes muu valdkond.
17
Kandideeri täiskohaga ametikohtadele. Kui teil on mõni lepinguline töökoht olemas, võite hakata saatma oma CV-d ja portfelli suurematele organisatsioonidele täistööajaga töötamiseks. Lisaks Monsterile ja Indeedile on palju arendajapõhiseid töösaite, mida peaksite vaatama, sealhulgas GitHub Jobs, StackOverflow Job Board, AngelList, CrunchBoard, Hirelite ja Hacker News.
18
Mitmekesistada oma oskusi. Hea tarkvaraarendaja valdab tavaliselt rohkem kui ühte keelt. Kuigi suur osa õpitust jääb töö juurde, kasutage osa oma vabast ajast oma teadmiste laiendamiseks ja mõne teise keele põhitõdede õppimiseks. See muudab uutele projektidele ülemineku palju lihtsamaks ja muudab teid palju ihaldusväärsemaks kandidaadiks.
19
Ärge muretsege palga pärast. Mitte iga algtaseme tarkvaraarenduse töö ei maksa kuuekohalist tasu. Tegelikult ei tee ükski neist. Tarkvaraarenduse juures on aga hea see, et tööturg on uskumatult tugev. Kui tunnete, et te ei teeni praegu piisavalt, on suhteliselt lihtne uues ettevõttes uuele ametikohale liikuda (kui teil on oskused). Pidage oma esimest töökohta vajaliku kogemusena, selle asemel, et keskenduda oma pensioniplaanile.