Főoldal

"Mérnököt a mérnöktől"

A Schönherz Bázis összeköti az állást kereső és állást kínáló mérnököket.

CV küldés

Küldj önéletrajzot! Gyorsan, egyszerűen.
Megjegyzésbe írd be a pozíció nevét.
CV küldés

Iratkozz fel hírlevelünkre!

Hírek

5 dolog, amit szoftvermérnökként tanultam
5 dolog, amit szoftvermérnökként tanultam

2017 nyarán kezdtem el Ruby on Railsben programozni. Egyszerre szeretem és utálom is a munkám. Ha azt gondolod, hogy a programozók csak tiszta, működő kódokat írnak, akkor nagyon élénk fantáziád lehet. A programozás nagyon munkaigényes feladatkör. A sorok száma néha fordítottan arányos a komplex probléma megoldására fordított gondolkodási idővel és a megoldás megtalálásával. Néha a leghatékonyabb kód csupán 2 sorból áll és az „egyszerű felhasználó felültet változások” 8 napig fut a backenden és az egyetlen változás, amit eredményez, az egyel több látható sor egy táblázatban. Ez egy valódi életből vett példa, nem kitaláció.

A programozói állást egy kényelmes, jól fizető, nem stresszes, irodai munkának tartottam. Mint kiderült, ebből csak az utolsó pont igaz. Talán ez csak hozzáállás kérdése, de nem tudok kimenni az irodából, amíg nem működik a kódom. Másrészről mindig számíthatok a munkatársaim segítségére. Nem működik a kód? Ennek láttán Minőségbiztosítás (QA) örömmel nyomja meg az Elutasítva gombot. Tanulnunk kell a hibáinkból és azt hiszem, hogy én tényleg sokat tanultam. Számos technikai készséget szereztem, felfedeztem a csapatmunka mögött rejlő valódi jelentést, és néhány dolgot is tanultam magamról.


Azt hiszem, megoszthatom veletek a szoftverfejlesztőként eltöltött első 6 hónapom kalandjait és tanulságait.


Projektek mérete

A tanulmányaim során, számos projekten dolgoztam. A disszertációmon kívül 5 év alatt volt még pár végső nagy munkám, amik változó komplexitással rendelkeztek. De egyik se közelített meg még 1%-osan sem azt a rendszert, amin most dolgozunk. Egy termék fejlesztésén 59 ember dolgozik. 200 repository van. Annak a projektnek a leírása, amin dolgozom, annyira kiterjedt, hogy 9 hónap alatt nem volt időm végignézni az összes file-t és funkcionalitást benne. És ez csupán az adminisztratív oldala.

Megtalálni a megfelelő helyet a kódon belül több időbe telt, mint egy bug kijavítása.

Következtetés: a gyorsbillentyűk ismerete és az eszköz kiegészítők, pluginok elengedhetetlenek.


Középről kezdeni

Mindent az elejétől kell kezdeni – még egy óvodás gyerek is el tudná ezt mondani. Sajnos, ez nem mindig lehetséges.

Csatlakoztam a céghez és egy olyan kódot fejlesztettem tovább, amin valaki más dolgozott már éveken át. Hozzáadunk funkciókat, eltávolítjuk a hibákat, néha az új kódot újrafaktorizáljuk, van, amit törölni kell. Teljes eltér az egyetemi tanulmányok alatt megszerzendő kreditpontoktól, ahol egy kész problémát kaptunk, majd megalkottuk és beépítettük a megoldást.


Teljesen más, mint a megbízói munkák ahol a www vagy az applikáció az ügyfél igényeire van szabva. A költségkeret meg van határozva, van egy elképzelésünk, hogy hogyan fog az elkészült termék kinézni, és egy meghatározott időkeret van. Befejezünk egy projektet majd elkezdünk egy újat. Mi választjuk ki az eszközöket és alkotjuk meg a munka és ütemtervet. (legalább ez részben hasonlított arra, ahogy a tanulmányok során csináltuk.)


Itt, középen kezdtem és mindig középen is fogok maradni.


Mikor kell segítséget kérni és hogyan oldjuk meg problémákat?

Kezdőnként létfontosságú megtanulni azt, hogy mikor és hogyan kérj segítséget. Soha nem akartam az a valaki lenni, aki fölöslegesen tesz fel buta kérdéseket. Másrészről nem is akartam eltölteni órákat egy problémával, majd kiégni, mikor egy kis magyarázat egy tapasztaltabb fejlesztőtől megtakarítaná ennek az időnek és stressznek a nagy részét.


Amikor elkezdtem a gyakornokságot azt hallottam, hogy maximum 20 percet töltsek el egy megoldás keresésével. Ha nincs meg a megoldás, akkor kérdezzem meg és ne vesztegessem az időt. A dolgok akkor rosszabbodnak, ha nem tudod milyen kérdéseket tehetsz fel. Ennek köszönhetően újra felfedeztem azt, hogy ha gondolatokba, mondatokba rendezzük a problémát, akkor rátalálhatunk a megoldásra. Ugyanis amikor másvalakit is bevonunk a problémába, kezdésként el kell neki mondanunk mindent, amit tudunk. Gyakran a szituáció gondolati felvázolásakor találunk rá a megoldásra.

Néha nem kell másokat megkérdezünk ahhoz, hogy rátaláljunk a megoldásra. Amíg egy senior fejlesztőre várva azon gondolkodtam, hogy hogyan fogalmazzam meg a problémát neki, mivel nem akartam összefüggéstelenül beszélni, rátaláltam a megoldásra.

A lépések leírása, vagy a probléma kis részekre bontása hasznos lehet. Továbbá jó kiindulóalap a beszélgetéshez egy másik fejlesztővel mikor valami nem működik. Néha arra jöttem rá, hogy egy olyan információra volt szükségem, amit eddig nem tudtam megtalálni, vagy a megszerzés folyamata sok időt venne igénybe. Végül csak meg kellett kérdeznem valakit.

Leírom azokat az érdekes válaszokat, amiket kapok, vagy kódrészleteket. Minden tanácsot, hasznos információt a noteszembe gyűjtöm. Amikor hasonló problémába ütközök, ezt hívom segítségül. Mi több, ha az egyik munkatársam kerül ehhez hasonló helyzetbe, javaslatokkal tudok szolgálni neki.


Bízz magadban

Ezt folyamatosan tanulom és valószínűleg még hosszú út áll előttem ezen a téren. Csak nemrég tudtam meg, hogy létezik egy imposztor szindróma nevű jelenség, de nem hiszem, hogy egyelőre még lesúlyt ez rám.

Bizonytalan voltam a Rails tudásomban mivel kevés valódi programozási tapasztalatom volt mikor megkaptam az állást. Találkoztam olyan emberekkel, akiknek a tudása számos technológiákról eléri a szenior szintet. Ilyen emberekkel körülvéve azt hittem, hogy nem elegendő a tudásom.

A nyelvek, keretek, módszertanok és árnyalatok hatalmas tárháza létezik. Nem lehet mindenről tudni. Tökéletesen rendben van először találkozni valami újjal, és nem tudni, hogy hogyan kell azt használni.

A tanulmányok és a gyakorlati ismeretek? A szoftverfejlesztési tanulmányok során a legpraktikusabb projektek olyan közel voltak a valósághoz, mint hogy Need for Speed, segített a vezetői engedélyem megszerzésében.

Jó tudni, hogy rendben van, ha nem tudok valamit.  Fontosabb, minthogy a fejedben található teljes adathalmaz, meg tudja találni egy problémára az optimális megoldást. Még fontosabb tudnod azt, hogy képes és hajlandó vagy a tanulásra. Tudok tanulni, és ez tapasztaltabb emberekkel körülvéve könnyebb is. Nem kell újra kitalálnom semmit. Egy jó tudás átadási rendszerrel és jó praktikákkal már találkoztam, mivel a projekt közepén kezdtem. Most már csak fejlesztenem kell a képességeim, hogy a legjobb tudásom szerint járuljak hozzá a csapat sikeréhez.


Mindig tanulsz új dolgokat

Olyan sok elérhető technológia van, így érdemes tudni, hogy programozóként sosem fogod abbahagyni a tanulást. Ez nem azt jelenti, hogy ismerned kell az összes megalkotott programozási nyelvet. Kétlem azt, hogy egy nap fejből el fogom mondani a JS/Python/Ruby összes beépített funkcióját. De jó ismerni különböző programozási nyelveket, technológiákat és eszközöket, azért, hogy legyen miből választani, érdeklődési kör alapján. Légy naprakész naprakész népszerű és feltörekvő technológiák terén és mindig fejleszd tovább a meglévő képességeid.


Mielőtt elkezdtem a munkámat, úgy tűnt számomra, hogy tiszta, logikus kódot tudok írni, és összetett weboldalakat hozok létre. Amikor befejeztem a tanulmányaimat, azt hittem, tudom, hogyan kell SQL-ben komplex lekérdéseket végrehajtani, vagy egy hatalmas adatbázist tervezni. Valószínűleg még mindig tudom mindezt, papíron. Mindenesetre megismerkedsz valami újdonsággal, tanulmányozod, és látod, hogy ez csak a jéghegy csúcsa.


IT-ben nem mondhatod:

„Oké, megtanulom Ruby on Rails-et, és addig írok ebben alkalmazásokat, amíg nyugdíjba nem megyek”

Ez egyszerűen nem lehetséges. Az informatikai piac gyorsan változik. Új technológiák, trendek és nyelvek jelennek meg - nem hagy helyet az unalomra.

Érzem, hogy az elmúlt hat hónapban többet tanultam, mint az elmúlt három évben.


(Forrás)


***

Ha Te is kreatív, kihívásokkal teli mérnök állást keresel minõségi munkáltatónál, jó helyen jársz, mert a Schönherz Bázis épp azért jött létre, hogy Neked segítsen.
Gyere, nézz szét aktuális állásaink között!