Programerski vodič Slovenija 🇸🇮
Vključuje osnovne stvari, ki pridejo prav na samem začetku kariere vsakega programerja 👨💻 oziroma programerke 👩💻.
Read this in other languages: English 🇬🇧
Uvod
Če bi lahko šli skozi čas nazaj, kakšen nasvet bi dali svojemu junior self developerju?
Vprašanje za mid/senior developerje - Jana Bergant
Kazalo
Skupine 👋
Seznam skupin kjer teče komunikacija/novice/reševanje težav/zanimive informacije med programerji.
Najbolj razširjena je prav zagotovo Facebook skupina Slovenski developerji.
Seznam skupin
- Slovenski developerji
- Službe za developerje
- Slovenski junior developerji
- WordPress Slovenija
- Programerji
- Spletni programerji
Slack
Forumi
Meetupi 👨🏫 👨🎓 🍻
Največ dogodkov oziroma meetupov se lahko zasledi na spletni strani meetup.com. Na omenjeni spletni strani so ustvarjene skupine, ki združujejo meetupe glede na tematiko.
Najlažje spremljanje teh dogodkov/meetupov je s prijavo v Meetup in pridružitvijo v skupine, glede na lastne interese.
Na teh dogodkih se ponavadi odvijajo razne predstavitve/talki, po katerih sledi druženje med obiskovalci.
Seznam meetupov
Seznam razvrščen po številu članov posamezne skupine (vidno na desni strani - DISCLAIMER: zna biti outdated podatek).
Splošni meetupi
- Čez glavo v #vblatu | 2315
- ProductTank Slovenia | 516
- Digital Freelancers | 259
- GDG Ljubljana | 202
Specifični tehnični meetupi
- JavaScript Ljubljana | 1151
- Ljubljana Python User Group | 1070
- Data Science Slovenia | 839
- PHP Developers Slovenia | 736
- Deep Learning Ljubljana | 708
- Big Data Developers in Slovenia | 705
- D-Talk | 695
- WordPress Ljubljana | 677
- Android Meetup Slovenija | 643
- DevOps Slovenia | 551
- UX SLOVENIA | 507
- Ljubljana QA Meetup | 486
- PyData Ljubljana Meetup | 397
- OpenBlend - Slovenian Java User Group | 395
- SloGameDev Meetup | 395
- Scrum Slovenia Meetup | 373
- Blockchain Developers Meetup | 366
- Vue.js Slovenia | 363
- CocoaHeads Slovenija | 305
- Angular Slovenia | 299
- Slovenia Ruby User Group | 268
- SecTalks Ljubljana | 252
- MakeIT Meetup | 228
- Ljubljana Lambdas | 216
- 1337 Tech Ljubljana | 210
- Ljubljana Hardware Meetup | 199
- Backend developers of Ljubljana | 179
- 3fs Open House Events | 168
- GeoDev Slovenia | 154
Meetupi Maribor
Podcasti 🎙 🎧
Podcasti so intervjuji/pogovori v audio obliki.
Večinoma se jih posluša med hojo, tekom, v avtu,... skratka povsod kjer te ne moti pri opravljanju ostalih opravil.
Slovenski podcasti
- Zakulisje - Alen Faljić
- Parallel Passion - Miha Rekar
- Do mikrofona v #vblatu - Andraž Tori
- Inside Remote - Andrej Fodor
- Tandem - Romina Kavčič
- Odbita do bita - Maruša Kerec, Anže Tomić
Tuji podcasti
- Soft Skills Engineering
- Software Engineering Daily
- Indie Hackers
- Base.cs Podcast
- CodeNewbie Podcast
- Learn to Code With Me
- devMode.fm
- Syntax
- Laravel News Podcast
- Behind The Tech
- Rework
- Laracasts Snippet
- devpath.fm
- The Changelog
- Dads in Dev
- Full Stack Radio
- North Meets South
- Views on Vue
- React Round Up
- React Native Radio
- My JavaScript Story
- My Angular Story
- My Ruby Story
- Dev Ed Podcast
- Adventures in Angular
- Adventures in .NET
- Adventures in Blockchain
- Adventures in DevOps
- Ruby Rogues
- JavaScript Jabber
- The Freelancers Show
- The Freelancers Show
- Build Your Sass
- The Art of Product
- Reboot
- Build Phase
- Tentative
- The Bike Shed
- Giant Robots Smashing Into Other Giant Robots
Novice 🗞 📢
Vsak developer/programer mora biti na tekočem z najnovejšimi tehnologijami. Nekaj najnovejših novic/težav/rešitev so na dnevnem nivoju obljavljene na naslednjih straneh.
Strani za spremljanje novic
- SloTech
- HackerNews
- Reddit r/programming
- Twitter - sledenje tehničnim ljudem
- Medium članki
- Reddit razlicni programerski subredditi
- InfoQ
- The Register
Službe 👨💻 👩💻 💸
V svetu programiranja je vse od dot-com booma dalje potreba po programerskem delovnem kadru še kar ZELO velika.
Zaradi tako velike zaposljivosti se programerji lahko kar konkretno zmišljujemo glede delovnega okolja, programerskih izzivov in seveda, plačilne lestvice.
Ponudbe za delo se najdejo na večih spletnih straneh, nekaj izmed teh je naštetih na spodnjih seznamih.
Plače
Za dobro plačo se je pa ponavadi potrebno pogajati in zagovarjati svoje tehnične sposobnosti. Za pomoč pri pogajanju služi ta članek.
Anketa o plačah
Ankete o plačah narejene na Facebook strani Slovenski developerji (~5000 developerjev).
Strani za informacijo o plačah
Kar lahko sami kot programerji naredimo za prepoznavnost in splošen kontakt, je izdelava LinkedIn profila (primer profila). Več o LinkedInu se lahko prebere na Wikipediji.
Na kratko; LinkedIn je poslovno socialno omrežje za povezovanje s kontakti predvsem s poslovnega vidika. Veliko služb je objavljenih na tej strani, velikokrat pa te tako imenovani rekruterji direktno obvestijo o odprtih pozicijah pri nekem podjetju, glede na tvoje tehnične sposobnosti in osebne preference.
Slovenske objave za delo 🇸🇮
- Slovenski developerji
- Službe za developerje
- Slack: Slovenian Tech Community; channel #jobs
- Zaposlitve SloTech
- MojeDelo - programiranje
- PovioLabs - možnost projektnega dela (freelancing) ali redna zaposlitev
- TopŠiht
- StartupJob + TedenskiNovičnik - Nataša Pirnat
Tuje objave za delo 🌎
Možnosti dela za neko podjetje za polni delovni čas so lahko on-site in remote.
On-site pomeni, da za delodajalca delaš v njihovih pisarnah oziroma si fizično prisoten.
Remote pomeni, da delaš za delodajalca od doma oziroma co-working pisarne (torej nerabiš biti fizično prisoten pri njih). Remote Work Literature
Lahko pa namesto polnega delovnega časa delaš stvari projektno, čemur se reče freelancing, ker ponavadi pomeni delo preko s.p. pogodbe.
Co-working pisarne v Sloveniji
- Awesome workplaces in Slovenia - Oto Brglez
- Pozna kdo kak open office v Ljubljani? - Rok Samsa
Remote dela
- Freelancer - freelancing
- UpWork - freelancing
- RemoteOK
- WeWorkRemotely
- Nomadlist
- CW Jobs
- Zbirka remote služb - Remotive.io
- Zbirka freelance platform in podjetij, ki omogocajo remote delo
On-site dela
- HackerNews jobs - SilliconValley startupi
- StackOverflow jobs
- AngelList - startupi
- Indeed
- HackerNews - Who is hiring? - October 2019
Pogovori v skupini Slovenski Developerji na to temo
- Iskanje Remote Dela - Andreas Komočar beri komentar Roka Carla (tisti, ki ima najvec lajkov 😉 )
- Iskanje Remote Dela - Aljaz Nekaj
- Primerjava San Francisco <-> Evropa, Part2 - Swizec Teller
- Remote delo s pravnega vidika v Sloveniji - Robert Koritnik
- Debata o plačah in junior/senior delovnih mestih - Miha Medven
- Delo v tujini - EU - Žan Marolt
- Študentsko delo - ja/ne? - Goran Blažič
- Freelance četrtek - Urne postavke - Miha Medven
- Rang plač - se da priti v zgornjo mejo? - Klemen Klemen
- 4 years in San Francisco - lessons learned - Swizec Teller
- Getting the most of your country - salary-wise - Swizec Teller
- How I sidehustled and why it almost killed my business - Swizec Teller
- What I learned while 6x-ing my income in the last 4 years - Swizec Teller
- Kot SENIOR developer - 3+ let izkušenj - Žiga Hajduković
Izobrazba 🏛 📚 📈
Fakultete
- Fakulteta za računalništvo in informatiko - Ljubljana
- Fakulteta za elektrotehniko, računalništvo in informatiko - Maribor
- Fakulteta za organizacijske vede (organizacijska informatika) - Kranj
- Fakulteta za informacijske študije - Novo Mesto
- Almamater (Spletne in informacijske tehnologije) - Ljubljana, Maribor, online
- Doba (Informatika) - Maribor
- UP Famnit - Koper
Osnovni koncepti
-
Tipi programiranja
-
Operacijski sistemi
-
Programski jeziki
-
Testiranje
-
Avtomatizacija build procesa
-
Orodja za sporazumevanje
-
Orodja za planiranje
-
Razvojne metodologije
-
Freelance, Remote (SharedSpace), Fulltime (OpenOffice), consultant
-
Junior, Mid, Senior developerji, "10x developerji"
Članki
Zbirke literature 📖
Tečaji programiranja
On-site
- SmartNinja, šola programiranja - Ljubljana & Maribor
Online
- Udacity
- Coursera
- Udemy
- CodeAcademy
- KhanAcademy
- TailwindCSS
- Laracasts - Laravel from Scratch
- Laracasts - Learn Vue: Step by Step
- Freecodecamp
Bonus
- Freelance četrtek - Miha Medven
- Brezplačni PHP tečaj - Anže Šuštar, Marko Štamcar
Poletne šole
- Poletna šola FRI - Ljubljana
- Infinum Academy - Ljubljana
- Outfit7 talent camp - Ljubljana
- Google Summer Of Code
Hackathoni
Hackathon je tekmovanje kjer posamezne ekipe (ponavadi 2-5 članov) s svojim tehničnim znanjem tekmujejo med seboj z realiziranimi idejami/rešitvami v roku 24 ur (lahko gre tudi za dvodnevni dogodek).
V Sloveniji je potekalo že nekaj hackathonov (Turistični hackathon, HackTravel, FinTech Hackathon in drugi), letno pa se ponavlja predvsem DragonHack.
- DragonHack - FRI, Ljubljana
- MajorLeagueHacking - Europe Hackathon events (2019, 2020)
Knjige 📚
- The Pragmatic Programmer (20th anniversary) - Andy Hunt, Dave Thomas
- New Programmer's Survival Manual - Joshua D. Carter
- The Clean Code - Robert C. Martin
- The Clean Coder - Robert C. Martin
- Design Patterns - Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
- Introduction to Algorithms - Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein
Pogovori v skupini Slovenski Developerji na to temo
- Pomembnost izobrazbe - Elisey Ozerov
- Se splača it na faks? - komentar Žaka Ternika
- Iščeš/ponujaš mentoriranje programiranja - Miha Medven
- Splošne knjige o programiranju - komentar Roka Zabukovca
- Začetek programerske kariere laika - Aleš Koncilja
- Pridobivanje certifikatov - koristno? - Ozren Blanuša
- Dejansko kdo uporablja rocket-science enačbe s faksa? - Grega Raško
- Mistični Full Stack developerji - Tomaž Štih
- Frontent vs backend - Klemen Klemen
- Online courses vs college in Software Engineering - HackerNews
Iskanje rešitev 🔎 💡
Med programiranjem velikokrat naletimo na oviro, kjer se nam zdi, da ni rešitve. Za pomoč iz tovrstnih zagat so bile narejene strani za iskanje tako tehničnih kot tudi konceptualnih rešitev.
Po vsej verjetnosti je na težavo na katero ste naleteli, naletel že nekdo drug, zato je eno izmed najpomembnejših programerjevih orodij prav zagotovo zmožnost efektivnega googlanja za rešitev problema.
Poleg raznih forumov/blogov pa so za vprašanje o težavah možne naslednje strani:
Orodja 🛠
Za čimbolj efektivno delo programerja so prav zagotovo odgovorna tudi njegova orodja.
Najbolj osnovna orodja za programerja so urejevalnik besedila (Text Editor) oziroma IDE, terminal in Google.
IDE
Urejevalniki besedil (Text Editors)
Terminali
- iTerm2 - MacOS
- CMD - Windows
- Ubuntu terminal - Ubuntu
Browser plugini
Zbirke orodij
Splošne
- Undesign - brezplačna orodja za programerje in ustvarjalce
Za študente
- GitHub Education Pack - orodja in crediti
- IntelliJ for Students - brezplačne IntelliJ professional licence
Zanimivosti 😮 🙌
Zanimivi projekti/novice/debate, ki bi zanimale prav vsakega programerja.
Hobi projekti
Zanimive debate
- Kaj lepega ste se naučili/zgradili med počitnicami? - Oto Brglez
Sodelujoči 🎖
V kolikor sem koga pozabil, me prosim opomnite na @mihanovak1024 oziroma naredite nov pull-request.