Programiści czasami mają ciężko…

Amatorsko sobie programuję. Ostatnio głównie w C#, kiedyś też w Object Pascalu, tj. w Delphi, ale nie ma licencji Personal, a za Startera jakoś szkoda mi wywalać gotówki. Mam też znajomych o podobnych zainteresowaniach. Nie jestem programistą ani z wykształcenia, ani nie pracuję w firmie programistycznej, a nawet na stanowisku programisty. Po prostu lubię czasami coś skrobnąć i poszerzać wiedzę w wolnych chwilach. Na bazie przemyśleń mogę śmiało stwierdzić, że programiści niekiedy mają ciężko. Zwłaszcza działając w firmach nie mających nic wspólnego z programowaniem. Dlaczego?

Ponieważ nikt nie zdaje sobie sprawy ile trwa wykonanie danego projektu – dużej grupie osób spoza środowiska wydaje się, że programista pstryka palcami i wyskakuje system operacyjny. Ja dziś spędziłem dobre kilka godzin nad możliwie idioto-odpornym mechanizmem tworzenia (jeśli pierwszy start programu) lub otwierania (jeśli już istnieje) bazy danych w C# z SQLite. Założyłem wszelkie możliwe przypadki, łącznie z próbami kasowania pliku z bazą w trakcie pracy programu. Otwieranie pliku – wydaje się to takie trywialne, ale w praniu okazuje się, że jednak trzeba się zabezpieczyć przed choćby uszkodzonym plikiem, pustym plikiem. I to nie wywalając głupi komunikat, tylko załatwiając sprawę tak, żeby plik poprawić/podmienić/wypełnić danymi – żeby nic nie było widać (o ile to tylko możliwe).

Teraz wyciągnąłem gruby zeszyt A4 i rozpisuję schemat bazy, podział na tabele, co w tabelach ma się znaleźć, czyli całe projektowanie struktury, żeby po pierwsze: zrobić to raz a dobrze, a po drugie żeby nagle w trakcie nie okazało się, że przez jeden zły pomysł przy projektowaniu ograniczyłem sobie jakieś możliwości rozbudowy w przyszłości. Czeka mnie projektowanie UI, częściowo już gotowe. To są godziny żmudnej analizy tematu i rozważania wszelkich możliwości. Nawet tak głupie sprawy jak działanie tabulacji na formatce, żeby przeskakiwało między konkretnymi polami formularza, w określonej, wygodnej dla użytkownika kolejności, a inne pomijało – to też zajmuje! Dobrze, że nikt mnie nie pogania i robię to po godzinach, bo jakby mi ktoś miał zza pleców wyskoczyć z tekstem „no jak tam? jeszcze nie gotowe?” to bym chyba rozszarpał.

Napisanie rozbudowanego programu lub przygotowanie rozbudowanego projektu musi siłą rzeczy zajmować. Jeśli przykładowo dałoby się łatwo napisać drugiego Photoshopa, to Adobe nie brałoby za niego tyle kasy. Bierze, bo wie, że to nie jest łatwe, jak i napisanie wielu innych programów. Niestety nie każdy zdaje sobie z tego sprawę i wydaje mu się, że jak ma w drużynie kogoś znającego się na programowaniu, to ten ktoś w moment napisze soft, za który inni płacą ciężkie pieniądze. Ot wizja oszczędności.

Gdy jakiś programista znajdzie się w takiej sytuacji (tj. ma zrobić coś, co inni sprzedają w necie za grubą kasę, najlepiej w tydzień-dwa) – ma przerąbane. To się nazywa: brak rozeznania rynkowego po stronie zlecającego. Najlepiej w takie sytuacje nie wchodzić. Aczkolwiek nie zawsze łatwo ocenić ile pracy i czasu na dany temat będzie potrzebne. Przykład z Photoshopem dałem celowo przerysowany. Są takie projekty, których rozwój trudno przewidzieć. Wtedy jest jazda 😉

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.