Cóż to znaczy, że jestem programistą? Czym zajmuje się programista? Czy firmie jest potrzebny programista? To kilka pytań, na które chciałbym odpowiedzieć w tym artykule.
Programista, to osoba która zajmuje się tworzeniem oprogramowania. A cóż to znaczy? Ano… nic innego jak przełożenie pomysłu na język zrozumiały dla komputera. Przykład? Proszę bardzo. Użytkownik chciał by program magazynowy po osiągnięciu przez jakiś asortyment stanów minimalnych, automatycznie zamawiał dostawy o kooperantów. Prawdopodobnie istnieją na rynku programy, które potrafią to zrobić, ale aby można było je kupić, potrzebny był programista, który odpowiednio zaprojektował zasady zachowania komputera zwane algorytmem.
Pomysłów na funkcjonowanie komputera jest tyle ilu ludzi ich użytkujących a nawet więcej. Każdy bowiem chciałby aby komputer zachowywał się tak, jak sam sobie upodobał. Niektóre funkcje i możliwości, użytkownik może uruchomić samemu używając np. wbudowanego w pakiet office języka Basic, ale bardziej skomplikowane i wyrafinowane techniki najczęściej są mu obce i wymagają udziału osoby , która będzie potrafiła to zrobić. Potrzebny będzie programista.
Programista kontaktuje się z klientem – tzn. z Tobą, uzgadnia efekt jaki ma zostać osiągnięty a później go realizuje. Często użytkownicy – potencjalni klienci programisty boją się etapu uzgodnień. Boją się, że nie zostaną dobrze zrozumiani w efekcie czego pozostaną produktem, który nie będzie spełniał ich oczekiwań. Dobry programista nie przystąpi do pracy, jeżeli nie będzie dobrze rozumiał o jaki efekt końcowy chodzi. Dobry programista nie zostawi też klienta na lodzie po skończonej pracy i nie przestanie odbierać telefonów. Dobry programista, jak dobry biznesmen rozumie, że relacje z klientami buduje się długo i na lata a współpraca może i powinna być obopólną korzyścią. Zadowolony klient bowiem, to klient który wróci po więcej, bo efekty pracy programisty pozwalają wykonać pracę klienta bardziej sprawnie niż dotychczas.
Klientów dużo, a dobry programista – jak rodzynek – zdarza się rzadko. Niestety, przekłada się to też na to, że często znaleziony programista mieszka i działa innym mieście niż klient. Często moi potencjalni klienci martwią się, że bez kontaktu osobistego trudno o dobrą współpracę z programistą a o kontakt osobisty trudno gdy dzielą nas setki kilometrów. Chciałbym Państwa uspokoić. Dobry programista to nie mol komputerowy, który nie wychyla nosa z domu lub biura. Programista chętnie podróżuje i spotyka się z klientami a w sytuacjach gdy z różnych względów podróż nie jest możliwa (kwestie kosztów, czasu czy innych) istnieje wiele innych sposobów kontaktu, nie gorszych niż spotkanie twarzą w twarz. Do najczęstszych, stosowanych przeze mnie należą rozmowy telefoniczne, telekonferencje, gdzie klient i programista mogą zajrzeć sobie w oczy. Zdarzało mi się również prowadzić telekonferencje z wykorzystaniem tablic na których można było rysować jak ołówkiem na kartce. Zdarzało mi się prowadzić telekonferencję z wykorzystaniem kamer, które demonstrowały rozmówcy wykorzystanie elementów systemów.
Dobry programista, to osoba otwarta na kontakt z drugim człowiekiem oraz na wiedzę, więc nie będzie zanadto skomplikowanym dojście do porozumienia. Najczęściej warto rozpocząć od telefonu czy zapytanie pocztą elektroniczną. To niewiele kosztuje a daje szansę przekonania się, czy współpraca i kontakt ma szansę dobrze się ułożyć. Reszta już pójdzie sama.
Zacząłem przez chwilę pisać o tym, że dobry programista nie zostawi klienta na lodzie, jeżeli coś pójdzie nie tak, albo w wyniku zmian na rynku klient będzie potrzebował zmian w stworzonym przez programistę oprogramowaniu. Programista wiele czasu spędza nie koniecznie na pisaniu nowych linijek kodu komputerowego, ale na poprawianiu i udoskonalaniu istniejących. Programista to też człowiek i jeżeli program składa się z choćby dwudziestu tysięcy linijek kodu, nie ma szans, aby każdą z nich napisać idealnie bezbłędnie. Dobry programista wyszukuje błędy w oprogramowaniu i je usuwa. Mówi się że testuje u debuguje program. Debugowanie jest jednym z ważniejszych etapów pracy programisty i żaden programista nie rezygnuje z tej części, bo inaczej jego dzieło miało by większe szanse na zmarnowanie niż na skuteczne działanie u klienta. Dobry programista tym się różni od kiepskiego, że ten dobry więcej czasu spędzi na konsultacjach z klientem i ulepszaniu swojej pracy niż ten kiepski.
Czasami współpraca między stronami układa się na tyle dobrze i program jest tak świetny, że klient i programista podejmują decyzję o rozwoju i komercjalizacji oprogramowania. W takiej sytuacji programista staje się deweloperem oprogramowania i rozwija je pragnąc zadowolić większe grono użytkowników. Naturalnie, nie robi tego charytatywnie. Robi to po to, aby zarobić. Idealnie jest wtedy, gdy tej pracy i współpracy przyświeca angielska zasada win-win (wygrany – wygrany), w której obie strony uznają się za zadowolone i wygrane i chcą dalszej współpracy.
Ja jestem dobrym programistą. Świadczą o tym chociażby ukończone projekty, grono zadowolonych klientów oraz programy, które weszły w fazę komercjalizacji. Mojej współpracy z klientami przyświeca zasada obopólnego zadowolenia i korzyści. Moje aplikacje przynoszą moim klientom godne pozazdroszczenia pieniądze a w efekcie tego uśmiech na twarzy. Zapraszam do mnie. Dołącz do grona moich zadowolonych klientów.