Programista musi być wszechstronnie uzdolniony

Ilekroć zabieram się za jakieś zlecenie z czasem się okazuje, że nie jest ono aż tak proste jak się wydaje. Często „w praniu” okazuje się, że nie uwzględniłem jakiegoś znaczącego drobiazgu. Przykładowo gdy wdrażałem Program Partnerski dla firmy Ententa to Piotr poprosił mnie o stworzenie narzędzia do generowania faktur. Posiedziałem chwilkę i nabyłem nową umiejętność: generowanie plików PDF z poziomu skryptu PHP. Jednak po pewnym czasie okazało się, że niektóre faktury są błednie wygenerowane: otóż na fakturze musi być podana data wpływu środków na konto bankowe a mój skrypt wstawiał datę złożenia zamówienia. Jeśli ktoś płacił np. mTransferem to obie daty były identyczne. Ale gdy ktoś wpłacał pieniądze w okienku pocztowym to data zaksięgowania płatności była inna niż data złożenia zamówienia. Niby drobiazg, ale go nie uwzględniłem. Trudno – człowiek się uczy całe życie (zauważ, że jestem programistą a nie księgowym). Dzisiaj miałem kolejną ciekawą lekcję:

Otóż dla kogoś innego (nie chcę zapeszać więc nie podaję szczegółów) wdrażam kolejny Program Partnerski. Na początku mi się wydawało, że skopiuję pliki z PP Ententy, torszkę zmienię i będzie OK. Jednak prawda jest taka, że gdy dany PP jest „szyty na miarę” to bardzo dużo rzeczy trzeba zmieniać. Nie zmienia to faktu, że każde kolejne zlecenie czegoś mnie uczy, dzięki czemu za każdym razem wykonanie danej rzeczy zajmuje mniej czasu. Przykładowo dzisiaj pisałem moduł obliczania kosztów wysyłki. Wydaje się to banalne – mając wagę produktu wystarczy tylko z bazy odczytać cenę z danego przedziału wagowego i doliczyć VAT. Jednak właściciel przyszłego PP zażyczył sobie, aby była możliwość wysyłki towaru za granicę. Trudno ściągnąłem sobie ze strony Poczty Polskiej cennik (który jest zakręcony jak świński ogon) i zacząłem go analizować. Przykładowo: dla listów (w tym poleconych) świat jest podzielony na cztery strefy: A (europa), B, C i D. Natomiast dla paczek świat podzielono na 8 stref (strefa europejska została podzielona na 5 pod-stref). Oczywiście tego nie było napisanego w cenniku jasno na białym, musiałem go dokładnie przeanalizować, zanim się zorientowałem o co chodzi 🙂 Aby było ciekawiej – w cenniku są dwa rodzaje paczek – paczka pocztowa (do 10 kg) i paczka pocztowa plus która różni się od zwykłej tylko tym, że może ważyć do 30 kg (dwie nazwy tego samego produktu i jak na złość obie tabelki są od siebie oddalone o kilka stron). Oczywiście nie mam pretencji do Poczty Polskiej, że ma tak szczegółowy cennik usług, że można się pogubić, jednak na jego rozszyfrowanie musiałem poświęcić trochę czasu.

Podsumowując – programista oprócz umiejętności programowania musi znać się na wielu innych rzeczach – raczej niemożliwe jest napisanie dla kogoś programu (skryptu) gdy choć trochę się nie zna jego branży

Comments are closed.