FTKONF-064
Amikor a fejlesztő kollégáid lesöprik az asztalról a javaslataidat
Helyzet
„Hogyan kezeljem a fejlesztőcsapat ellenállását a QA-mérnök javaslataival szemben?” · „Addressing dev team's resistance to solutions suggested by QA engineer?” · szerző: Nakilon · CC BY-SA
Egy tesztautomatizálásra felvett QA-mérnök néhány hónapja dolgozik egy fejlesztőcsapatban. Amikor problémákat talál, és megmondja a fejlesztőknek, hogyan javítsák ki őket, azok ignorálják, sőt kifejezetten ellenségesek: az egyik kolléga kiabál vele mások előtt, és szándékosan a tanácsai ellenkezőjét csinálja; a közösen megbeszélt munkafolyamatot rendszeresen megszegi. Egy másik fejlesztő ráüvölt, hogy „ne oktassa, mert ő hét éve kódol ebben a cégben". A főnök nem reagál a jelzésekre, végül annyit mond: bármi történt, az a QA hibája, mert „nem számít, kinek van igaza, a barátság fontosabb, mint a kompetencia". A QA-mérnök csapdában érzi magát: senki sem hallgat rá, pedig (meggyőződése szerint) több tapasztalata van, mint a többieknek együttvéve.
A forrásposzt teljes szövege (magyarul és angolul)
Az eredeti Stack Exchange-kérdés hű magyar fordítása · szerző: Nakilon · The Workplace, q59702 · CC BY-SA.
Tesztmérnökként (Engineer in Test) csatlakoztam ehhez a céghez, hogy CI-t, automatizált tesztelést stb. hozzak létre. A problémám az, hogy amikor problémákat azonosítok, és megmondom a fejlesztőknek, hogyan javítsák ki őket, ignorálnak, és meglehetősen ellenségesek. Hogyan érhetem el, hogy figyeljenek arra, amit mondok? Szeretném, ha jobban tudnánk csapatként dolgozni. Jelenleg csapdában érzem magam mint „a QA-s, akit senki sem tisztel".
Néhány részlet a történtekből:
- Amikor rájöttem, hogy a webalkalmazásunkban azért van egy hiba, mert a front-endes kollégánk nem ismeri a GET és a POST közti különbséget, néhány sorban elmagyaráztam neki a problémát. Azt mondta, nem érti, ezért adtam neki egy linket a Stack Overflow-ra pontosan ugyanerről a problémáról, tucatnyi jó és átfogó válasszal; egyszerűen nem volt hajlandó elolvasni, és mindent pont a tanácsaim ellenkezőjeként kezdett csinálni. Gyakran kiabál velem, amikor más munkatársak a közelben vannak, de a főnökök nem.
Szóltam az 1-es főnöknek, hogy a kolléga nem akar együttműködni. Nem kaptam választ.
- Tartottunk egy megbeszélést az egész érintett csapattal, és megállapodtunk a branch-elnevezésben, a feladatkövetőben és a deploy-munkafolyamatban, de ugyanez a front-endes folyamatosan megszegi: hibákat telepít élesbe, és nevetséges branch-nevekkel még a GitLabot is 503-as hibába kergeti.
Újra és újra kértem az 1-es főnököt, magyarázza el neki, hogy együtt kellene működnünk. Semmi válasz.
- Amikor azt találtam, hogy a back-end kód tele van újra feltalált kerekekkel, jeleztem a back-endes kollégának, hogy a nyelve standard könyvtárában vannak magasabb rendű redukáló függvények, és azokat kellene használni a for-each-break másolgatás helyett. Rám üvöltött, felállt az asztaltól, és eszeveszetten gesztikulálva azt kiabálta, hogy „ne oktassam, mert ő már körülbelül hét éve kódol ebben a cégben", és ettől valamiért igaza van.
A 2-es főnök éppen arra járt, és jelentette az 1-es főnöknek, hogy történt valami.
Az 1-es főnök (aki még néhány hónapig távolról dolgozik) azonnal videohívást indított hozzám, és közölte: nem tudja, mi történt, és igazából nem is akarja tudni: bármi is történt, az az én hibám, és idézem: „nem számít, kinek van igaza, a barátság fontosabb, mint a kompetencia".
Azóta körülbelül egy hónap telt el; ezek a srácok továbbra sem hallgatnak rám, vacak kódot írnak, semmit sem tanulnak, és engem sincs mire tanítaniuk. Újra és újra olyan hibákkal küzdenek, amelyek meg sem történtek volna, ha figyelnek rám, amikor előre szólok. De hiába van több évnyi kódolási tapasztalatom, és hiába ismerek több programnyelvet, mint ők együttvéve: mivel csak néhány hónapja dolgozom itt, ráadásul tesztmérnöki pozícióban, az ő szemükben ez azt jelenti, hogy nem kell rám hallgatniuk.
Original Stack Exchange question · author: Nakilon · The Workplace, q59702 · CC BY-SA.
I've joined this company as a Engineer in Test to create a CI, automated testing, etc. My problem is that when I identify problems and tell the developers how to fix them, they ignore me and are quite hostile. How can I get them to listen to my input? I want us to be able to work better as a team. Right now I feel trapped as the QA guy that nobody respects.
Some details of what happened:
- When I've found that web application has an issue because our front-ender doesn't know the difference between GET and POST, I've explained him the issue in several lines. He said that he doesn't get it, so I gave him the link to SO about exactly the same issue with dozen of nice and comprehensive answers, he just refused to read it and started to do everything just the opposite to my advices. Often shouting on me while other coworkers around but not bosses.
I told my boss #1 that he doesn't want to cooperate -- got no answer.
- We had a meeting with all the team involved and came up with branch naming, task tracker and deploy workflow, but the same front-end guy is continuously violating it deploying bugs and even making the GitLab to 503 by using ridiculous branch names.
I asked boss #1 again and again to explain him that we should cooperate -- no answer.
- When I've found that back-end code has a large number of reinvented wheels, I've pointed back-ender that there are high-order reducing functions in his language stdlib and that they should be used instead of for-each-break copypasting. He yelled on me, got up from the table and insanely gesticulating shouted that I "should not teach him because he is coding in this company for ~7 years" and that for some reason makes him right.
Boss #2 was walking around and reported the boss #1 that something happened.
Immediately boss #1 (still working remotely for few more months) made a video call to me and told me that he doesn't know what happened and doesn't actually want to know -- told me that whatever happened, it is my fault and, quote: "no matter who is right, the friendship is more important than competence".
Around a month has passed since then -- all those guys still don't listen to me, write crappy code, learn nothing and have nothing to teach me. Again and again they are fighting with issues that would not happen if they listened to me when I warn them. But even if I have more years of coding experience and know more programming languages than they do in sum, since I'm working here only for few months and in position of Engineer in Test that means for them that they shouldn't listen to me.
A közösség legjobbnak ítélt válasza (21 szavazat)
Szerző: Mohair · CC BY-SA
„I think you are exceeding the scope of your position, and I'm not surprised at the reaction you get. Your job is not to tell developers how to fix things. … Remember, your job is to identify problems, not solutions. … If all you have is an opinion, then make it clear it is an opinion, not a directive."
Lényeg (magyarul): A legtöbb szavazatot kapott válasz nem a fejlesztőket menti fel, hanem a kérdező szerephatár-sértésére mutat rá: a QA dolga a probléma azonosítása (teszteléssel, elemzéssel, minél több információval), nem a megoldás előírása. Amikor a QA azt magyarázza a fejlesztőnek, hogyan írjon kódot, a fejlesztő fejében az jár: „ha ilyen jól kódolsz, miért nem te fejlesztesz?" Ha van megoldási ötleted, add át, de jelöld véleményként, ne utasításként: „szerintem…", „gyanítom, hogy…". Kiegészítő válasz (Jim, 12): a tetőfedő-analógia: attól, hogy értesz hozzá, még nem mászhatsz fel a tetőre megmondani a tetőfedőnek, hogyan dolgozzon; építsd a tesztrendszereidet, tárd fel a hibákat, és hagyd, hogy a megoldást ők válasszák meg.
Valós forrás: „Addressing dev team's resistance to solutions suggested by QA engineer?” · szerző: Nakilon · Stack Exchange / The Workplace (q59702) · CC BY-SA · magyar fordítás, anonimizálva. Az eredeti poszt →