Interjú Schmidt Attilával

Schmidt Attila

Schmidt Attila három éves szoftverfejlesztői gyakorlattal (főként Android platformhoz kötődően) és két éves szoftvertesztelői tapasztalattal rendelkező mérnök-informatikus.

Schmidt Attila

Az interjút Kaczur Sándor – az it-tanfolyam.hu alapítója és oktatói csapatának szakmai vezetője – készítette 2019. augusztus 22-én.

K. S.: Már főiskolai tanulmányaid alatt is dolgoztál. Hogyan kerestél és találtál akkor munkát?

S. A.: Akkoriban még nem volt szakmai gyakorlatom és egy olyan helyen szerettem volna ezt abszolválni, ahol esetleg később teljes munkaidőben tudom folytatni a munkát. Hivatalos álláskereső oldalakon nézelődtem, nyitott szemmel jártam és a csoporttársaim tapasztalataira hagyatkoztam. Így sikerült bekerülnöm az első céghez ahol dolgoztam mobilfejlesztőként, ahol a főiskoláról egy csoporttársam volt a mobilos csapatnak a vezetője. Itt szereztem alaptudást a munka kapcsán és tapasztalatot gyűjtöttem, hogy hogyan megy mindez a gyakorlatban.

K. S.: Miről szólt a Tallymarks projekted?

S. A.: A Tallymarks egy számomra kedves mobilalkalmazás, amely ugyan egyszerű, mint a faék, a program működése viszont némileg bonyolultabb logika mentén megy végbe. 5 strigulát kell húznunk a kijelzőn: négyet függőlegesen az utolsót keresztben, mindezt úgy, hogy a program csak érvényes strigulát fogadjon el, így növekszik a számláló és tartja számon (azt, amit előtte beállítottunk például, hogy egy sorozatban hol tartunk). Sok hasonló alkalmazás létezik ezen a területen, de a kijelzőn történő rajzolás és ehhez tartozó funkció egyedülálló volt akkoriban, amikor ezt a programot fejlesztettem.

K. S.: Milyen szakterületei vannak a szoftverfejlesztésnek mobil platformhoz kötődően? Megfogalmaznád a kezdők és a rutinosak szintjén kétféleképpen ezeket?

S. A.: Kezdetben ezekre kell fókuszálni leginkább: UI összeállítása (XML), hálózatkezelés, funkciók implementálása. Ehhez jön később az adatbázis írás/olvasás, push notification/notification kezelés, verziókezelés (Git), hálózati kommunikáció és minden egyéb.

K. S.: Megpróbálnád kategorizálni – tudom, hogy nagyon nehéz – a szoftvertesztelés során előforduló tipikus hibákat? „Mire gondolt a költő”, amikor erről beszélünk…

S. A.: Tipikus hiba talán nem is létezik, ha csak nem nagyon hasonló programokat tesztelünk, amik egy kaptafa alá tartoznak, és mindig rögtön kitaláljuk, hogy hol van hiba a programban. Inkább a funkciók kombinációiban szoktunk hibára gyanakodni, de ezek nem tekinthetőek tipikusnak.

K. S.: Hogyan zajlott fejlesztőként egy tipikus munkanapod? Hogyan zajlik tesztelőként egy tipikus munkanapod?

S. A.: Az én esetemben minden nap azzal kezdődött fejlesztőként, hogy átgondoltam mi az, amit előző nap csináltam, és mi az, amit ma el szeretnék érni. Ez tesztelőként sincsen másképp, annyiban változott, hogy különböző feladataim vannak, fejlesztőként eldönthettem, hogy mi következik: például a szerver kommunikáció vagy a program funkcionalitása. Tesztelőként különféle feladatok vannak – amik függnek a program állapotától – és ez határozza meg a tesztelendő területet illetve a feladat típusát is, hogy most éppen tesztelnem kell-e, teszttervet készíteni, egy már meglévő és a rendszerben szereplő hibajegyet ellenőrizni. Persze

„a programozás lényegesen több gondolkodást igényel, mint a tesztelés”

hacsak nem automatizálásáról beszélünk – amivel én ezt a szakmát kezdtem –, és ilyen esetben is

„lényeges az, hogy mi a cél és milyen szerepet töltünk be a fejlesztés során”.

Schmidt Attila

K. S.: Jelenlegi munkád szakmai részében milyen szoftvereket használsz? Melyiket mire?

S. A.: Helix Alm (testtrack) – hibajegykezelés, Microsoft Teams – kapcsolattartás, Notepad++ – forráskód olvasás/írás.

K. S.: A munkád szervezéséhez kötődően (projektmenedzsment, időgazdálkodás, SCRUM, kommunikáció, verziókezelés) milyen szoftverekkel találkoztál eddig?

S. A.: SourceTree – verziókezelés, Trello – projektmenedzsment, Slack vagy MSTeams – kommunikáció.

K. S.: Általában atipikus, hogy fejlesztői pozíció után valaki tesztelőként folytatja. Mi motivált a váltásra?

S. A.: 2016-ban mobilfejlesztőként dolgoztam és a főnököm megkérdezte, hogy szeretnék-e tesztelő lenni, mert az egy halom pénzbe kerül a cégnek. Boldogan mondtam, hogy persze miért is ne, hiszen érdekelt ez a terület, valamint fejlesztőként is tesztelek ugyan, de kicsit mélyebben is szívesen beleásnám magam.

Fejlesztőként TDD-vel kezdtem, ami az automatizálás része. Kis idő múlva a cég elnyert 2-3 nagyobb projektet is és ezeknek én lehettem a tesztelője, így a manuális tesztelői világ is kinyílt előttem, ráadásul az akkori kollégáimmal – akik a fejlesztésben voltak jelen – remekül tudtam együttműködni.

Azt gondolom, hogy

„a fejlesztésben akkor lehetünk sikeresek, ha már elegendő rutinunk van egy projektet végigvinni az elejétől a végéig és ehhez sok-sok munkatapasztalatra és tudásra van szükség”.

A tesztelésben inkább a jártasság és a tapasztalat számít például, hogyan álljunk neki egy program tesztelésének.

K. S.: Mennyire csapatjátékosok a fejlesztők és a tesztelők? Milyen soft skillek hasznosak ezekben a munkakörökben?

S. A.: A fejlesztő és a tesztelő közötti kapcsolat nagyon fontos, elsősorban úgy gondolom, hogy a tesztelőnek kell azt éreztetni, hogy a fejlesztő munkáját szeretné segíteni és nem hátráltatja azt. Alapszabály, hogy nem szabad sokat kérdezni. Inkább egy adott problémát körültekintően körbe kell járni és meg kell érteni a probléma okát. Így meghatározó információval tudunk szolgálni, amikor a fejlesztő elé állunk, vagy ha csupán hibajegyet rögzítünk, ezzel (is) könnyítve a fejlesztő munkáját is a hiba kijavításában.

Ha csapatjátékos és segítőkész hozzáállást tanúsítunk, az sokat segíthet mind a két szakterületen, ezzel elősegítve azt, hogy hasznos információkhoz jussunk, amelyek segítenek a projekt előre haladásában.

K. S.: Ha a szakmai pályafutásod hossza 100 egység, akkor jelenlegi tapasztalataid alapján hol tartasz, és milyen mérföldköveket fogalmaznál meg ehhez kötődően?

S. A.: Ez kimondottan nehéz kérdés, de azért nem megválaszolhatatlan. Úgy gondolom, hogy az elmúlt 5 évben találkoztam pár dologgal ezen a két területen. A fejlesztést tekintve: az egy komoly mérföldkő, amikor a fejlesztő állítja elő a backendet is magának és erre írja meg a frontendet. Létrehozza a szervert, az adatbázist majd a végterméket. Ha években szeretnénk felállítani mérföldköveket magunknak, akkor a standard 1-3, 3-5, 5+ amivel számolni lehet, de ez nem mutat rá a munkavállaló tudására.

A tesztelést akkor kezdtem el, amikor a fejlesztésben úgy 15-25 között voltam és ez azóta nem is mozgott tovább, bőven lenne még mit tanulnom ezen a területen. A tesztelésben a tapasztalatok alapján egy kicsivel előrébb tartok, de ebben a szakmában is van hova tovább. Inkább az automata tesztelés felé szeretnék specializálódni.

K. S.: Hogyan tovább, mivel fogsz foglalkozni 5-10 év múlva?

S. A.: Célom, hogy tesztmenedzserré váljak és egy tesztelői csapatot koordinálhassak. Így képzelem el a jövőt 5 év múlva. Addig pedig minél több területen szeretnék tapasztalatot gyűjteni és kiegészíteni meglévő tudásomat. Érdeklődöm afelől is, hogyan zajlik a fejlesztés máshol, akár kisebb vagy nagyobb méretű cégről legyen szó.

Schmidt Attila

K. S.: Véleményed szerint mitől függ egy szoftverfejlesztő, szoftvertesztelő fizetése?

S. A.: Elsősorban a cég méretétől: startup, 10-15 éve működő vagy multinacionális. Másodsorban a munkavállaló években mérhető tapasztalatától. Ennek a kettőnek a függvénye adja meg a fizetést.

K. S.: Milyen tapasztalatod van bootcamp-es kollégával? Mit gondolsz, az idősebb (30+, 40+) karrierváltókat mi motiválja, hogy szoftverfejlesztők legyenek?

S. A.: Szerintem elsősorban a fizetés, mert sokat hallani, hogy kiemelkedően lehet keresni ezen a területen és érdeklődnek a szakma iránt, illetve érdekes is annak, aki lát benne perspektívát és elhivatott.

K. S.: Kipróbálnád magadat külföldön fejlesztői vagy tesztelői munkakörben?

S. A.: Mindig úgy voltam vele, hogy én itthon szeretnék dolgozni. Bőven van munka IT területen itthon, sőt egyre több. Egyelőre nem gondolkodom külföldi munkavállaláson, de sose tudni: biztosan átgondolnám, ha lenne rá lehetőség.

K. S.: A Java EE szoftverfejlesztő tanfolyamunk részletes tematikájához tartozik a hálózatkezelés, XML és JSON feldolgozás, valamint különböző hálózati kommunikáció megvalósítása is (Socket, RMI). Mennyire hasznosak ezek a témakörök, esettanulmányok azoknak, akik mobil irányba szeretnének specializálódni?

S. A.: A XML és JSON mindenképpen már kezdetben is hasznosak, a Socket, RMI szintén és gondolom, időben később játszanak szerepet és mindenképpen jó, ha a tanfolyam során ezekkel is megismerkedünk.

K. S.: Véleményed szerint a mesterséges intelligencia különböző szakterületei milyen hatással lesznek a szoftverfejlesztéssel és teszteléssel foglalkozó szakemberek hétköznapi tevékenységeire a közeli jövőben? És hosszabb távon?

S. A.: „Már saját magát tanítja programozni a mesterséges intelligencia.” Azt hiszem ezzel a mondattal válaszoltam is egyben arra, hogy milyen hatással lesz idővel a szoftverfejlesztésre. A tesztelésben szerintem kiváltja a konkrét tesztelőt, mint ahogyan egy gyár csomagoló részlegén a gép leváltotta már az embert, és még sokkal hatékonyabb is.

K. S.: Van kedvenc IT-s idézeted?

S. A.: “Quality is never an accident, it is always the result of intelligent effort.” – John Ruskin
Ha magyarul szeretném ezt megfogalmazni: a minőség sosem véletlenszerű, hanem a szakszerű erőfeszítés eredménye.


Blog bejegyzéseink IT karrier témakörben

Révész András

Interjú Révész Andrással

Révész András alapvégzettsége biológus, ökológia szakiránnyal. Szakmai pályafutását tájökológiával kezdte, azon belül is élőhely térképezéssel, amihez kötődik a térinformatika. Négy évig kutatás-fejlesztéssel foglalkozott az MTA Ökológiai és Botanikai Intézetében, majd ...
Bővebben
/
Schmidt Attila

Interjú Schmidt Attilával

Schmidt Attila három éves szoftverfejlesztői gyakorlattal (főként Android platformhoz kötődően) és két éves szoftvertesztelői tapasztalattal rendelkező mérnök-informatikus. Az interjút Kaczur Sándor – az it-tanfolyam.hu alapítója és oktatói csapatának szakmai vezetője ...
Bővebben
/
Takács Roland

Interjú Takács Rolanddal

Takács Roland egyéves automatizálási teszt mérnöki és ötéves professzionális adatbázis-kezelés (MSSQL, Oracle) tapasztalattal rendelkező mérnök-informatikus. Jól érzi magát multikulturális környezetben. 2017 nyara óta külföldön él és dolgozik. 2018 őszétől PL ...
Bővebben
/
Lovas Bertalan

Interjú Lovas Bertalannal

Lovas Bertalan 22 éves pályakezdő szoftverfejlesztő. A kütyük mindig érdekelték. Hivatásként és hobbiként is gondol a programozásra. Sportos, korábban dzsúdózott, tornázott és a műugrást is kipróbálta. Korábban részt vett a ...
Bővebben
/

Interjú Görög Ibolyával

Görög Ibolya protokollszakértőt mindenki ismeri, bemutatni nem szükséges. De mégis illik, legalább röviden: 1987-től 1999-ig a Miniszterelnöki Hivatal protokollosa, majd protokollfőnöke volt, illetve 1999-től felnőttképzésben oktat. Érdeklődési körébe tartoznak: viselkedéstörténet, ...
Bővebben
/

Interjú Szűcs Tiborral

Szűcs Tibor mérnök-informatikus. Jelenleg a Corvinus Egyetem Koordinációs Irodáján dolgozik órarendszerkesztőként. Ez a feladat a létesítménygazdálkodáshoz kötődik és ő osztja be – sok-sok szempont alapján – az előadásokat, szemináriumokat, számítógépes ...
Bővebben
/
Nádai Gábor

Interjú Nádai Gáborral

„Nádai Gábor vagyok, de sokan leginkább Mefiként ismernek, a legtöbb felületen a @mefiblogger nicknév alatt vagyok elérhető. Eredetileg mérnökinformatikusként végeztem, a kétezres évek közepén a fősuli mellett saját vállalkozásba kezdtünk ...
Bővebben
/
Markovics Győző

Interjú Markovics Győzővel

Markovics Győző nem­zet­kö­zi kap­cso­la­tok sza­kos köz­gaz­dász, va­la­mint po­li­to­ló­gi­át is ta­nult a Bu­da­pes­ti Cor­vi­nus Egye­te­men. Az egye­tem­től fő­ként időt ka­pott – fel­nő­ni a kép­zés alatt. Gya­kor­la­ti is­me­re­te­it min­dig mun­ká­val sze­rez­te. Csa­lá­di ...
Bővebben
/

Hogyan írjunk szakmai CV-t?

CV-logo

CV-logoHogyan írjunk curriculum vitae-t vagy resume-t, magyarul önéletrajzot, ha álláspályázatra kívánjuk beküldeni? Tanfolyamaink orientáló moduljának 17-20. óra: Soft skill tréning alkalmán foglalkozunk ezzel (is). Részletes ILIAS-os tananyagot állítottunk össze önéletrajzírással kapcsolatosan. Az alábbi kérdésekre adunk választ, figyelembe véve a tipikus IT-s, szoftverfejlesztő szakterületre jellemző sajátosságokat.

1. A CV termék saját marketingünkhöz

  • Mi a CV funkciója, célja?
  • Miért fontos, hogy tartalmilag és megjelenésében is megfelelő legyen CV-nk?
  • Miért kell minden jelentkezéskor testre szabni a CV-t?

2. Alap-CV készítése

  • Áttekintjük a különböző CV-k típusait: amerikai, Europass, gerilla, irodalmi.
  • Milyen kötelező elemekből (adattartalom) áll a CV?
  • Hogyan szabjuk testre az alap-CV-t az egyes kiválasztott cégekre?
  • Hivatkozunk kifejezetten IT-sok számára készített CV mintákat.

2.1. Terjedelem

  • Hogyan legyünk lényegre törők?
  • Mit hangsúlyozzanak a pályakezdők?
  • Mit hagyjanak ki azok, akiknek sok tapasztalata van?

2.2. Személyes adatok

  • Szükséges fénykép? Ha igen, akkor milyen legyen a fényképünk?
  • Miért fontos a lakhelyünk a munkaadónak?
  • Kell-e az életkorunk?
  • Milyen elérhetőségeinket adjuk meg?

2.3. Kronológiailag rendezhető részek

  • Milyen sorrendben adjuk meg végzettségeinket, munkahelyeinket?
  • Milyen adatokat adjuk meg végzettségeink, továbbképzéseink, nyelvvizsgáink esetén?
  • Hogyan adjunk képet eddigi karrierünkről, szakmai tapasztalatainkról?
  • Hogyan derül ki a munkaadó számára a CV-nkből, hogy meg tudjuk-e oldani a náluk felmerülő konkrét feladatokat?
  • Hogyan adjunk meg referenciákat?
  • Mit hangsúlyozzanak a pályakezdők?

2.4. Egyéb releváns adatok

  • Milyen nyelvet tudunk szakmai szempontból használni?
  • Milyen vezetői engedéllyel rendelkezünk?
  • Milyen informatikai ismeretekkel rendelkezünk (általánosan)?
  • Milyen hobbijaink, szabadidős tevékenységeink vannak, illetve mi iránt érdeklődünk?
  • Hogyan rangsoroljunk, ha ez a rész túl hosszú lenne?

2.5. Ne tegyük

  • Adjunk-e meg bérigényt? Ha igen, akkor hogyan? Ha nem, akkor miért nem?
  • Vannak-e kényes információk, amelyeket nem érdemes megadni a CV-ben?
  • Kézzel vagy szövegszerkesztővel készítsünk CV-t?

2.6. Ellenőrzés

  • Beadás előtt ellenőrizzük: helyesírást, ragozást, rövidítéseket, dátumokat, fájl nevét.

3. CV „cégre szabása”

3.1. Tájékozódás

  • Mik derülnek ki egyértelműen az álláspályázatból? Mi van a sorok között?
  • Mit és hogyan, milyen formában kérnek?

3.2. Átlátható formátum

  • Hogyan készítsünk letisztult megjelenésű CV-t?
  • Hasznosak-e a letölthető CV sablonok? Érdemes ezeket testre szabni?
  • Mikre figyeljünk, ha szakmai CV-t generáló honlapot használunk?

3.3. Ellenőrzés

  • Felsoroltunk minden – a pozíció szempontjából lényeges/szükséges – információt?
  • Megfelelő a dokumentum – mint grafika – a képernyőn és nyomtatva is?
  • Milyen visszajelzést adott családtagunk vagy barátunk, akitől véleményt, kritikát kértünk CV-nkel kapcsolatosan?
  • Megfelelő a fájl mérete?

4. Álláskeresés és pályázati anyag beküldése

4.1. Lehetőségek

  • Álláshirdetések, állásközvetítő, személyes kapcsolat, direkt jelentkezés, állásbörze…

4.2. Motivációs és kísérőlevél

  • Mire való a motivációs levél?
  • Milyen elemei vannak a motivációs levélnek?
  • Mire való a kísérőlevél?
  • Milyen elemei vannak a kísérőlevélnek?
  • Mintákat hivatkozunk…

4.3. Internetes felületen jelentkezés

  • Mikre figyeljünk webes űrlapok kitöltésekor?
  • Hogyan használjuk a LinkedInt?

4.4. Automatikusan feldolgozott CV-k

  • Milyen kulcsszavak használata célszerű, ha adatbázisba került adatok alapján szűr/válogat a cég?
  • Milyen releváns szakkifejezések a tipikusak?

KSH táblázatból dolgozunk

KSH-logo

KSH-logoA Központi Statisztikai Hivatal honlapján elérhető STADAT táblákból könnyen kinyerhetjük a nekünk szükséges adatokat. A témastruktúrába sorolt online és XLS exportként is böngészhető táblázatokban megtalálhatjuk logikusan csoportosítva összesítve az adatokat régiónként (megyénként), évenként, százalékosan. Az XLS fájlformátum Java nyelven a JExcel API-val hatékonyan feldolgozható. Lássunk erre egy példát!

Feladat

A KSH 2.1.2.35. táblázatából gyűjtsük ki a 19 magyar megyére + Budapestre vonatkozóan a gazdaságilag aktívak létszámát és az első évet alapnak tekintve adjuk meg évenként a változást százalékosan!

Tervezés

A KSH témastruktúrában a táblázat elérési útja:

  • 2. Társadalom,
  • 2.1. Munkaerőpiac,
  • 2.1.2. A munkaerőpiac alakulása Magyarországon (1998–2018) -> Területi adatok,
  • 2.1.2.35. A 15–64 éves népesség gazdasági aktivitása megyénként és régiónként (1998–2018)

Online böngészhető táblázat:
https://www.ksh.hu/docs/hun/xstadat/xstadat_hosszu/mpal2_01_02_35.html.

Letölthető táblázat (XLS formátumban): https://www.ksh.hu/docs/hun/xstadat/xstadat_hosszu/xls/h2_1_2_35.xls.

A táblázat A oszlopában szerepelnek a régiók, megyék, időszakok (vegyesen, szövegként) és a D oszlopában a gazdaságilag aktívak (ezer fő, valós számként). A fejlécet nem szabad feldolgozni. 1998-tól 2018-ig 546 sorból áll az adatsor. A csoportosítás 26 régiót és megyét tartalmaz, amiből a 6 régiót (például: Közép-Dunántúl) ki kell hagyni.

A megyékre vonatkozóan 440 sort kell feldolgozni. Ebből az első sor a megye (vagy Budapest) neve, a többi (2019-ben 21 db) sorban találhatók az adatok (időszak). Olyan algoritmusban érdemes gondolkodni, ami a jövőben is működik. Ha csoportváltást alkalmazunk, akkor nem számít, hogy megyénként minden évben egy sornyival több adat lesz majd. A KSH táblázatok szerkezete nagyon ritkán változik, így bátran írható rájuk testre szabott forráskód (ezeket nem kell évente frissíteni).

Az évenkénti változást százalékosan nem tartalmazza a táblázat, ezt nekünk kell kiszámítani. A valós számok formázását érdemes egységesíteni, például a gazdaságilag aktívak létszámát 3 tizedesre, a változást 2 tizedesre kerekítve.

A belső adatábrázolást érdemes átgondolni. Hasznos, ha az időszakhoz tartozó három összetartozó adatot egyetlen Data POJO-ba fogjuk össze ( String period, double active és double change). Ezeket generikus listába szervezve ( ArrayList<Data> list) könnyen hozzájuk rendelhető a megye ( String county) és ezek együtt alkotják a Region POJO-t. A Region és Data kapcsolati fokszáma: 1:N. 2019-ben N=21 .

Részlet a megoldásból

A JExcel API használatához a Java projekthez hozzá kell adni a jxl.jar fájlt. A XLS fájl olvasható közvetlenül a webről is, de egyszerűbb helyi fájlrendszerbe mentett változatból dolgozni ( ./files/h2_1_2_35.xls). A megyék nevében található ékezetes karakterek miatt ügyelni kell a megfelelő karakterkódolásra ( Cp1252). A munkafüzet azonosítását követően hivatkozni kell a feldolgozandó munkalapra ( 2.1.2.35.). Az adatfeldolgozás során kihagyott régiókat (kivételeket) érdemes listába gyűjteni ( skipRegionList). A csoportváltást a két egymásba ágyazott ciklus valósítja meg. Ügyelni kell az adatok formátumának ellenőrzésére.

Eredmények

Például Somogy megyére az alábbi adatokat kapjuk eredményként (XLS formátumban, Excel-be betöltve, tipikus háttérszín kiemeléssel: szélsőértékek a C oszlopban, negatív értékek a D oszlopban):

KSH-result

További programozható feladatok

A bejegyzéshez tartozó teljes forráskódot ILIAS e-learning tananyagban tesszük elérhetővé tanfolyamaink résztvevői számára.

A feladat a Java SE szoftverfejlesztő tanfolyam tematikájához kötődik (ha az XLS fájlt a helyi fájlrendszerből érjük el), és a Java EE szoftverfejlesztő tanfolyam tematikájához kapcsolódik (ha az XLS fájl tartalmát közvetlenül a webről olvassuk).