Najdi forum

Naslovnica Forum Starševski čvek Učenje programiranja

Učenje programiranja

Se vam zdijo vredni tečaji programiranja svojega denarja (npr. https://www.smartninja.si), ki stanejo tam nekaj 100 e, od 200-500e. Ali se je boljše učiti kar sam iz neta, meni se zdi, da ja, samo me zanimajo še kakšna mnenja..

Na kakšnem nivoju?

Za začetnike imajo na FRI vsako leto poletne šole. Malega sem poslal pred leti in pravi, da je blo fajn in se je nekaj navadil.

Jaz sprašujem zase, sem končala s faxom naravoslovne smeri in stara 25, verjetno so poletni tečaji bolj za dijake, se nisem zanimala.. Na tisti spletni strani so bolj začetni tečaji html, css, python..še nekaj drugih programov..

nova
Uredništvo priporoča

Odvisno kaj bi rada programirala in kakšen je trenutni tvoj nivo. Jaz sem bolj pristaš projektnega učenja. Torej zadaš si nek projekt in potem to narediš. Na primer: napišeš program ki ti časovno obiskuje določene spletne strani in ti javi če se je določena vsebina spremenila. Ko to narediš je nadgradnja, da ti pošlje informacijo o spremembi na mail in Telegram.

Odvisno kaj bi rada programirala in kakšen je trenutni tvoj nivo. Jaz sem bolj pristaš projektnega učenja. Torej zadaš si nek projekt in potem to narediš. Na primer: napišeš program ki ti časovno obiskuje določene spletne strani in ti javi če se je določena vsebina spremenila. Ko to narediš je nadgradnja, da ti pošlje informacijo o spremembi na mail in Telegram.
[/quote]

To je vse res, ampak, ce se moras uciti zaradi sluzbe je tak nacin prepocasen oz. je vprasanje koliko casa ti bodo dali za te stose…

Potem pa se vpiši na FRI za par predmetov, ki te zanimajo.

Učenje programiranja lahko razdelimo na tri entitete:

– učenje sintakse in semantike programskega jezika
– učenje značilnosti in omejitev okolja, za katero želimo programirati
– učenje procesnih značilnosti procesa, ki ga s programiranjem želimo avtomatizirati

Prvo fazo se nauči na tečajih oz. pri takšnem ali drugačnem pouku. Za drugo je treba kombinirati prakso, vaje in takšno ali drugačno mentorstvo. Tretja pa se v poklicu pogosto strne v izraz relevantne izkušnje (in je tisto, kar v najznatnejši meri vpliva na plačo).

________________________________________________________________________________________________________ » Respect My Existence or Expect My Resistance! «

Kot nekdo, ki velja na trgu za MS SQL eksperta s solidnim poznavanjem Oracle-a, bi si drznil trditi, da v 6-ih srečanjih po uro in pol (2 šolski uri) in obljubljenimi načrti 10-ih različnih baz… bo treba krepko pljuniti v roke, da bo kak učinek.

Zakaj tako mislim? Pa poglejmo, kaj so nekako osnovne zahteve, če se nekdo želi poklicno ukvarjati z razvojem baz podatkov:

– kreiranje baz, tabel in shem (imenskih prostorov)
– poznavanje podatkovnih tipov in kateri je najbolj primeren za neko vrsto podatka
– pisanje poizvedb in ustvarjanje pregledov
– poznavanje ukazov za konvertiranje podatkov (iz enega tipa v drugega, kakor tudi delo nad nizi, datumi, ipd.)
– poznavanje ukazov za agregiranje in analizo (transponiranje vrstic v stolpce in stolpcev v vrstice)
– razumevanje, kako delujejo notranje in zunanje povezovanje tabel in kako postavitev indeksov in ključev vpliva na združevanje in upoštevanje postavljenih pogojev
– poznavanje jezika za definiranje podatkov (DDL; DROP, TRUNCATE, itd.) kakor tudi za manipuliranje podatkov (DELETE, UPDATE, INSERT, CASE, CAST, CONVERT, DATEPART, DATEDIFF, itd – našteti spadajo v T-SQL narečje, potrebno je poznati še vsaj njihove ekvivalente za MySQL in Oracle).
– razumevanje koncepta dinamičnih in začasnih tabel, vplivov le teh na morebitne postopke replikacije, itd..
– znati uporabljati t.i. dinamični SQL, ter poznati zakonitosti pošiljanja spremenljivk vanj in pridobivanju rezultatov iz takšnega pristopa
– ustvarjanje dinamičnih pregledov in poznavanje razlik med t.i. inline in proceduralnim pristopom k pisanju funkcionalnosti
– pisanje procedur
– pisanje funkcij (tako skalarnih, kakor tabelaričnih)
– pisanje sporožilcev in razumevanje koncepta, kako ti delujejo (BEFORE/AFTER, INSERT/UPDATE/DELETE, itd.)
– razumevanje normalizacije in po potrebi denormalizacije (ter posledično zagotavljanja referenčne integritete)
– povezovanje na zunanje vire podatkov, uporabe JSON in XML (WSDL) virov podatkov
– razumevanje profiliranja načrtov izvedbe poizvedbe in prilagajanje, glede na specifike strukture podatkov
– poznavanje poteka uvoza in izvoza podatkov iz “standardnih zunanjih virov” (CSV, XLS, XLSX, DBF, ipd.).
– poznavanje orodij za povezovanje na bazo podatkov (ADO, ADO.NET, SQL Native Client, Oracle Client,…) ter principov, kako to povezavo uporabiti v posameznem orodju (Excel, Access, Visual Studio, itd.)
– prenašanje, izmenjava in replikacija podatkov iz ene baze v drugo (tako znotraj sistema, kakor za potrebe avtomatizacije izmenjave podatkov v oskrbovalni verigi v realnem času)

Zgoraj nekako je nekako osnova, da se morete napotiti na trg dela in iskati službo na področja razvoja baz podatkov. Koliko od tega ste se v stanju naučiti v 9 (12 šolskih) urah inštrukcij, naj oceni vsak sam zase.

________________________________________________________________________________________________________ » Respect My Existence or Expect My Resistance! «

Izogni se programiranju. Zelo stresno in mukotrpno delo. Dokler delaš še zase takrat ko ti paše, kar ti paše, je ok… ko si enkrat pri delodajalci, ki ti dirigira kako in kaj (po večini so itak družboslovci, ki nimajo pojma) se pa v večini začne nočna mora. Ogromno folka ima po parih letih poln k.urac kucanja kode in se poda v druge vode. Ni vredno ne živcev, ne časa in ne ZDRAVJA (sedenje, težave z očmi…)… življenje je preveč minljivo, da bi ga zapravljal 24h/dan za kucanje kode in izobraževanja za ne prav dobro plačilo.

Pa še tole. Če nimaš ustrezne izobrazbe (dipl.inž.), pa sploh pozabi, da bo imela kakršne koli možnosti za dobro zaposlitev. Za večino večjih firm je to predpogoj. Ne poslušaj tisti, ki pravijo, da je vseeno, ker ni. Poglej zaposlitvene oglase. Diplome ne zahtevajo le majhne firme z družboslovnim vodstvom za katere se potem na koncu izkaže, da so sami psihiči in jasno, noben z diplomo noče zanje delati. Verjetmi da si tudi ti ne želiš, a ti žal druga ne bo preostalo… jasno, enkrat ko boš imela že leta izkušenj, ker prej te tudi ti ne bodo povohali.

Pozabi na programiranje, ni vredno…

V bistvu je delo programerja na nek način podobno delu tolmača, le da programer to počne na relaciji človek – stroj in dobrega programerja od slabega loči ravno sposobnost vživljanja v drugega (naročnika).

Bolj kot sama tehnična znanja, ki se jih da priučiti v tisoč ali dveh tisočih ur je za kariero programerjo pomembno ravno vzporedno poznavanje problematike področja, ki ga želi avtomatizirati.

Če povzamem: ko mi nekdo reče, da je Java, PHP, C#, VB, itd. programer, vem, da gre za sorazmerno neizkušenega kandidata. Ko mi nekdo reče, da je “full stack developer”, ga vprašam: “Kateri stack?”. Če zna slučajno zna odgovoriti, se pogovoriva še o posamezni ravni in vsako posebej poskusiva ovrednotiti, a ponavadi tako daleč ne pride. Izkušenega programerja prepoznamo po tem, da predstavi področja, za katera je programiral in izhaja iz ciljev (sprememb), ki se jih je zasledovalo. Pozna nekaj orodij, ki se jih da skombinirati v “tool for a job stack” in ima za seboj tam od deset tisoč projektnih ur dalje.

Česar mnogi ne razumejo je namreč ravno to, da obstaja ogromen razkorak med znanjem programiranja na amaterski in profesionalni ravni. Tu rad poudarim, da nekih dva mio Slovencev zna slovensko, a le peščica izmed njih je v tem jeziku napisati pesem, zgodbo,… poučevati Slovenščino v šoli ali na kakem tečaju… skratka ima raven znanja, ki mu omogoča profesialno raven udejstvovanja.

Morda še po šolsko: razkorak med nezadostnim in zadostnim (amaterskim in profesionalnim) znanjem je mnogo večji, kot med slednjim in odličnim (ekspertnim).

________________________________________________________________________________________________________ » Respect My Existence or Expect My Resistance! «

To je vse res, ampak, ce se moras uciti zaradi sluzbe je tak nacin prepocasen oz. je vprasanje koliko casa ti bodo dali za te stose…
[/quote]
Priporočljivo je da v službi nisi 100{04cafd300e351bb1d9a83f892db1e3554c9d84ea116c03e72cda9c700c854465} zaposlen ampak le nekje 80{04cafd300e351bb1d9a83f892db1e3554c9d84ea116c03e72cda9c700c854465}, preostalih 20{04cafd300e351bb1d9a83f892db1e3554c9d84ea116c03e72cda9c700c854465} pa uporabiš za dodatno izobraževanje. Ker če nimaš nič lufta ne moreš po znanju napredovat ker si ne upaš tvegat.

Odvisno, jaz recimo delam samo select poizvedbe.

Odvisno, jaz recimo delam samo select poizvedbe.
[/quote]

Povsem mozno. Potemtakem si uporabnik (odjemalec) in se ne ukvarjaš s programiranjem baz podatkov. Verjetno pripravljaš takšna ali drugačna poročila.

________________________________________________________________________________________________________ » Respect My Existence or Expect My Resistance! «

Odvisno, jaz recimo delam samo select poizvedbe.
[/quote]

Kaj pa to delaš, če ni skrivnost? 🙂

V bistvu je delo programerja na nek način podobno delu tolmača, le da programer to počne na relaciji človek – stroj in dobrega programerja od slabega loči ravno sposobnost vživljanja v drugega (naročnika).

Bolj kot sama tehnična znanja, ki se jih da priučiti v tisoč ali dveh tisočih ur je za kariero programerjo pomembno ravno vzporedno poznavanje problematike področja, ki ga želi avtomatizirati.

Če povzamem: ko mi nekdo reče, da je Java, PHP, C#, VB, itd. programer, vem, da gre za sorazmerno neizkušenega kandidata. Ko mi nekdo reče, da je “full stack developer”, ga vprašam: “Kateri stack?”. Če zna slučajno zna odgovoriti, se pogovoriva še o posamezni ravni in vsako posebej poskusiva ovrednotiti, a ponavadi tako daleč ne pride. Izkušenega programerja prepoznamo po tem, da predstavi področja, za katera je programiral in izhaja iz ciljev (sprememb), ki se jih je zasledovalo. Pozna nekaj orodij, ki se jih da skombinirati v “tool for a job stack” in ima za seboj tam od deset tisoč projektnih ur dalje.

Česar mnogi ne razumejo je namreč ravno to, da obstaja ogromen razkorak med znanjem programiranja na amaterski in profesionalni ravni. Tu rad poudarim, da nekih dva mio Slovencev zna slovensko, a le peščica izmed njih je v tem jeziku napisati pesem, zgodbo,… poučevati Slovenščino v šoli ali na kakem tečaju… skratka ima raven znanja, ki mu omogoča profesialno raven udejstvovanja.

Morda še po šolsko: razkorak med nezadostnim in zadostnim (amaterskim in profesionalnim) znanjem je mnogo večji, kot med slednjim in odličnim (ekspertnim).
[/quote]

Sej se strinjam z vsem napisanim….
Ampak spet ni nujno , da je dober in izkušen programer šele z več kot 10.000 urami….

Velikokrat, poleg tega, da imaš osvojeno zannje programiranja, moraš, kot si že sam povedal, poznati želje naročnika, ki jih lahko sam še nagradiš, seveda je pomebne najbolj osnovni pogoj, da v podrobnosti spoznaš proces, ki ga želiš avtomatizirati.

Najbolj cenjeni in uspešni so programerji, ki so strokovnjaki na obeh področjih.

Ne splača se ti, veliko podjetij zadnje čase tudi outsourca iz Indije in podobno.
Samo delo pa ima več slabosti kot prednosti, je zahtevno, plačilo pa ni ravno dobro, če nisi res expert.

Sej se strinjam z vsem napisanim….
Ampak spet ni nujno , da je dober in izkušen programer šele z več kot 10.000 urami….

Velikokrat, poleg tega, da imaš osvojeno zannje programiranja, moraš, kot si že sam povedal, poznati želje naročnika, ki jih lahko sam še nagradiš, seveda je pomebne najbolj osnovni pogoj, da v podrobnosti spoznaš proces, ki ga želiš avtomatizirati.

Najbolj cenjeni in uspešni so programerji, ki so strokovnjaki na obeh področjih.
[/quote]

Imaš povsem prav, nerodno sem zapisal. Dober programer je lahko že nekdo, ki ima za seboj tisoč ali dva tisoč ur (leto ali dve vaje) za seboj. Pri nas se uporablja neposrečen izraz “razvojni inženir” kot prevod angleškega “developer”-ja (nem. “Entwickler”-ja), medtem ko je med programerjem in razvojnikom ločnica že nekaj bolj jasna. S kilometrino deset tisoč ur in več sem bolj ciljal na razvojnike.

In kot pravi kolega v zadnjem postu: programerje se res precej outsourcea iz vzhodnih držav, medtem ko so (bolj ali manj “domači” – torej kulturno bližnji) razvojniki precej iskana roba.

________________________________________________________________________________________________________ » Respect My Existence or Expect My Resistance! «

Točni tko, sploh družboslovni šefi so tole pogruntal, skoraj 90{04cafd300e351bb1d9a83f892db1e3554c9d84ea116c03e72cda9c700c854465} outsource-ajo. Dobijo itak skrpucala ampak stranki je važn, da lepo zgleda in da pač funkcionalno deluje. Šefoti so pa tut srečni, ker potem ta skrpucala prodajajo po 10x nabavni vrednosti. O kakšni optimizaciji kode, hitrosti, nadgradljivosti se jim pač ne sanja in jih boli ku.rac. Ne splača se ti postat programer. Raje se usmeri v prodajo/marketing.

Aja, da ne pozabim, za varnost jih tudi boli ku.rac … videno ze neštetokrat.

Točni tko, sploh družboslovni šefi so tole pogruntal, skoraj 90{04cafd300e351bb1d9a83f892db1e3554c9d84ea116c03e72cda9c700c854465} outsource-ajo. Dobijo itak skrpucala ampak stranki je važn, da lepo zgleda in da pač funkcionalno deluje. Šefoti so pa tut srečni, ker potem ta skrpucala prodajajo po 10x nabavni vrednosti. O kakšni optimizaciji kode, hitrosti, nadgradljivosti se jim pač ne sanja in jih boli ku.rac. Ne splača se ti postat programer. Raje se usmeri v prodajo/marketing.
[/quote]

Tako kot sta zgornja dva povedala, programiranje je postalo eno navadno sranje. Za stranke, ki nimajo pojma itak dobiš od Indijcev custom program za 300€, prodaš jim ga pa za 3000€ recimo. Da ne omenjam spletnih strani, vsak ki ima par ur časa se lahko nauči delat spletne strani (ki so sicer slabe), vendar nekemu mizarstvu recimo je pomembno samo to, da plačajo za spletno namesto 900€ recimo 300€.

Jebiga danes je pomemben denar in ne toliko kvaliteta.

Če si dipl.inž. imaš vsaj možnost dobiti zaposlitev v kakšni večji firmi, ki praviloma še ne outsourceajo tako veliko, če si samouk tipa “smartninja”, pa si ga milo rečeno po vsej verjetnosti pošteno najebal. Ko pogledas pod črto, se ti na koncu bolj splača delati v proizvodnji… imaš manj dela, ni tako psihično utrujajoče, pa še od lajfa maš neki… oddelas tistih 8h in pozabiš… kot programer se boš moral pa non stop učiti nove stvari in to po cele dneve… res “super” lajf…

Zmetat par 100€ v tečaje smartninja tako ni le neumno ampak povsem deb.ilno. če bi že rada kucala kodo, pejt raj na udemy… tam lahk najdeš tečaje na veliko višjem nivoju, bol obsežne za 10€ po tečaju (ko je akcija). Pa nekateri tečaji so res zelooo obširni in detajlni in to za 10€… ma kakšna smartninja neki… ne bodi trapasta.

Sam stran od programiranja… daleč stran… ni vredno…

Zanimivo je, da se je nekomu programiranje tako zelo zamerilo, da je nastepal ze kakih ducat postov “proti”. Stanje na trgu sploh ni tako grozno, kot se tu poskusa predstaviti – v bistvu je obratno: povprasevanje presega ponudbo in tudi tisti z nekaj manj izkusnjami lahko dobijo svojo priloznost. Le pogumno in z veliko mero vztrajnosti (ki je v tem poklicu predpogoj). Ni tako grozno. Ce je meni uspelo zasluziti vsakdanji kruhek ostati v “fohu” ze od leta 1988, potem le ni vse tako crno.

________________________________________________________________________________________________________ » Respect My Existence or Expect My Resistance! «

New Report

Close