8.11.2016
Kaksi sivustoa, jotka jokaisen ohjelmistokehittäjän tulisi tietää
“You should plan on working 60 hours per week. The first 40 are for your employer. The remaining 20 are for you. During this remaining 20 you should be reading, practicing, learning, and otherwise enhancing your career.”
-Robert C. Martin, The Clean Coder
Uncle Bobin mielestä, jokaisen ohjelmistokehittäjän tulisi omistaa kehittymiselle 20 tuntia viikossa. Määrä ei ole paljon – puolet saa täyteen kuuntelemalla podcastejä sekä lukemalla työmatkat ja lounastauot. Loput 10 tuntia voi käyttää omille projekteille sekä open sourcelle. Näin vuodessa kertyy satoja tunteja uuden oppimista sen päälle, mitä työtehtävissä tulee vastaan.
Uncle Bobilla on hyvä pointti. Ohjelmistoala kehittyy sellaista vauhtia, että vain tulemalla aamuisin töihin pysyy hädin tuskin kärryillä edes siitä osa-alueesta, jota tekee leipätyökseen (esim. frontend-koodaus).
Ammattitaidon kasvattamiseen löytyy lukuisia sivustoja. Verkosta voi parhaimmillaan saada kanditutkinnon sisältöä vastaavan materiaalin. Esimerkiksi RafazZ:in kokoama lista pursuaa yliopistojen ilmaiseksi jakamia kurssimateriaaleja ja luentovideoita.
Jotta sinun ei tarvitse kahlata läpi tutoriaalisivustojen, youtube-soittolistojen tai verkkokurssisivustojen loputonta suota, kerron kaksi omaa suosikkiani, joihin jokaisen ohjelmistokehittäjän kannattaisi tutustua.
Udemy – Käytännönläheisiä minikursseja edullisesti
Udemy on tyypillisesti ensimmäinen avaamani sivusto, kun kohtaan uuden teknologian tai työkalun.
Alkaessani ensimmäistä kertaa tekemään rasitustestausta Apache JMeterillä, katsoin Udemystä kurssin Learn JMeter from Scratch (9,5 h). Kun halusin lähteä configuroimaan Jenkinssiä, kävin ensin katsomassa Jenkins Bootcamp: Fully Automate Builds Through Deployment (2,5 h). Päätyessäni AngularJS –projektiin ensimmäistä kertaa yli vuoden tauon jälkeen, nappasin kertauksena AngularJS JumpStart with Dan Wahlin (10 h).
Udemyn kurssit ovat käytännönläheisiä kokonaisuuksia, joista saa hyvän alkusysäyksen melkein mihin tahansa yleiseen ohjelmistokehyksen tai ohjelmointikielen työkaluun. Seasta löytyy myös pidempiä kursseja kuten Learn to Code by Making Games – The Complete Unity Developer (52 h), mutta syvälliseen perehtymiseen löytyy parempia resursseja.
Udemyn avulla saa helposti käsityksen siitä, miten työkalu toimii ja ennen kaikkea mikä on oikea tapa käyttää sitä. Juuri tämä jälkimmäinen tieto jää yleensä puuttumaan, jos ohjelmistokehystä opiskelee vain tutoriaaleista.
Kurssien listahinnat ovat 50 ja 200 euron väliltä, mutta en muista maksaneeni kurssista täyttä hintaa ikinä. Udemyn kurssit ovat usein -50% tai -75% alennuksessa ja toisinaan kaikki kurssit maksavat ainoastaan 10 euroa. Vilkuilemalla sivustoa usein tai googlettamalla Udemyn alennuskoodeja laadukasta sisältöä saa lähes ilmaiseksi.
Coursera – Laajoja teoriaan pohjautuvia kokonaisuuksia
Coursera on oikea paikka, jos haluat laajentaa osaamistasi uudelle aihe-alueelle. Tässä omia suosikkejani:
Program on a Higher Level: Funktionaalisen ohjelmoinnin kokonaisuus, joka lähtee liikkeelle Scalan alkeista ja jatkaa kohti big dataa ja muita laajempia sovelluksia.
Clouds, Distributed Systems, Networking: Käy läpi pilvipalveluiden ja hajautettujen järjestelmien toimintaa konepellin alla, ja tarjoaa syvällisempää ymmärrystä niin monen Amazonin palvelun kuin vertaisverkkojenkin toiminnasta.
Build Intelligent Applications: Aloittaa näyttämällä miten koneoppimisen kirjastoja käytetään, syventyy sitten näiden hyödyntämiin algoritmeihin ja jatkaa jälleen kiinnostaviin käytännön sovellutuksiin.
Kaikki yllä mainitut ovat vähintään 150 tunnin kokonaisuuksia, mutta niitä voi suorittaa palanen kerrallaan. Sivustolta löytyy myös yksittäisiä kursseja (~30 h), jotka eivät ole osa mitään laajempaa kokonaisuutta. Sivuston todellinen vahvuus on, että panostaessasi 5-8 tuntia viikossa esimerkiksi bioinformatiikkaan, koneälyyn tai Android-kehitykseen voit puoli vuotta myöhemmin sanoa oikeasti ymmärtäväsi aiheesta.
Coursera on Udemysta poiketen ilmainen. Käytännössä kaikkiin Courseran kursseihin pääsee ilmaiseksi, mutta todistuksen saaminen edellyttää osallistumismaksua. Osallistumismaksu on tyypillisesti noin 70 euroa per moduuli. Listaamani esimerkit koostuvat noin kuudesta moduulista.
https://www.coursera.org/browse/computer-science