Ohjelmointikoulu CodeBerryn “Aloittelijan opas” -sarjassa vastaamme kysymyksiiisi siitä, mikä ohjelmointikieli kannattaa valita, kuinka paljon tulet tienaamaan, mitä voit tehdä verkko-ohjelmoijana ja mistä aloittaa.

Haluaisitko oppia koodaamaan verkossa? Tule ja kokeile ensimmäisiä oppituntejamme maksutta Ohjelmointikoulu CodeBerryssä.

Lyhyt johdatus web-ohjelmointiin

Onnittelut ensiaskeleistasi web-ohjelmoijan uralla! Matkasi kohti web developmentin tai näin suomalaisimmin web-ohjelmoinnin, verkkodevauksen, web-devauksen tai vaikkapa web-kehityksen (rakkaalla lapsella on monta nimeä!) mielenkiintoiseen maailmaan on juuri alkamassa ja emme voisi olla innoissamme toivottaessamme sinut tervetulleeksi mukaan! Tämä fiksu päätös opetella web-ohjelmointia tulee parantamaan elämääsi monilla uusilla ja jännittävillä tavoilla.

Web-ohjelmoijan uralla tulet oppimaan taitoja, jotka avaavat sinulle ovia nykyisellä urapolullasi, mutta sen lisäksi ne auttavat sinua saavuttamaan henkilökohtaisia ja taloudellisia tavoitteitasi, joiden luulit aiemmin olevan liian kaukana.

Tavoitellessasi tätä uutta ammattia, tulet kysymään itseltäsi monia kysymyksiä ja etsimään tietoa, joka ohjaa sinut oikealle tielle.

Sen vuoksi olemme luoneet tämän oppaan, joka auttaa sinua löytämään unelma-ammattiasi varten tarvitsemasi tiedot mahdollisimman lyhyessä ajassa.

Ennen kuin päätät lopullisesti omistautua tämän arvokkaan alan opiskelulle, meidän mielestämme sinun tulisi tietää web-kehityksestä niin paljon kuin mahdollista. Sen jälkeen voit kysyä itseltäsi vielä kerran, sopiiko tämä ala todella sinulle.

Tässä CodeBerryn artikkelissa “Aloittelijan opas web-kehitykseen” vastaamme polttavimpiin kysymyksiisi, kuten esimerkiksi mitä ohjelmointikieltä kannattaa opiskella mikäli haaveilet työstä web-ohjelmoinnin parissa, paljonko web developer tienaa ja mitä web-ohjelmoija tekee oikeastaan tienaa, sekä mistä koko verkkodevaamisen opiskelu kannatta aloittaa.

Teemme parhaamme vastataksemme myös muihin mahdollisiin kysymyksiisi.

Tässä artikkelissa tutustumme web-kehityksen perusteisiin ja kurkistamme web-ohjelmoijan työpäivään.

Aloitetaan.

Web-ohjelmoinnin perusteet voi oppia vaikka netissä

 

Mitä on web-ohjelmointi? (Front-end ja Back-end)

Web-kehitys tai web-ohjelmointi (web development) on yleinen termi prosesseille ja taidoille, jotka liittyvät verkkosivujen ja verkkosovellusten (web applications tai web apps) luomiseen.

Esimerkkejä web-sovelluksista ovat muun muassa pelit, viestintäsovellukset, sähköposti ja nettikaupat. Yksinkertaisesti sanottuna mikä tahansa world wide webin maailmassa selainpohjaisesti (tai sen taustalla) toimiva sovellus on web-devaajien luomaa.

Riippuen siitä, onko luomasi sisältö näkyvissä vai näkymättömissä, sinut voidaan luokitella front-end- tai back-end-devaajaksi.

Jos työssäsi tarvitaan sekä front-end- että back-end-kehityksen taitoja, sinua voidaan kutsua full-stack-devaajaksi.

Tarkastellaan näiden kahden tittelin välisiä eroja.

Front-end-devaus

Front-end-kehitykseen kuuluvat kaikki asiat, joita käyttäjä näkee vieraillessaan verkkosivullasi tai web-sovelluksessasi. Tätä puolta kutsutaan yleisesti myös nimellä “client side”, eli “asiakkaan näkemä puoli”.

Front-end-devaaja käyttää web-suunnittelijan valitsemia ja luomia kuvia, tekstiä, animaatioita ja värejä luodakseen verkkosivuston. “Fronttaajat” tai “Frontit” varmistavat, että kaikki sisältö on missä sen kuuluukin olla, ja että back-endistä tulevat tiedot näytetään oikein käyttäjän selaimessa. He varmistavat myös, että kaikki asiakkaan puoleinen logiikka toimii halutusti.

Heidän tärkeimmät työkalunsa ovat HTML (HyperText Markup Language), CSS (Cascading Style Sheets) ja JavaScript. Jokainen näistä kielistä hallitsee yhtä kolmesta tärkeimmästä verkkosivuston palasesta jotka ovat: sisältö, web design ja toiminnallisuus. Myös monia muita kieliä voi hyödyntää, mutta nämä kolme kieltä ovat kolme tärkeintä työkalua, jotka fronttaajan on ehdottomasti tunnettava. Tänä päivänä odotetaan myös, että fronttajat tuntevat muutaman ohjelmistokehyksen (framework), kuten Angular.js, React, Vue.js ja Bootstrap.

Sivustonrakentaja (site builder) on taas front-end-devauksen lähtötason työtehtävä, jossa saadusta designista luodaan todellista sisältöä HTML:n, CSS:n ja JavaScriptin avulla. Sivustonrakentajat eivät koske back-endiin tai palvelinpuolen kieliin, vaan he keskittyvät muuttamaan taiteellisia näkemyksiä koodiksi. Sivustonrakentajana aloittaminen vaatii minimitason koodaustietämystä (verrattuna muihin tehtäviin), joten se tarjoaa hyvän lähtöpisteen web-ohjelmoijan uralle tai jopa junior web developer-työnimikkeestä haikaileville!

Back-end-devaus

Web-kehittäjä saattaa työskennellä myös palvelimien, tietokantojen ja muiden “kulissien takana tapahtuvien” asioiden kanssa. Tätä web-kehityksen osaa kutsutaan back-end-kehitykseksi.

Front-end-devaaja työskentelee näkyvän sisällön kanssa, mutta back-end-devaaja puolestaan hoitaa näkymättömät prosessit, jotka luovat, tallentavat ja siirtävät tietoa palvelimelta selaimeesi. Tätä web-ohjelmoinnin puolta kutsutaan nimellä “server side”, eli “serveripuoli”.

Tulet käyttämään myös joitakin front-end-puolen taitoja, mutta sinun on opeteltava täysin erilaiset työkalut hoitaaksesi “bäkkärin” tehtäviä. Se tarkoittaa, että sinun täytyy myös opetella eri ohjelmointikieliä. Back-endin suosituimpia kieliä ovat muun muassa Java, Ruby, Python ja PHP.

Jos sinulla on kokemusta bäkkärin tehtävistä, voit myös siirtää tietotaitosi muihin IT-alan töihin, joissa vaaditaan tietokantojen ja järjestelmien hallintaa. Vaikka nämä työt eivät välttämättä sisällä ohjelmointia, niihin tarvitaan paljon tietoa palvelinpuolen prosesseista.

Tietokantojen hallinta (database management)

Tietokantojen hallinnoija on henkilö, joka on vastuussa palvelimien hoitamisesta ja niiden oikeasta toiminnasta.

He käyttävät myös merkittävän osan työajastaan datan organisointiin ja järjestelmien päivittämiseen, jotta verkkosivustot toimivat sulavasti.

Tietokantojen hallinnan laatu voi vaikuttaa latausaikoihin, käyttäjäkokemukseen (user experience tai UX) verkkosivullasi ja jopa sivustosi sijoitukseen Googlen hakutuloksissa. Hyvä tietokantojen hallinta voi myös estää sivustoasi kaatumasta tai palauttamasta virheitä käyttäjille. Kaikki nämä asiat ovat äärimmäisen tärkeitä ja ne voivat jopa kaataa verkkosivustoon perustuvan bisneksen.

Tietokantojen hallintaprosessiin kuuluu myös omat ohjelmointikielensä. Kaikkein laajimmalle levinneisiin tietokantojen hallinnan työkaluihin kuuluvat esimerkiksi Oracle, SQL ja Apache.

Järjestelmien ylläpito

Tietokantojen hallinnoijien tavoin järjestelmien ylläpitäjän painopisteisiin kuuluvat ohjelmistojen ja laitteistojen oikea toiminta ja ajan tasalla pitäminen. Järjestelmän ylläpitäjän työ koostuu yleensä järjestelmään liittyvistä asennuksista, päivityksistä ja järjestelmän suorituskyvyn seuraamisesta, yleensä korporaatioiden maailmassa.

Lähes jokainen suuri yritys tarvitsee järjestelmänvalvojia ylläpitämään IT-rakenteiden turvallisuutta ja ratkaisemaan ilmaantuvia ongelmia. Järjestelmänvalvoja hoitaa yritysten sähköposteja, sovelluksia ja sisäisiä viestintäjärjestelmiä. Ilman näitä tärkeitä toimintoja liiketoiminta tulee todennäköisesti kaatumaan nykypäivän markkinoilla.

Järjestelmän ylläpitäjän työ saattaa vaikuttaa tylsältä tai maalliselta, mutta heidän työtehtävänsä ovat äärimmäisen tärkeitä ja voivat vaikuttaa radikaalisti koko IT-järjestelmäsi toimintaan.

Mitä eroa on web-ohjelmoijalla ja web designerilla

Mikä on web-ohjelmoijan (web developer) ja web-suunnittelijan (web designer) ero?

Olet saattanut kuulla termit web-ohjelmoija ja web-suunnittelija samoissa yhteyksissä. Ne eivät kuitenkaan ole sama asia.

Web-ohjelmoija keskittää ponnistelunsa ohjelmointiin ja koodin kanssa toimimiseen, kun taas web-suunnittelija käyttää graafisia työkaluja, kuten esimerkiksi Photoshop, Illustrator, Sketch ja InDesign, luodakseen verkkosivustolle ilmettä ja grafiikkaa.

Web-ohjelmoija ottaa web-suunnittelijan konseptit vastaan ja muuttaa ne koodin avulla toimivaksi verkkosivuksi. Web-suunnittelijaa voisi verrata arkkitehtiin, joka luo rakennuksen pohjapiirustukset ja luonnostelee sitä, miltä rakennus tulee näyttämään. Rakennustyöläisen tavoin web-ohjelmoija ottaa suunnitelmat, ja ryhtyy rakentamaan rakennusta pala palalta.

Vaikka nämä ovat kaksi eri työnkuvaa, niissä voi olla myös päällekkäisyyttä. Jos olet verkkodevaaja, mutta pidät myös graafisista yksityiskohdista, saatat käyttää esimerkiksi Photoshopia luodaksesi kuvia, logoja ja ulkoasuja työstämillesi verkkosivuille.

Millaista web-ohjelmointi on?

Web-ohjelmointi on hauskaa ja palkitsevaa työtä. Se voi tarjota paljon tilaa luovuudelle ja taiteelliselle ilmaisulle.

Kuten mikä tahansa muukin koodarin työ, web-kehittäjän työhön saattaa sisältyä kummallisia aikatauluja ja päivystämistä kellon ympäri, jotta voit korjata bugeja ja ongelmia niiden ilmaantuessa. Monissa web-kehittäjän töissä noudatetaan kuitenkin tavanomaista yhdeksästä viiteen -aikataulua.

Yksi web-ohjelmoinnin eduista on tarjolla olevat etätyömahdollisuudet. Etätöiden ansiosta voit saada vapautta ja joustavuutta, jota et välttämättä löydä muilta aloilta.

Tyypillinen web-devaajan työpäivä koostuu tietokoneen edessä istumisesta (mikä ei välttämättä ole mitenkään yllättävää). Päivän aikana sinulla on todennäköisesti lyhyitä kokouksia kollegoiden ja asiakkaiden kanssa, joissa keskustelette projektien työstämisestä. Sen jälkeen jatkat taas koodausta saamiesi suuntaviivojen mukaan. Kun kohtaat uusia ongelmia ja haasteita, tulet käyttämään runsaasti aikaa etsiessäsi vastauksia koodareille suunnatuilta foorumeilta kuten Stackoverflow.com tai Koodiklinikalta.

Selaimessasi on myös avoinna melkoinen määrä välilehtiä, kun tasapainottelet projektien, viestinnän ja tiedonhaun välillä. Työskennellessäsi tulet käyttämään eniten aikaa kirjoittaessasi koodia tekstieditoriin. Nämä ohjelmat tekevät koodin kirjoittamisesta helpompaa ja tarjoavat monia työkaluja, jotka auttavat sinua pysymään järjestelmällisenä. Koodarit käyttävät myös komentorivejä keskustellakseen suoraan palvelimen tai muiden ohjelmistojen kanssa ja hallitakseen tietokantoja, ohjelmistoversioita ja niin edelleen.

Yksi web-kehityksen parhaista puolista on suora palaute. Verkkoselain renderöi koodin, joten voit nähdä työsi tulokset lähestulkoon millä tahansa laitteella. Pystyt myös testaamaan koodiasi ja korjaamaan ongelmia nopeammin kuin muissa ohjelmointitehtävissä.

Miten oppia web-ohjelmointia?

Syyhyävätkö sormesi päästä aloittamaan web-ohjelmoinnin perusteet nyt heti välittömästi? Mutta et ehkä tiedä mistä web-ohjelmoinnin opiskelu kannattaa aloittaa?

Yksi web-kehityksen opiskelun eduista on se, että kaikki opiskelu voi tapahtua verkossa. Verkkodevaajat käyttävät suurimman osan ajastaan tietokoneiden edessä, joten tutoriaaleja, dokumentaatiota ja kursseja voi löytää kaikkialta netistä.

Jos suosit muodollisempaa koulutusta, saatat haluta tarkistaa paikallisen yliopiston kurssit tai ilmoittautua intensiivikurssille.

Tässä joitakin suomalaisia web-ohjelmoinnin koulutusta tarjoavia kouluja ja opistoja:

Jos opiskelet nopeaan tahtiin, sinun kannattaa harkita koodauskurssia, joka on lyhyt ja tiivis opinto-ohjelma, joka toimii armeijan leirien eli “bootcampien” tavoin. Punnertamisen sijasta tulet kirjoittamaan koodia, kunnes sormesi putoavat.

Seuraavat kurssintarjoajat järjestävät web-ohjelmoinnin intensiivikursseja suomeksi:

Artikkelistamme “Miten oppia koodaamaan?” voit tutustua parhaisiin tapoihin oppia ohjelmoinnin perusteet ja kuinka harjoitella niitä.

Kuinka kauan web-ohjelmoinnin oppimisessa kestää?

Web-kehitys vaatii aikaa ja harjoitusta minkä tahansa muun taidon tavoin.

Jos haluat oppia soittamaan kitaraa tai pianoa, sinun täytyy varata tietty määrä tunteja viikosta harjoittelulle ja todella investoida aikaa taitojesi kehittämiseen.

Samaan tapaan web-ohjelmoinnin oppimiseen tarvittava aika on parasta mitata tunneissa. Web-kehityksen opetteluun kuluvaa kokonaisaikaa määrittelee sille uhraamiesi tuntien määrä viikossa.

Sanotaan, että front-end-devaajan perustaitojen oppimiseen uppoaa noin 200 tuntia. Jos käytät opintoihisi tunnin päivässä, jolloin opit web-ohjelmoinnin perusteet 200:ssa päivässä. Toisaalta, jos uhraat opinnoillesi viisi tuntia päivässä, voit oppia taidot 40 päivän aikana! Kaikki riippuu opiskelutahdistasi.

Aivomme ovat myös rajoittava tekijä, eikä kukaan voi opiskella 24 tuntia päivässä. Useimmille opiskelijoille suositeltava yläraja on 6-8 tuntia päivässä, mutta tämä on yksilöllistä.

Todellisen tavoitteesi tulisi olla laadukas opiskeluaika ja asioiden sisäistäminen. Jos opiskelet web-ohjelmointia 12 tuntia päivässä ja sinusta tuntuu, ettet muista mitään seuraavana päivänä, sinun kannattaa todennäköisesti vähentää päivittäisen opiskelun määrää.

Jos jonkin asian oppimiseen kuluu tietty määrä tunteja, meidän pitäisi varmaankin muotoilla kysymys paremmin: “Kuinka kauan koulutuksessasi kestää?”.

Se riippuu valitsemastasi tiestä!

Perinteisellä reitillä tietotekniikan yliopistotutkinnossa kestää vähintään neljä vuotta. Tulet kuitenkin käyttämään vapaa-aikaasi myös valmistumisen jälkeen ohjelmointikielien opiskeluun ja työharjoitteluihin, jotta saat hankittua työelämässä tarvitsemasi taidot. Tietotekniikan opiskeluohjelmissa opetetaan myös siihen liittyviä aiheita, kuten matematiikkaa, elektroniikkaa, telekommunikaatiota ja niin edelleen.

Hyvät uutiset ovat, että useimmat web-ohjelmoijan työtehtävät eivät vaadi tietotekniikan korkeakoulututkintoa. Toisin sanoen on järkevämpää investoida aikaa ja rahaa suoraan koodauksen opettelemiseen.

Tämä antaa sinulle kaksi seuraavaa vaihtoehtoa: koodauskurssit ja verkkokurssit.

Koodauskurssi on tiivistetty ohjelma, joka yleensä kestää muutamasta päivästä kuukauteen tai yhden lukukauden. Web-koodauskursseja suomeksi Suomessa tarjoavat useimmiten erilaiset yksityiset kouluttajat. Aivan kuten yliopistokursseilla, sinun täytyy asua lähellä kurssin toteutuspaikkaa osallistuaksesi sille.

Verkkokurssit yhdistävät joustavuuden ja intensiivikurssien tiiviyden, jolloin voit opiskella web-ohjelmointia omaan tahtiisi mistä tahansa maailman kolkasta.

Uskomattoman käytännöllisyyden lisäksi monet verkkokurssit tarjoavat sinulle korkealaatuisen koulutuksen, mutta säästät paljon aikaa ja rahaa, sillä sinun ei tarvitse matkustaa kotisi ja kurssin toteutuspaikan välillä.

Verkkokurssit taas eivät vaadi matkustamista ja kalliiden oppimateriaalien ostamista. Ne vaativat vain tietokoneen ja stabiilin internet-yhteyden!

Web-ohjelmoijana riittää töitä niin isoissa firmoissa kuin freelancerinakin

Onko web-kehitys minua varten?

Jos luit aiemmat artikkelimme ohjelmoinnista, tunnet jo web-kehittäjän tarvitsemat ominaisuudet.

Näihin ominaisuuksiin kuuluvat: silmää yksityiskohdille, ongelmanratkaisutaidot, kärsivällisyys, hyvä englannin kielen osaaminen, halu oppia ja rakkaus teknologiaan.

Jos sinulle on hankalaa istua tunteja aloillasi, sinulla on keskittymisvaikeuksia tai et pidä tietokoneista, kannattaa harkita tämän alan valintaa uudelleen.

Kirjoittamisvaikeudet ja hidas kirjoitusnopeus saattavat myös estää sinua nauttimasta koodauksesta ja saamasta tehtäviäsi ajoissa valmiiksi.

Jos kuitenkin täytät kaikki yllä mainitut vaatimukset ja tunnet intohimoa alaa kohtaan, sinulla on mitä web-kehittäjän uralla tarvitaan!

Seuraava askeleesi on päättää, mitkä ohjelmointikielet sopivat sinulle ja mistä aloittaa. Suosittelemme tähän avuksi artikkeliamme “Parhaimmat ohjelmointikielet ja mikä niistä kannattaa valita”.

Nähdään seuraavassa artikkelissamme, “Aloittelijan opas Java-ohjelmointiin”.

 

Ohjelmointikoulu CodeBerryn “Aloittelijan opas” -sarjassa vastaamme kysymyksiiisi siitä, mikä ohjelmointikieli kannattaa valita, kuinka paljon tulet tienaamaan, mitä voit tehdä verkko-ohjelmoijana ja mistä aloittaa.

Haluaisitko oppia koodaamaan verkossa? Tule ja kokeile ensimmäisiä oppituntejamme maksutta Ohjelmointikoulu CodeBerryssä.