Programmers and contact with a client

15 june 2022
Jakub Rojek Jakub Rojek
Photo by Ketut Subiyanto on Pexels (https://www.pexels.com/pl-pl/zdjecie/biznesmen-na-stojaco-usmiechajacy-sie-spotkanie-4963465/)
Categories: Industry, Management, Programming

Branża IT jest specyficzna. Brzmi to jak pusty frazes, gdyż właściwie każda branża taka jest, ale nie wokół każdej krąży tyle komentarzy, żartów i opowieści, także w środowisku laików. Częściowo wynika to z eksplozji wysokiej technologii i oprogramowania, które jest (lub może być) obecne właściwie w każdym aspekcie naszego życia, a wiadomo, że jeśli coś jest popularne, to nie zawsze spotyka się z pozytywnym odbiorem. Ale nie da się ukryć, że w pewien sposób wpłynęło na to też postrzeganie i stereotypy dotyczące samych informatyków - przez lata utrwalał się wizerunek "magika od komputerów" w okularach grubości denka butelki, w flanelowej koszuli wetkniętej w spodnie i żyjącego w swoim świecie. Niektórzy powiedzą, że to krzywdzący stereotyp, inni że pewne cechy to obserwacja rzeczywistości, ale wielu po prostu to bawi. Warto pamiętać, że obecnie to wyobrażenie nie odpowiada realiom.

Sektor informatyczny, a szczególnie programistyczny, już dawno wyszedł z "piwnicy" lub (jeśli mieszkalibyśmy w Stanach Zjednoczonych) garażu - obecnie to wielkie biznesy, wieloosobowe zespoły, w których obsadzone jest mnóstwo ról, a specjaliści w równym stopniu są nadal "magikami", co też mentorami, wpływowymi ludźmi w społeczeństwie, a niektórzy nawet blogerami. Natomiast w tych czasach widać jeszcze wyraźniej jedną rzecz - aplikacje muszą nadążyć za światem rzeczywistym i odpowiadać potrzebom klientów, którzy coraz więcej oczekują od IT. Poznać te wymagania można tylko i wyłącznie poprzez kontakt z danym środowiskiem, co oznacza między innymi spotkania i rozmowy z klientem lub potencjalnymi użytkownikami.

Wcześniej wspomnieliśmy sobie o tym, że zespoły składają się nie tylko z ekspertów IT i wśród tej gromady są też osoby, których główną profesją są rozmowy biznesowo-techniczne z klientem. Powstaje zatem pytanie, którego obawia się wielu (szczególnie młodych) programistów - czy oni także muszą regularnie rozmawiać z klientami i na przykład osobiście tłumaczyć ich zdaniem oczywiste rzeczy?

Odpowiedź, jak często bywa, brzmi: to zależy. Faktem jest, że w większości software house'ów programiści zazwyczaj są "odgrodzeni" od klienta dzięki kierownikom projektu, analitykom i innym osobom, których zadaniem jest przygotować wszystko tak, aby "informatyczni czarodzieje" mogli skupić się na swoich zadaniach. To dobra informacja dla osób, które nie czują się zbyt dobrze na takich spotkaniach i podczas rozmów o technikaliach z osobami spoza branży. Natomiast są momenty, w których developer zostaje wyrwany sprzed ekranu i wytypowany do rozmowy z klientem.

Po pierwsze i, co oczywiste, gdy dany programista jest jedyną osobą w firmie, czyli krótko mówiąc - prowadzi działalność gospodarczą jako freelancer. W takim układzie nie ma wyjścia - taka osoba musi nie tylko wykonywać działania techniczne, ale też pozyskiwać oraz obsługiwać klientów, na co poświęca być może nawet większość czasu. Freelancing zdecydowanie nie jest dla osób, które chcą po prostu zajmować się swoją profesją, gdyż nieuniknione jest tutaj częste wykorzystywanie odpowiedniej wiedzy i umiejętności miękkich pozwalających przygotować sobie grunt do zadań technicznych.

Po drugie, programiści i inżynierowie oprogramowania wyższego szczebla (w tym CTO, główni architekci itd.) siłą rzeczy częściej muszą uczestniczyć w takich spotkaniach. Ponieważ to oni odpowiadają później za techniczne prowadzenie danego projektu i ustalenie głównego kierunku prac, to zazwyczaj powinni zdobywać potrzebne informacje u samego źródła. Co więcej, dla klienta stanowią dowód, że dana firma rzeczywiście ma inżynierów znających się na rzeczy i sama obecność eksperta często pomaga osobom prowadzącym spotkanie.

Po trzecie, programiści zwykle sa potrzebni przy świadczeniu wsparcia technicznego. Jest to rozwiązywane różnie w zależności od firmy - większe jednostki mają osobny dział wsparcia, będący pierwszą linią kontaktu, natomiast w mniejszych ta odpowiedzialność przechodzi na kierownika projektu lub głównego programistę danej aplikacji. To, czego szczególnie tutaj obawiają się osoby techniczne, to konieczności rozmów telefonicznych, co - niestety - czasem bywa potrzebne oraz po prostu przydatne przy szybkich wyjaśnieniach. Natomiast tutaj dobrą informacją jest fakt, że możliwości zorganizowania form kontaktu jest dużo więcej i można wybrać taką, która będzie najbardziej odpowiednia w danym przypadku. Polecamy Feedybacky, który - co prawda - nie uchroni programistów przed odpowiadaniem na niekiedy proste pytania, ale zapewni warstwę pośredniczącą, w dodatku dostarczającą wiele potrzebnych informacji oraz, przy odpowiedniej konfiguracji, ukrywającej personalia programistów przed "drugą stroną".

Po czwarte, należy wspomnieć o połączeniu sytuacji omówionych w punkcie trzecim i czwartym - bywa tak, że klient nie rozumie pewnego aspektu (do czego ma prawo), a osoba zarządzająca, która z nim rozmawia, nie do końca umie wyjaśnić wątpliwość lub nie chce zawinić jako "głuchy telefon". W takim wypadku strony zazwyczaj umawiają się na spotkanie, w którym osoba zarządzająca jest moderatorem, natomiast pierwsze skrzypce gra programista znający i wyjaśniający temat. Podobnie bywa w przypadku szkoleń, jednak tutaj faktycznie wyznaczany powinien być do tego specjalista o najlepszych zdolnościach dydaktycznych i smykałce do prezentowania tematu w naturalny sposób.

Podsumowując, programiści rzeczywiście często są odciążani z konieczności (mimo że często przyjemności) kontaktu z klientem, ale niekiedy nie ma wyjścia i trzeba doprowadzić do zetknięcia się świata IT z "rzeczywistością". Nie należy się jednak tego obawiać - osoba techniczna również może wynieść bardzo dużo z takiego spotkania i poznać inną perspektywę, co na pewno będzie korzystne dla dalszego rozwoju. Nie bez powodu w ostatnich latach coraz więcej mówi się o umiejętnościach miękkich i organizuje szkolenia na ten temat. I to nie tylko z uwagi na dodatkowe środki z tytułu takich warsztatów - umiejętność komunikacji naprawdę pomaga w IT, które w dużej mierze opiera się o pracę zespołową.

Pozdrawiam i dziękuję - Jakub Rojek.

We like to write, even a lot, but on a daily basis we develop web and mobile applications. Check some of the programs we have made.

About author

Jakub Rojek

Lead programmer and co-owner of Wilda Software, with many years of experience in software creation and development, but also in writing texts for various blogs. A trained analyst and IT systems architect. At the same time he is a graduate of Poznan University of Technology and teaches at this university. In his free time, he enjoys playing video games (mainly card games), reading books, watching american football and e-sport, discovering heavier music, and pointing out other people's language mistakes.

Jakub Rojek