1.6 Csapatmunka

← 1. Munkahelyi soft skills fejlesztőknek

1.6 Csapatmunka és konfliktuskezelés junior szemszögből

Áttekintő

Junior fejlesztőként az egyik legnehezebb helyzet nem az, amikor nem tudod a választ egy technikai kérdésre – hanem amikor nem értesz egyet valamivel, de nem tudod, hogyan kezeld. Konfliktus nem csak „veszekedést" jelent: egy eltérő vélemény, egy ellopott ötlet érzése, vagy egy döntés, amellyel nem azonosulasz – ezek mind konfliktusszituációk. Ez az alfejezet arról szól, hogyan navigálj ezeken junior fejlesztőként úgy, hogy ne te legyél a vesztes, de ne is égesd el a kapcsolataidat.


Részletes leírás

Disagree and commit – az egyik legfontosabb munkahelyi elv

Képzeld el: a senior fejlesztő azt javasolja, hogy a cache-t Redis helyett memóriában tároljátok. Te tudod, hogy ez skálázási problémákat fog okozni. Mondod is. Ő meghallgat, de fenntartja a döntését.

Mit csinálsz?

A legtöbb junior két hibát követ el:

  1. Passzív elfogadás: Bólint, de belsőleg ellenáll, és nem dolgozik lelkesen a feladaton.
  2. Túlzott ragaszkodás: Ismételten felhoz ugyanolyan érveket, „én megmondtam" alapon, esetleg másokat is bevonja.

A helyes válasz: Disagree and commit.

Ez azt jelenti:

  • Elmondod az aggályaidat (egyszer, érthetően, érvekkel)
  • Ha a döntés marad, elfogadod és teljes energiával végrehajtod
  • Nem szájbarágod azt, hogy „látod, megmondtam volt", ha bejön a probléma

Miért fontos ez?

Mert a csapat csak akkor tud gyorsan haladni, ha a döntések után mindenki ugyanabba az irányba húz. A vélemény elmondása a te jogod és kötelességed. A döntés végrehajtása – ha meghozták – szintén a te kötelességed.

Fontos árnyalat: Ez nem jelenti azt, hogy minden esetben fel kell adnod. Ha a döntés etikailag problémás, jogszerűtlen, vagy komoly biztonsági kockázatot jelent – akkor más eszközök kellenek (jelzés a teamleadnek, HR-nek). A „disagree and commit" technikaigazságokra, nem erkölcsi kérdésekre vonatkozik.


Hogyan mondj el egy eltérő véleményt

A nyers „szerintem ez rossz" nem fog jól fogadni. Van egy jobb sablon:

1. Kérdezd meg, nem állítsd

Nem: „Ez nem fog működni, mert..."
Hanem: „Átgondoltam a megközelítést. Felmerül bennem a kérdés: mi történik, ha X szituáció adódik?"

Ez nem álszent diplomácia – ez tényleg jobb kommunikáció. A kérdő forma megnyitja a párbeszédet ahelyett, hogy lezárná.

2. Konkrét kockázatot mutass, ne általános véleményt

Nem: „Szerintem a memória-alapú cache nem jó ötlet."
Hanem: „Ha két szerver fut párhuzamosan, az in-memory cache nem lesz szinkronban köztük. Ez azt jelentheti, hogy felhasználók különböző adatot látnak. Megoldható ez a jelenlegi architektúrában?"

3. Adj egy alternatívát, ha van

„Én Redis-t használnék erre, mert az megosztott az instancek között. Persze ez plusz infrastruktúra, szóval értem, ha ezt most nem akarjuk bevállalni."

4. Fogadd el a döntést, ha nem változott

Egy mondattal jelezd: „Rendben, megértem az okait. Akkor csinálom a memória-alapú megoldást." – és dolgozz rajta úgy, mintha a te ötleted lett volna.


Mi van, ha az ötletedet valaki „elveszi"?

Ez az egyik leggyakoribb junior frustráció. Javasolsz valamit egy megbeszélésen, nem reagálnak – aztán egy senior ugyanezt mondja el két nappal később, és mindenki lelkesedik.

Először vizsgáld meg, mi történhetett ténylegesen:

  • Tényleg ellopták? (Szándékosan ritkább, mint hinnéd)
  • Nem hallották / nem értették meg, amit mondtál?
  • A senior más kontextussal, más hangerővel mondta ugyanazt?

Ha tényleg az a benyomásod, hogy nem kapott figyelmet az ötleted:

Írd le a következő alkalomra. Képesítsd magad: „Múlt héten megemlítettem, hogy…" – ezt nem arroganciaként, hanem pozicionálásként értsd. Nem azért, hogy másokat megégess, hanem hogy a neved összekapcsolódjon a gondolattal.

Ha valaki tényleg, szándékosan veszi el az ötletedet:

Ez már interperszonális konfliktus, és nehezebb. Az első lépés: négyszemközt, nem nyilvánosan. „Észrevettem, hogy a megbeszélésen az X javaslatot te adtad elő – ezt mi alapján csináltad? Szerettem volna én prezentálni." – Calm, kíváncsi, nem vádaskodó.


Technikai vita vs. személyes konfliktus – ismerj rá a különbségre

Technikai vitaSzemélyes konfliktus
„Szerintem a REST helyett GraphQL lenne jobb ide"„Mindig ignorálnak a meetingeken"
„Ez a kód nehezen olvasható"„Úgy érzem, nem bíznak bennem"
„Ez a megközelítés lassabb lesz"„Ez a kolléga nem tisztel engem"

Technikai vitákat tény alapján döntsd el. Legyen benchmark, legyen dokumentáció, legyen proof of concept – de ne érzelmek.

Személyes konfliktusokat ne hagyd felgyűlni. Ha valami rendszeres baj (pl. állandóan közbevágnak, nem kapod meg az infót amire szükséged van, valaki következetesen negligál), ezt jelezni kell – de privátban, közvetlenül az illetőnek, vagy ha az nem működik, a teamleadnek.


Mikor szólj, mikor engedj?

Ez az egyik legnehezebb munkahelyi döntés junior fejlesztőként. Íme egy egyszerű szűrő:

Szólj, ha:

  • Olyan kockázatot látsz, amelyet valószínűleg nem láttak
  • A kérdés biztonsági vagy adatvédelmi vonatkozású
  • Van konkrét, tényeken alapuló érvd (nem csak érzés)
  • Az egész csapatot érinti hosszú távon

Engedj, ha:

  • Nem racionális érveid vannak, csak preferenciád
  • Már meghozták a döntést, és megismétled az érveket
  • A kérdés ízlés/stílus (pl. naming konvenció), nem helyes/helytelen
  • Kipróbálhatjuk, visszavonhatjuk – nincs nagy tét

Általános ökölszabály junior fejlesztőknek:

Az első 3–6 hónapban hallgass és tanulj többet, mint amennyit javasolsz. Ez nem meghunyászkodás – ez tapasztalatgyűjtés. Ahogy egyre jobban ismered a codebase-t, a csapatot és a kontextust, úgy lesz egyre nagyobb súlya a szavaidnak.


Hogyan működj együtt, ha nem kedveled az egyik kollégád?

Nem kell minden munkatársadat szeretni. Ezt fontos idejében elfogadni.

Amit meg kell tartanod:

  • Szakmai tisztelet (nem személyes szimpátia)
  • Elvárásoknak megfelelő kommunikáció (válasz a kérdéseire, info átadása)
  • Feladatok elvégzése a közös projekten

Amit nem kell megtenned:

  • Barátkozni olyannal, akivel nem akarsz
  • Elnyomni a véleményedet csak azért, mert nem kedveled egymást (ez pont a szubjektív ellentéte: itt is add elő az érveidet)

Ha valaki szakmailag nehéz (pl. soha nem reagál Slacken, blokkol téged), ez csapatszintű probléma, és jelzés a teamleadnek a megfelelő megközelítés.


Életszerű példák

Példa 1: A döntés, amivel nem értesz egyet

Szituáció: A csapat úgy dönt, hogy nem írnak unit teszteket az adott featurehez, mert nincs rá idő. Te úgy gondolod, hogy ez kockázatos.

Rossz reakció: Elmondod az aggályaidat, a lead nem változtat a döntésen, te pedig hangosan morgolódsz a többi junior előtt, és a PR-odban nem írsz teszteket, de kommentben megjegyzed: „tesztelés kihagyva – nem az én döntésem volt."

Jó reakció: Elmondod az aggályaidat egyszer, érthetően. Ha marad a döntés: „Rendben. Ha a következő iterációban időnk van, javasoltam, hogy akkor pótoljuk." – Ezzel elülteted a magot visszatérésre, de nem blokkolod a munkát.


Példa 2: Az ellopott ötlet

Szituáció: Standupban javaslod, hogy a hibás API kéréseket naplózzuk egy külön táblába. Senki nem reagál. Két nappal később a senior ugyanezt javasolja, mindenki lelkesedik, és jóváhagyják.

Rossz reakció: Nyilvánosan szólsz: „Én ezt már két napja javasoltam." Ezzel mindenki kényelmetlenül érzi magát, és úgy tűnik, mintha elismerést vadásznál.

Jó reakció: Privátban odamész a seniorhoz: „Örülök, hogy a napló-ötlet tetszik – én is ugyanerre gondoltam pár napja. Esetleg én is dolgozhatnék rajta?" – Ez profiling (bekapcsolódsz), nem vádaskodás.


Példa 3: Véleménykülönbség code review-ban

Szituáció: Senior kolléga kommentel a PR-odra: „Ez a megközelítés rossz, csinálj inkább XY-t." – Nem értesz egyet, és szerinted a te megoldásod jobb bizonyos esetekben.

Rossz reakció: Visszakommenteled: „Szerintem az enyém is jó." – és ott marad ez a párbeszéd, megoldás nélkül.

Jó reakció: „Megértem a szempontod. Az én megközelítésem esetén a következő előnye van: [...]. Ha XY az elvárás a csapatban, változtatok – de ha nincs explicit iránymutatás, megkérdezném, mi a preferált mód." – Ez kérdés, nem vitaindítás.


Tesztfeladatok

1. feladat – Fogalom értelmezése

Mit jelent a „disagree and commit" elv a gyakorlatban?

a) Ha nem értesz egyet valamivel, csöndben tiltakozz
b) Mondd el az aggályaidat, majd fogadd el és hajtsd végre a meghozott döntést teljes elköteleződéssel
c) Ha döntöttek, nem szólhatsz hozzá többet soha
d) Csak akkor commit, ha te is döntötted

(Helyes válasz: b)


2. feladat – Szituáció azonosítása

Egy megbeszélésen te javasoltál egy megközelítést, de a senior egy másikat választott. Mit teszel?

a) Elmondod az összes aggályodat még egyszer, erőteljesebben
b) Elvégzed a feladatot a senior megközelítésével, de PR-ban megjegyzed, hogy te mást preferálnál
c) Elfogadod a döntést, elvégzed a feladatot lelkiismeretesen, és ha van jövőbeli javítási lehetőség, azt akkor hozod fel
d) Nem szólsz semmit, de lassan dolgozol a feladaton, hogy bizonyítsd, milyen rossz volt a döntés

(Helyes válasz: c)


3. feladat – Technikai vita vs. személyes konfliktus

Sorold be az alábbi szituációkat a megfelelő kategóriába:

SzituációKategória
„A senior mindig közbevág, ha én szólok a megbeszélésen"?
„Szerintem az ORM lekérdezés lassabb lesz, mint a raw SQL ebben az esetben"?
„Úgy érzem, a csapatban nem veszik komolyan a kérdéseimet"?
„A feature branch névkonvenció eltér attól, amit a csapat korábban használt"?

(Technikai vita: 2. és 4. | Személyes konfliktus: 1. és 3.)


4. feladat – Válasz megfogalmazása

Egy senior ezt kommenteli a PR-odra: „Ez teljesen helytelen megközelítés. Írd át."

Fogalmazz meg egy rövid, professzionális választ, amely:

  • Nem sértődős
  • Megkérdezi az okát
  • Nyitott a változtatásra, de nem ad fel kontextus nélkül

(Mintaválasz: „Köszönöm a visszajelzést. Segítenél megérteni, mi a konkrét aggályod a jelenlegi megközelítéssel? Szívesen átírom, ha látom, melyik részét tartod problémásnak.")


5. feladat – Igaz vagy hamis

Jelöld meg, melyik állítás igaz és melyik hamis.

ÁllításIgaz / Hamis
Junior fejlesztőként ne mondj soha ellent a seniornak?
A vélemény elmondása és a döntés elfogadása nem zárják ki egymást?
Ha valaki ellopja az ötletedet, publikusan kell konfrontálni?
Az első 3-6 hónapban több figyelmet kell fordítani a tanulásra, mint a javaslattételre?
A technikai viták akkor a legjobb esetben, ha tény-alapon dönti el a csapat?

(Hamis / Igaz / Hamis / Igaz / Igaz)


6. feladat – Szituációs döntés

Egy junior fejlesztő vagy. Az egyik kolléga rendszeresen nem adja át neked a szükséges technikai infókat – ez lassítja a munkádat. Mit teszel?

a) Megvárod, hátha magától javul
b) Nyilvánosan a csapat Slack-csatornájában panaszolod el
c) Privátban szólsz neki közvetlenül: „Észreveszem, hogy nem kapom meg időben az X infót – segítenél megoldani ezt?"
d) Azonnal a teamleadhez fordulsz

(Helyes válasz: c – ha nem működik, utána d)


7. feladat – Mikor szólj, mikor engedj?

Az alábbi szituációkban döntsd el: szólj-e, vagy engedj?

SzituációSzólj / Engedj
A csapat dönt a változónevekről, te más stílust preferálsz, de a kód működik?
Egy API endpoint nem validálja az inputot, ami SQL injection kockázatot jelent?
Már kétszer elmondtad a véleményedet egy döntésről, de a lead nem változtatott?
Biztosan tudod, hogy az adott cache-stratégia race condition-t okoz, de senki más nem hozta fel?

(Engedj / Szólj / Engedj / Szólj)

Scroll to Top