A szoftverfejlesztők a világ legtürelmesebb emberei közé tartoznak?
Beleképzeltem magam abba, hogy megírják a kódot, de valami miatt nem működik, és elkezdik áttúrni a netet, hogy megtalálják a megoldást. Vagy valami olyat kell csinálniuk, amit fejből nem tudnak, így aztán mégtöbb neten túrkálásra van szükség. Ráadásul mindehhez durván logikus gondolkodás is kell. És ezt folyamatosan, nap mint nap 100x megismételni... Én valószínűleg már az első pár napban megutálnám az egészet, egy jó nagy dühkitöréssel fűszerezve.
Én nem értek ehhez, gőzöm sincs, hogy a valóságban hogyan működik ez, úgyhogy elnézést kérek, ha butaságokat írok. A fejemben így képzelem el a szoftverfejlesztők dolgát. Ez a kérdés úgy vetült fel bennem, hogy én egy Arch Linux felhasználó vagyok, és sokszor van az, hogy valamit olyan macerás bekonfigurálni, működésre bírni, hogy az esetek többségében inkább hagyom a francba az egészet. Csak egy egyszerű dolog kellene, mégis egy fél regényt kellene elolvasni, és értelmezni hozzá.
És az a durva, hogy én csak egy egyszerű user vagyok, és kész, mégis sok a macera. Vajon milyen lehet akkor a fejlesztőknek? Komolyan érdekelne, hogy mennyi türelem kell hozzá, és hogyan bírják!
A fejlesztés nem a kapkodó idegbeteg játéka, az biztos. Ott az embernek tudatosítania kell magában, hogy csak kis lépésekkel lehet adni, de ezzel nincs semmi baj. De a fejlesztés nem is úgy működik, hogy az ember összekapar valamit Stackoverflow-ról, aztán jóvan az úgy. Hanem leül, elolvassa az API referenciát, megnézi a példakódokat (ha vannak), elolvassa a kapcsolódó tudnivalókat, és ha kell, utánaolvas annak, amit nem tud. Utána tervez, és kódol.
Ha mondjuk letöltesz egy hangszerkesztőt, amit még ALSA-ra írtak és nem ad hangot a rendszereden, akkor utánaolvasol, keresgélsz, mondjuk találsz egy leírást amiben az van, hogy telepítsd fel a pulse-alsa és a pipewire-alsa csomagokat, utána add hozzá a pulse-t mint hardveres hangkimenet, majd ezután már működni fog (remélhetőleg).
Programozásnál nem megy ilyen gyorsan a dolog. Én pl. írtam a múltkor egy jelszókezelőt magamnak. Fél napig próbálgattam a GPGME libet, hogy rájöjjek, nekem nem erre van szükségem (bár én csak hobbiprogramozó vagyok, nem főállású). Aztán megtaláltam a libgcrypt-et, de ehhez is az kell, hogy az ember tisztában legyen az alkalmazott kriptográfia alapjaival. Ha nem tudod, mi a szimmetrikus/aszimmetrikus titkosítás, mi a cyhper, mi a blokkméret, mi a kulcshossz, stb., akkor nem tudsz megírni egy ilyen programot. Erre megint ráment közel két napom, míg ezekkel tisztába jöttem. És ekkor még csak ott tartottam, hogy magát az encrypt/decrypt függvény meg tudtam írni...
Van olyan munkahely, ahol határidőig meg kell oldani a feladatokat.
Van olyan hely ahol meg kell jelenni, és egyhuzamban kell dolgozni 8 órát.
Egy-egy makacs bug természetesen fel tudja bosszantani az embert. De egy jó szoftverfejlesztő olyan, hogy nem ordibál, hanem ilyenkor átmegy "azért is megtalállak" üzemmódba. És ha pár óra keresgélés után végül sikerül megtalálni és likvidálni a bugot, na az nagy elégtétel tud lenni. Én emiatt is szeretem, meg azt imádom, amikor a kódsorok szépen "megelevednek" és hasznos program lesz belőlük.
De alapvetően türelmes ember vagyok, szükség is van rá. Dolgoztam anno telefonos ügyfélszolgálaton. Na ODA mégtöbb türelem kellett, mert néha akkora irgalmatlan hülyékkel kellett beszélni, hogy csak na!
Én is szoktam qrvanyázni. :D És "most meg mi a fszbajodvan" gondolatokat mondani a fejemben, mert valami nem tetszik a programnak vagy a környezetnek. Nyilván velem is volt olyan, hogy 2 napot elvitt egy qrva OpenVPN konfiguráció... Utána persze találtam egy scriptet, ami megcsinálja helyettem. Zseniális... :D
De ez is inkább már alkotásról szól. Lehet, hogy a fejlesztés csak a 30%-a, mert ha saját projektedet csinálod, azt:
- tárolnod kell valahol (pl. GitLab)
- kód teszteket írni több szinten, hogy ha megcsinálsz egy fejlesztést, akkor egy másik ne rontsa el a régit.
- CI/CD folyamatot kell kialakítani, hogy ha egy verzió elkészül automatikusan installálja, mondjuk egy Kubernetes-be (néz utána, ha nem tudod mi az)
- önmenedzsment, hogy most mely feature-ket fejleszted, hogy ne fejest ugorj a sok-dologba, és azt se tudod merre a jobbra-barra.
Na igen, feljesztőként azért gyakran kell devops melót is csinálni, pláne kisebb cégnél. Az idegörlő tud lenni (legalább is én inkább vadászok egy bugra a Typescript kódban, mint AWS deploy scripteket írjak)
Aztán a folyamatos önfejlesztés fontos, de ember legyen a talpán, aki ki tudja választani, hogy mikor mit érdemes tanulni...
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, 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!