Co powinniśmy wiedzieć o programowaniu jeśli chcemy nauczyć się któregoś z języków kodowania? O to zapytaliśmy samych developerów, którzy opowiedzieli, czego przeciętny internauta nie wie o programowaniu i co może go zaskoczyć. Dowiedz się, czego każdy programista powinien unikać i o czym pamiętać w pracy.
Zdjęcie royalty free z Fotolia
1. Zero litości dla literówek
– Języki programowania nie znają litości w zakresie literówek – przekonuje Grzegorz Kiersznowski, IT Manager w agencji interaktywnej Autentika. Mówi, że podczas tworzenia kodu postawienie przecinka w złym miejscu lub brak zakończenia linii odpowiednim znakiem (np. średnikiem) może prowadzić do tego, że zobaczymy stertę błędów lub białą stronę. Jeden omyłkowo postawiony w niewłaściwym miejscu znak potrafi też zmienić tok wydarzeń w aplikacji. Dlatego trzeba mocno pilnować się, by nie popełnić błędu, który może kosztować nas godziny analizy. Na szczęście nowoczesne edytory pilnują i wspomagają wychwytywać te problemy.
2. Najwięcej czasu na testy
Wbrew pozorom, jak mówi Grzegorz Kiersznowski, najwięcej czasu programiście nie zajmuje pisanie kodu. Pochłaniaczem czasu, a tym samym głównym zajęciem programisty po napisaniu kodu jest jego testowanie, sprawdzanie i rozpatrywanie różnych przypadków, które mogą zaistnieć w serwisie i sprawdzenie, jak na nie zareaguje. – Niektórzy mówią, że ma tu zastosowanie zasada Pareto, czyli 20% programowania, 80% debugowania. Moim zdaniem mocno się nie mylą – dodaje Kiersznowski.
3. Serwisy nie powstają ”od zera”
Większość serwisów internetowych opartych jest o systemy CMS (czyt. systemy zarządzania treścią), które programiści dopasowują pod założenia projektu. Dzięki temu nie muszą od początku tworzyć strony i oszczędzają swój czas i pieniądze firmy. Najczęściej używanym językiem budowy serwisów internetowych jest PHP. Dlatego warto wziąć ten aspekt pod uwagę, wybierając język programowania, którego chcemy się nauczyć.
4. Rzadko działa sam
Nad serwisami internetowymi pracuje coraz więcej osób. Przez lata rozwoju technologii i języków programowania, powstało kilka specjalistycznych stanowisk, bez których trudno stworzyć ciekawy program czy serwis internetowy. W wielu zespołach, oprócz głównego developera, możemy spotkać frontend developera, który tworzy HTML/CSS, czyli warstwę widoczną dla użytkownika. W takim układzie programista zajmuje się jej wdrożeniem do serwisu.
5. Równie ważne umiejętności miękkie
– Dla mnie zaskoczeniem było rozwinięcie umiejętności miękkich, o czym rzadko można przeczytać w ogłoszeniach o pracę – mówi Jarek Rencz, programista z pięcioletnim doświadczeniem. Typowe ogłoszenia, które czytał zawierały sporo haseł branżowych: nazw frameworków, narzędzi, czasem typowych buzzwordów jak „HTML5”. – Bardzo rzadko w ogłoszeniach jest chociaż wzmianka o tym, że osoba, której pracodawca oczekuje powinna potrafić sprawnie się wysłowić, opanować chęć krytykowania ludzi zamiast krytykowania rozwiązań itp. – dodaje.
6. Pisanie od nowa
Refaktoryzacja – tak nazywa się nieustanny proces wykorzystywany przez wielu programistów, a który właściwie może nie mieć końca. Polega na przepisaniu istniejącego kodu na nowo, tak by wykonywał te same czynności, ale miał prostszą strukturę i był lepiej zorganizowany. – Często motywacją jest pozbycie się elementów, które ciągle wiszą w kodzie i przeszkadzają lub po jakimś czasie przestają być potrzebne – mówi Grzegorz Kiersznowski.
7. Pozornie proste zadania
Z pozoru nieskomplikowany serwis, w tle może wykorzystywać wiele technologii na raz. Coraz więcej poleceń w serwisach czy aplikacjach wykonuje dedykowane oprogramowanie działające po stronie serwera. Przykładowo, operację utworzenia faktury można wykonać przy użyciu samego kodu PHP, który sprowadzi ją do postaci PDF. Rozwiązanie to jest zasobożerne, dlatego często wykorzystuje się do tego aplikację działającą po stronie serwera wyspecjalizowaną w konwersji HTML do PDF.
8. Potrzeba wyzwań
Marcin Complak, programista z 15-sto letnim doświadczeniem, poproszony o wskazanie ciekawostek na temat swojej pracy wymienia potrzebę wyzwań. – Im trudniejsze zadanie, tym lepiej się pracuje – mówi. Nie potrafi dokładnie wyjaśnić dlaczego tak się dzieje, ale zauważył że wyzwania bardziej pobudzają do działania, a zagwozdki powodują, że jeszcze chętniej siada za biurkiem. W końcu programista jest od rozwiązywania problemów.
9. Komplikacja pracy
Kontynuując poprzedni punkt, programistę często zaskakuje czasem prostota rozwiązania zagadki. Complak nie raz spotkał się z sytuacją, w której nie mógł rozwiązać jakiego problemu przez dłuższy czas. Wtedy zazwyczaj na chwilę ”poddaje się” i myślenie nad zagwozdką zostawia na noc. – Zdarza się, że budzę się z rozwiązaniem, albo kilka chwil po przyjściu rano do komputera robię “facepalm” i śmieję się jakie wyzwanie jest proste i zastanawiam się, dlaczego wcześniej nie wpadłem na nie – dodaje.
10. Jeden przycisk, tysiące linii kodu
– Funkcje serwisu, które często wyglądają na bardzo proste, bo np. ograniczają się do jednego przycisku, potrafią być złożone z setek, czasem tysięcy linii kodu – mówi Kiersznowski, IT Manager od czterech lat. Podaje przykład przycisku “Zamów kuriera”, który mimo że po kliknięciu wyświetla tylko komunikat “Kurier zamówiony”, w tle może wykonywać szereg obliczeń związanych z komunikacją między serwisem, a firmą kurierską, generowaniem listu przewozowego, faktury itp.