A programozáshoz géniusznak kell lenni vagy szorgalommal belehet hozni a nem átlag feletti logikát?
Vannak "favágó" feladatok amikhez nem kell géniusznak lenni.
Meg vannak kóklerek is sokan, mint minden szakmában (sajnos).
"...ugyanúgy meg lehet tanulni, mint bármi mást."
Ez azért nem teljesen így van.
Kell hozzá némi affinitás, tehetség. Tudni kell szeretni és akarni kell. Kell hozzá egy kis fanatizmus és borzasztó sok idő.
Akár az autóvezetés. Ha botkezű, utálja, ügyetlen és fél, akkor el tud menni ugyan A-ból B-be de isten óvja a többi közlekedőt és te sem ülnél be mellé utasnak.
"Kell hozzá némi affinitás, tehetség. Tudni kell szeretni és akarni kell. Kell hozzá egy kis fanatizmus és borzasztó sok idő."
Kb. pont annyi, mint amennyi mondjuk a matematikához, vagy bármi máshoz.
A programozást átlagos szinten mindenki meg tudja tanulni, ha akarja. A tehetség inkább a profizmushoz kell, de ez megint csak igaz szinte mindenre.
"Kb. pont annyi, mint amennyi mondjuk a matematikához, vagy bármi máshoz."
Pontosan!
És ha az nincs, akkor keserű lesz a menet vagy leginkább semmilyen.
Az informatika a túlzott absztrakciója miatt tűnik nehéznek, holott ugyanúgy megtanulható, mint minden más szakma. De azért jelentsük azt ki, hogy nem egyik napról a másikra történik ez.
Vannak Bootcamp-ek, ahol semmilyen tudásról próbálják megtanítani a tanulókat heti 40órában 4-6 hónapon át, és ekkor mondható az, hogy ráléptek a start vonalra a munkaerő piacon.
Van pár tényezője van, hogy miért tekintenek rá nehéz szakmának:
- Technikai tudás mélysége:
Az IT-ben minden rendszer függ más rendszertől, tehát nem csak azt jó tudni, ami a szakmád, hanem a társ/szomszéd rendszerekkel is képben kell lenni, hogy tudd használni. Ezek lehetnek elméletiek, eszközök vagy platformok. Tehát programozás mellet jó, ha fejlesztő tudja, hogy mi az a DevOps, Konténerizáció, Network, Adattárolás, Adatszerkezetek, ...
- Folyamatosan változó technológia:
Ez egy eltérő elem más szakmáktól, mert rendkívül gyorsan jönnek ki meglévő technológiák/eszközökhöz új funkció, vagy alapjaiban jelenik meg új szoftver, hardver vagy felhasználható technológia. Tehát ez megköveteli a folyamatos tanulást is és szélesíti a megismerendő eszközök körét (lásd előző pont).
- Probléma megoldás:
Projektek során gyakran egyedi problémába ütközik minden ember, amiket ugye meg kell oldani. Mivel egyedi, így nincs kész megoldás, szóval kísérletezés marad, és benne van, hogy nem egyértelmű a megoldás maga. De mivel sokan fejlesztenek, sokan találkozhatnak ugyanazzal a megoldással és a közösséget ismerve új eszközt hoz létre valaminek a limitációjára (korlátaira), hogy azt feloldja. Tehát, új technológia vagy kiegészítő eszköz jelenik meg (lásd előző pont).
Kérdés, hogy ez az új eszköz megfelelő-e neked, hozza azt amit elvársz és a megrendelő (cégen belül vagy kívül) elvárnak.
- Részletekre való figyelés:
Szoftverek és hardverek nagyon érzékenyek a részletekre. Tipikus kezdő probléma: "Nem azt csinálja, amit én akarok". Sajnos a program és a hardver nem motorikus vagy gondolat olvasó. Csak azt csinálja, ami mondva lett neki, se többet, se kevesebbet.
Egy gép nem tudja-, hogy mi az-az ok-okozat, hogy milyen visszajelzést kell adjon, milyen adatot, hogyan kezeljen vagy tároljon vagy a rácsatlakoztatott eszközt, hogyan kezelje. Utóbbira a "driver" kifejezés gondolom ismerős.
Minél nagyobb/komplexebb egy projekt annál több hibalehetőség lehet benne, ezért fontos a visszaellenőrzés, mert egy apróbb hiba is problémát okozhat, így megakadályozza a rendszer megfelelő működését. Ezért tesztelnek.
Csak nincs kimerítő tesztelés, azaz 100%-os lefedettség, de a hiba lehet más rendszerektől legyűrűződve is vagy környezeti (dev, test, prod) különbségek is.
- Stresszes munkahelyzet:
Vannak pillanatok mikor nyimás alatt kell dolgozni:
* Éles rendszer hibásodik meg, és azonnal rendbe kell hozni
* Határidő közel, de számos tényező jött közbe, amire tervezéskor nem gondolt a csapat
* Projekt élesítés közben lesz-e bármilyen fennakadás, mert az más környezet, mint ahol eddig tesztelték
* ...
Hibák nem minden esetben egyértelműek, mert gyakran csak egy tünete valaminek, tehát fel kell deríteni, és benne van az is, hogy órák/napokba telik.
---
IT rendszerek korunk alapja, mert direkt vagy indirekt mindenki informatikát használ. Mindenkinél ott a telefon, orvosoknál az egyén orvosi adatai a "felhőben", bankok és tőzsdék ezen át végzik a tranzakciókat, és sorolhatnám.
Cégek számára a versenyképesség miatt is fontos, ezért folyamatosan fejleszteni fognak hardvert és szoftvert és mindezt valakinek végeznie kell az üzemeltetésről nem is beszélve, hogy mindez álljon.
Nem meglepő, hogy manapság mindenkinek fontos, még ha nincs is kijelentve. Belegondoltál már, mi lenne ha, leállna a banki rendszer, EÜ rendszer vagy reptéri rendszer (ahogy nyáron)? Nem lenne műtétek, összes repülő földön maradna, nem tudnál a boltban venni semmit, mert a kassza rendszer nem menne, stb...
Mivel relatív nehéz szakma és jó szakemberből nincs sok, így meg is fizetik. Igen itthon akár 2millió/hó (bruttóban) is adnak egy jó emberért.
Megtanulható? Igen. DE: belefog telni időbe, lehet hogy 1-2év is lesz az.
Rossz hír: Nem elég csak programozni, ahogy a legelső pontban írtam sok különböző dolgot ismerni szükséges.
De nyugalom: Nem kell mindent azonnal, lépésről lépésre. Máshogy nem lehet.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!