U prvi mah sam u naslovu umesto “treba” napisao “mora”, ali, ruku na srce, ništa od navedenog nije obavezno, ali je svakako vrlo poželjno. Njhovo poznavanje daće vam “edge” nad konkurencijom, a mnoge stvari ćete obavljati nekoliko puta brže. Nekad je dovoljno poznavati nešto samo površno, ali dovoljno da vam da ideju za neki manje konvencionalni pristup rešavanju nekog problema. Dakle, idemo sa spiskom:

Regularni izrazi. Apsolutno neophodno, u bilo kom alatu ili operativnom sistemu da radite. Vrlo brzo se uče, nešto duže vreme treba dok se savlada napredno korišćenje, ali svaki uloženi sekund se posle višestruko vraća i vraća. Sledeći korak je prelazak na unixoliki operativni sistem ili instalacija paketa standardnih unix alata na Windows, što ću pomenuti kasnije.

Objektno programiranje. Nekima će ovo možda delovati apsurdno, ali dosta programera i danas kodira imperativnim stilom, pogotovu oni kojima su primarni alati ASP, PHP ili VisualBasic. Objektno programiranje se ne uči za jedno popodne, već se savlađuje godinama, pošto je usko povezano sa projektovanjem aplikacija, što je zanat sam po sebi. Sledeći korak je izučavanje dizajn šablona (patterns), odnosno sistematizacija znanja i prakse.

Barem jedan skript jezik u kome su funkcije elementi prvog reda. U njih dakle spadaju Pajton (Python), Rubi (Ruby), ali i JavaScript. U njih ne spadaju Java, PHP i ASP. Mnoge karakteristike funkcionalnog programiranja, nastale još šezdesetih godina, tek sad ulaze u opšteprihvaćene jezike, pre svega zbog sporijeg razvoja hardvera. Proučavanje nekih funkcionalnih tehnika i rad u interpretiranim jezicima sa velikom mogućnošću refleksije može fundamentalno da promeni vaš pogled na programiranje. Pažnja: posle par stotina linija koda u Pajtonu, biće vam muka kad se vratite u Javu, C# ili PHP.

Unix command-line utilities. Neko ko pređe sa Linuxa na Windows ne može da shvati kako programeri tamo mogu da prežive bez komande poput grep (sed, awk, itd), moćnog šel skriptinga i obilnog korišćenja redirekcije i pajplajna standardnog ulaza i izlaza. Vindousov šel je u poređenju sa Juniksovim kao tricikl u poređenju sa Ladom Nivom. U tom smislu, “neprosvetljeni” vindous programer će, umesto dve linije grepa, sesti i napisati jednokratnu aplikaciju od stotinak linija u C#-u, Delfiju ili Javi, što je apsurdno. Instalacija omiljenih Unix alata je dostupna i za Windows i radi savršeno, sa sve man stranicama.

ASP.NET. Ako ste veb programer i ne znate kako funkcioniše ASP.NET, uložite par dana i naučite barem osnove. Majkrosoft je iz korena promenio pristup veb programiranju i iako taj novi pristup ima i neke mane, ipak je jedan od dominantnih danas i svakako pravac kojim će se kretati i ostali alati za razvoj veb aplikacija.

Motika. Rezerve fosilnog goriva se troše i ko zna koliko ćemo još uživati u plodovima jeftine energije. Kad računari postanu neupotrebljive metalne kante a hrane i vode bude sve manje i manje, biće od koristi poznavanje tradicionalnih načina preživljavanja. Takođe, motika je, zajedno sa komplementarnim alatom, kukom, u Srbiji neophodan instrument svakih desetak godina, kako bi se politička “elita” podsetila u kom pravcu treba da vodi državu.