5 predyspozycji do zostania programistą

Wiele osób chcących zacząć przygodę z programowaniem myśli czasami: “Programowanie nie jest dla mnie, nie jestem dobry z matematyki, ani nie interesuję się tym od dziecka”. Jak dużo jest w tym prawdy?  Czy rzeczywiście by programować, trzeba być urodzonym inżynierem? A może w ogóle nie trzeba myśleć jak ścisłowiec i wystarczą tylko chęci i zapał do nauki?  Poniżej przedstawię wam 5, moim zdaniem najważniejszych, predyspozycji i umiejętności do zostania programistą.

1. Umiejętność analitycznego myślenia

Zacznijmy od umiejętności, która dla mnie jest absolutnym must have’em, a mowa o umiejętności analitycznego myślenia. Pod tym zwrotem nie kryje się wbrew pozorom znajomość matematyki ponad poziom szkoły podstawowej. Możecie się zdziwić, ale większość programistów wcale nie wykorzystuje w swojej pracy zaawansowanej matematyki. Wyjątkami są ci programujący gry komputerowe, grafikę 3D lub programy dokonujące jakichś skomplikowanych obliczeń. 

Zatem do czego przydaje się ta umiejętność? Otóż Jako programiści dostajemy zadania, które trzeba dokładnie przeanalizować, rozłożyć na czynniki pierwsze oraz wdrożyć rozwiązanie. Rozwiązanie to jest logiczną sekwencją kroków sprawiającą, że coś działa. Możemy także dostać zadanie polegające na naprawie błędów w już istniejącym oprogramowaniu. Analizujemy wtedy co dokładnie dzieje się w programie, wczytujemy się w istotny kod i musimy wydedukować jaka jest przyczyna problemu, a następnie ją wyeliminować.

Jest to codzienność w pracy programisty, dlatego ta umiejętność jest tak potrzebna.

2.  Znajomość języka angielskiego

Dla jednych będzie to rzecz banalna i oczywista, choć pewnie znajdą się i tacy, którzy uznają ją za zupełnie niepotrzebną.  Faktem jest jednak to, że większość materiałów do nauki programowania jest właśnie w języku angielskim, a jak wspominałem wcześniej, programista uczy się przez cały czas, więc jako programiści będziecie regularnie spotykać się z materiałami po angielsku.

Język ten jest również potrzebny w trakcie wykonywania innych obowiązków w pracy, np. wtedy, kiedy porozumiewamy się z zagranicznym klientem lub członkiem zespołu, który nie mówi po polsku. Jest on również przydatny gdy czytamy lub piszemy dokumentację, a także gdy komunikujemy się ze społecznością np. na stackoverflow.

Z reguły kod i komentarze w kodzie piszemy również po angielsku, ale nie zawsze jest to reguła

 3. Lenistwo?

Być może zabrzmię tu trochę kontrowersyjnie, jednak moim zdaniem programista powinien być leniwy. Czas programisty jest bowiem kosztowny. Dlatego często bardziej opłacalne jest zaprogramowanie czegoś w solidny ale prosty sposób – niekiedy używając przy tym już istniejących rozwiązań. Wielu programistów wychodzi z założenia, że mając wyznaczony deadline, lepszy efekt osiągnie się korzystając z udostępnionych funkcjonalności niż zużywając czas na “wymyślanie koła na nowo”. Często wychodzi im to na dobre.

Ważnym aspektem pracy programisty jest również automatyzacja – pisanie skryptów wykonujących część pracy za nas oraz testów automatycznych. Lenistwo bywa wtedy nadwyraz pomocną i opłacalną cechą

4.  Pasja i bycie geekiem

W jednym z poprzednich wpisów wspominałem o tym, że bardzo cenię sobie programistów-rzemieślników – Osoby, które robią to co robią i robią to świetnie, jednak nie żyją tak bardzo programowaniem. Niemniej jednak bycie swoistym geekiem komputerowym , interesowanie się tematem do granic możliwości, choć czyni z nas ekscentryków w oczach społeczeństwa, jest nieocenioną pomocą w nauce programowania. W zasadzie nie ma czemu się dziwić – o wiele łatwiej przychodzi nauka czegoś co wywołuje w nas pozytywne emocje i w czego wartość szczerze wierzymy. Jeżeli robimy to co lubimy, pomaga nam się to bardziej zaangażować i utrzymać determinację i motywację do nauki.

5. Umiejętność skupienia się

W pracy programisty czasami musimy przysiąść nad jakimś problemem przez dłuższy czas i popracować w skupieniu. Jeżeli zatem łatwo się rozkojarzacie, możecie mieć z tym problem, jednak na szczęście jest to do wypracowania. Czasami w pracę wplata się chaos wywołany np. tym, że mamy aktualnie więcej spotkań i zadań na głowę. Nieoceniona okazuje się wtedy umiejętność skupienia się i zorganizowania swojego czasu.

Na koniec

Moim zdaniem wszystkie wymienione powyżej atuty znacząco ułatwiają rozwój jako programista. Jeżeli nie macie którejś z tych cech to jeszcze nic straconego, jednak posiadając je wszystkie jest z pewnością prościej.

Czy jest coś, o czym waszym zdaniem nie wspomniałem? A może nie zgadzacie się z którymś podpunktem? Koniecznie napiszcie o tym w komentarzach.

You Might Also Like
1 Comment
  • Avatar photo
    Kaleron
    says:

    Prawda jest taka, że jak komuś matematyka nie idzie, to raczej nie ma też predyspozycji na programistę. Oczywiście nie znaczy, że ktoś taki programistą nie może zostać – zapotrzebowanie jest tak duże, że nawet mierni znajdują pracę w zawodzie. Tylko, że potem płacimy za to ociężałymi, niezoptymalizowanymi i pełnymi błędów aplikacjami.

    W tej chwili technikum informatyczne można skończyć mając problemy z podstawowymi operacjami matematycznymi, obliczaniem procentów, czy układaniem proporcji. Dlatego sugerowałbym pracodawcom sprawdzanie tych umiejętności we własnym zakresie.

Dodaj komentarz

icon