U razvoju softvera, rešavanje problema je proces u kojem se koriste razne teorije i istraživanja kako bi se došlo do rešenja određenog problema, dok se testiraju različite ideje i primenjuju najbolje prakse za postizanje željenog rezultata. Rešavanje problema takođe ima veze sa kreativnošću i logičkim razmišljanjem za identifikaciju problema i njihovo rešavanje pomoću softvera.
Vrhunski programeri nisu stigli do tog nivoa samo zato što dobro znaju programske jezike ili tehnologiju koju koriste, već i zato što su odlični u rešavanju problema.
Dobro korišćenje programskog jezika može se uporediti sa tim kako je biti vešt i kvalitetan pisac. Dobar pisac mora znati kako da konstruiše rečenice i pravilno koristi gramatiku, ali pisanje je više od toga. Da biste bili Stiven King nije dovoljno da znate svaku reč u rečniku, treba biti kreativan i razmišljati van okvira. Isto se može reći i za programere.
Programeri rade na različitim zadacima, a biti na vrhunskom nivou u rešavanju problema je veština koja je od suštinskog značaja za bilo koje izazove koji mogu da se jave tokom razvoja softvera.
Izdvojili smo nekoliko saveta kako da razvijete svoje veštine rešavanja problema.
-
Paralelno razmišljanje
Paralelno razmišljanje je ključna veština za programere. Ovo vam omogućava da u isto vreme obavljate dva zadatka koji se dopunjuju (nešto poput optimizovanog oblika multitaskinga). Ako steknete sposobnost da menjate redosled zadataka u hodu kako biste poboljšali paralelno rešavanje problema, možete ostvariti bolje rezultate i uštedeti dragoceno vreme.
-
Razdvajanje složenih ciljeva
Kada je u pitanju pravljenje softvera, moraćete efikasno da ocrtate korake i zadatke neophodne za postizanje vašeg cilja. Programeri moraju da nauče da podele velike i složene zadatke na manje zadatke jer je ovo važna veština koja će vam pomoći da ostvarite bolje rezultate.
-
Ponovna implementacija postojećih rešenja
Ne morate uvek da izmišljate točak. Dobri programeri znaju da je nekada najjednostavnije rešenje najbolje, kao što je korišćenje već postojećih alata pre nego što se odlučite da napravite nešto poptuno novo. Razvijanje veština rešavanja problema je u velikoj meri povezano sa pronalaženjem rešenja koja već postoje i njihovom ponovnom upotrebom.
-
Budite spremni na promene
Imajte na umu da ciljevi imaju tendenciju da se razvijaju. Ako vaš klijent dođe sa novim idejama, to će značiti promenu vaših ciljeva i preuređivanje zadataka. Dobar programer mora da nauči da kreira rešenja na način koji ne zahteva potpuni redizajn.
-
Timski rad
Programeri moraju da imaju dobre međuljudske odnose i da budu sposobni da sarađuju. Sposobnost saosećanja, prihvatanja povratnih informacija, suočavanja sa kritikom, pažljivo slušanje i ispoljavanje poštovanja prema drugima su važne karakteristike i sposobnosti neophodne za timski rad, a samim tim i za rešavanje problema na poslu.
1 komentar