Kuidas valida programmeerimiskeelt

Niisiis, olete otsustanud õppida, kuidas kodeerida. Küsimused on nüüd, kust ma peaksin alustama? Mis keelt ma peaksin õppima? Kuna seal on nii palju keeli ja pinu, võib otsus olla üsna hirmutav. Veidi enam kui aasta tagasi otsustasin ka täna teha suure arenguhüppe tarkvara arendamisel. Tol ajal ütlesid enamik blogisid ja artikleid, mida ma lugesin, et mul pole vahet, millist keelt õpid, vali lihtsalt üks keel ja teised tulevad lihtsalt; “Oluline on lihtsalt kodeerimisega alustada.” Kuigi see on mitmes mõttes suurepärane nõuanne, pole see ka parim. Jagageme ära, mida peaksite keele valimisel arvestama.

Mida sa tahad ehitada?

Sageli küsitakse minult programmeerimisel õige tee valimise kohta. Millist karjääri peaksite tegema, küberturvalisus, veebiarendus, iOS, AI? Selline otsus on täielikult teie otsustada. Õiget vastust pole, on lihtsalt oma.

Stack Overflow’i 2018. aasta arendajauuringust. Kena graafik, mis näitab, milliseid keeli sageli koos kasutatakse ja milleks need on mõeldud.

Igat tüüpi projektide jaoks on vaja programmeerijaid. Peate uurima ja potentsiaalselt varjutama inimesi, et näha, milliseid projekte soovite ehitada. Mulle isiklikult meeldib, kui saan luua midagi sellist, näiteks veebisaiti, mida inimesed kasutavad ja naudivad. Või tahad ehk mänge arendada? Teistele inimestele meeldib süsteemi lõhkuda või õppida seda kaitsma, seega on eetiline häkkimine või küberturvalisus nende jaoks. Kui olete õppinud, mida soovite ehitada, uurige Google'i vana rakendust, et näha, milliseid keeli peaksite selle täpse asja ülesehitamiseks õppima. Siin on üldine jaotus erialade kaupa (mitte ammendav, kuid annab teile üldise idee. Soovitan lõpliku otsuse tegemiseks siiski lugeda ülejäänud see artikkel):

  • Kasutajaliidese / UX-i kujundamisel on tore õppida HTML-i ja CSS-i. Ka JavaScript on kena ja eristaks teid teistest kandidaatidest. UI / UX juht minu praegusel töökohal on juhtpositsioonil, sest ta on ainus disainerite meeskonnas, kes oskab neid kolme keelt.
  • Andmeteaduse jaoks uurige Pythoni või R-i.
  • Veebi arendamiseks peate teadma HTML-i, CSS-i ja JavaScripti. Tõenäoliselt tahate seda ka raamatukoguga nagu React.js või jQuery rajada.
  • Veebidisaini arendamiseks on keeli liiga palju, kuid populaarsed keeled on JavaScript, Python, Java, C #, PHP. Selle kohta otsuse tegemiseks lugege ülejäänud artiklit.
  • AI või masinõppe saamiseks uurige R, Pythonit või Java.
  • Mobiili arendamiseks valige Androidi jaoks Kotlin ja iOS-i jaoks Swift. Ma ei soovita kasutada ümbrise raamistikke, näiteks Flutter või React Native.

Tuginege oma praegusele karjäärile

Võib-olla soovite ka jääda oma praegusele väljale, kuid täiendage oma oskusi natuke kodeerimisega seotud teadmistega. Graafiline disainer võiks õppida HTML / CSS-i, võib-olla JavaScripti ja võib-olla natuke rohkem psühholoogiat, et saada rohkem UI / UX-i kujundajaks. Seda tüüpi töökohtadel on suur nõudlus ja tõenäoliselt viib teid ka tehnoloogiavaldkonda. See võib viia ka kena palgatõusuni!

Mul on praegu sõber, kes õpib linnaplaneerimist ja teda huvitavad linnaplaneerimise osas andmepõhised otsused. Ta rääkis mulle hiljuti, et see avastus õpetas teda, et ta peaks uurima programmeerimiskeeli, et edendada oma jätkamist ja aidata tal unistusi täita. Andmeanalüütikute jaoks oleksid ideaalsed keeled Python ja SQL - just seda ta kavatsebki oma eesmärkide saavutamiseks õppida.

Teadustöös võite leida mitu keelt ja raamistikku, mida saaksite kasutada näiteks veebisaidi või mobiilirakenduse loomiseks. Räägime siis sellest, kuidas seda kitsendada.

See on seotud nõudlusega

Aasta tagasi alustades tekkis mul huvi liikuda mobiilside arendamise vastu, kuid arvestades, et enamikul minu piirkonnas asuvatel alglaadimislaagritel polnud mobiili arenduskursusi (mobiili arendus on ikka päris uus, nii et kogenud arendajate leidmine juhendamiseks võib olla keeruline), otsustasid selle asemel veebiarenduse õppida. Minu alglaadimiskamber pakkus MEAN-i virna (JavaScripti tarkvarapakk MongoDB, ExpressJS, AngularJS ja NodeJS abil) või .NET MVC korstnat (AngularJS, C #, SQL). Mul polnud aimugi, mida valida. Laevalaagris orienteerumisel küsisin ühelt juhendajalt tema nõu ja ta vastas kohe:

.NET, kuna sellel alal on kõige rohkem töökohti. Ja kui olete ühe virna selgeks õppinud, on seda lihtne teine ​​ise hankida. ”

Kuulnud kõiki neid artikleid, mis rääkisid mulle, kuidas MEAN stäkk oli uus, põnev ja alustavate ettevõtete poolt kasutatud, otsustasin ka selle tulusa ja uue virnaga edasi minna. Kuid siin on probleem: lihtsalt see, et midagi on läikiv ja uus, ei tähenda, et see oleks parim valik. Selle raske töö ja aja olulisim osa, mille pühendate kodeerimise õppimisele, on selle töö saamine (kui te ei kavatse kasutada vabakutselist tööd). Niisiis, hüpake arvutisse ja minge tööotsima.

Keele või pinu valimisel kaaluge asukohta

Kui olete töömootori saidil, alustage tööotsinguid keele järgi. Oma instruktorite nõuannete proovile panemiseks läksin samal päeval koju ja otsisin C # ja seejärel .NET. Seejärel otsisin märksõnadega ka MEAN-i virna. Tal oli õigus. Seal oli .NET-i jaoks palju rohkem töökohti, siis minu piirkonnas oli MEAN-i virna jaoks töökohti. See pani mind ka imestama, miks te õpetaksite ka MEELT, kui see pole just nii suur? Uurisin ja märkasin, et MEAN-stäkk on populaarsem Silicon Valleys ja idufirmadega peaaegu igas linnas. Põhjus on see, et erinevalt .NET-st on avatud lähtekoodiga lähtekood, seega on ettevõtte jaoks vähem kulusid, mis on oluline idufirmadele.

Dojo kodeerimine annab kena graafiku tööturust üldiselt, kuid ärge unustage otsida kohalikul tööturul selle graafiku variatsioone.

Nüüd peate arvestama mõne teguriga. Kuhu kandideerite? Kui olete nõus ümber kolima peaaegu kõikjale, saate valida peaaegu ükskõik millise keele või korstna. Teil on rohkem paindlikkust. Kui soovite kitsendada oma tööotsimist oma piirkonnas, tuginege oma otsusele sealsel tööturul.

Võite alati hiljem hargneda

See, et valite nüüd keele või pinu, ei tähenda veel, et olete sellega kogu elu jänni jäänud. Tehnoloogia on alati muutuv ja peate alati oma oskuste kogumit värskendama ning õppima uusi oskusi või keeli.

Nagu ma juba varem mainisin, sattusin .NET MVC korstnasse, sest minu peamine eesmärk oli töökoha leidmine. Nüüd pole ma mitte ainult aidanud veebisaite välja töötada, vaid olen ehitanud ka andmete voogesituse torujuhtmeid veebisaidile 20th Century Fox. Ja nüüd õpin oma uue töökohaga NodeJS, ReactJS ja PHP Laravel meie veebisaidi jaoks ning Swift meie iOS-i mobiilirakenduste jaoks! Teid ei seostata kunagi oma emakeelega seni, kuni soovite midagi uut õppida.

Kokkuvõtteks ...

Lõpuks sõltub teie valitud keel suuresti järgmistest teguritest:

  • Mida sa tahad ehitada? Milliseid keeli peate oma eesmärkide saavutamiseks teadma? Google ja tööjõumootorid leiavad teile vastused.
  • Millised keeled on nõutud? Lisage oma uurimistöösse asukoht, kus soovite töötada / elada. Nõudlus sõltub asukohast. See on oluline ainult siis, kui otsite tööd. Vabakutselisena saate valida ükskõik mida!

Pidage meeles, et see on alles teie esimene samm oma karjääri alustamisel. See, mille te nüüd valite, pole veel lõpp, see on vaid teie jala ukse kaudu saamine. Kui olete ühe keele õppinud, tulevad teised lihtsamad ja töökohad eeldavad, et te õpiksite uusi keeli nüüd ja siis töö jaoks. Teil pole kunagi igav!

Võib-olla soovite vaadata ka Stack Overflow'i 2018. aasta arendajate uuringut, et saada rohkem teavet tehnikavaldkonnas, näiteks arendajate demograafia, elu väljaspool tööd ja tehnilised küsimused. See on peamiselt huvitav uuring valdkonna ja üksikute arendajate kohta ülevaate saamiseks ning trendide nägemiseks.

Õnne ja õnnelikku kodeerimist!

Algselt avaldati saidil techgirlrising.com 15. septembril 2018.