Kluczowe cechy dobrego programisty
Jeśli właśnie podjąłeś decyzję, o rozpoczęciu pracy w branży IT i chcesz swoją karierę zawodową skierować w kierunku programowania, to w tym artykule dowiesz się, jakie są najmocniejsze strony zawodowego kodera.
- Najważniejszą cechą jest odpowiedzialność — Kiedy oddajesz swoją pracę musisz mieć 100% pewności, że to co stworzyłeś jest idealne i wszystkie parametry i scenariusze są na najwyższym poziomie. Produkt musi być przetestowany i nie musisz obawiać się, że wróci ticket i dokonasz poprawek. Twój czas oraz osób z Tobą współpracujących jest zbyt cenny, aby go marnować na poprawki, dlatego musisz dołożyć wszelkich starań, aby zrealizować go najlepiej jak potrafisz. Pamiętaj, że wypłatę dostajesz za dobry, niezawodny produkt, a nie za poprawianie tego co zostało błędnie napisane. Nie mówimy tutaj o błędach, których nawet specjalista nie jest w stanie wychwycić tzw. błędy bezpieczeństwa. Zdecydowanie chodzi tu o błędy walidacji danych czy powiązań między modułami i zgodność dla parametrów końcowych. Być może kiedyś zadziałać kod murphiego, bo nie zawsze możemy przewidzieć działanie komputera, ale większości zdarzeń możemy zapobiec, przykładając się do sumiennego napisania kodu zgodnie z posiadaną wiedzą i doświadczeniem. Dobrego programistę określa: dokładność, sumienność i odpowiedzialność!
- Samodzielność w działaniu i rozwiązywanie problemów — Kiedy tworzysz oprogramowanie wcześniej czy później spotkasz się z „niespodzianką”. Zdarzają się programiści, którzy napotykając jakiś problem nie podejmują środków zaradczych, informują jedynie o zaistniałej sytuacji i oczekują podanego na tacy rozwiązania. Każdy szanujący się programista po weryfikacji problemu powinien szukać konkretnego rozwiązania. Działając w ten sposób wykazuje własną kreatywność, inicjatywę oraz zdolność rozwiązywania problemu. Jeśli uważasz się za dobrego kodera musisz wyrzucić ze swojego słownika zwroty np. nie wiem, nie da się, zastąp je stwierdzeniami: dowiem się, zobaczymy co da się zrobić. Ta mała zmiana w podejściu do danej sytuacji sprawi, że zyskujesz na swojej wiarygodności jako zawodowego programisty. Samodzielność w tym co tworzysz dowodzi, że wciąż się rozwijasz i podnosisz własne kwalifikacje, a poprzeczka podnosi się coraz wyżej, bo jesteś w stanie zmierzyć się z coraz trudniejszym problemem.
- Bądź określony — musisz mieć świadomość swoich mocnych i słabych stron. Musisz wiedzieć, w których technologiach jesteś już mistrzem, a w których wciąż masz coś do doszkolenia się. Na początku kariery może to być trudne, ale istotne jest, abyś umiał realnie ocenić swoje umiejętności nie popadając w skrajności w żadną stronę. Nie musisz być człowiekiem omnibusem i znać się na wszystkich technologiach wystarczy, że będziesz naprawdę ekspertem w tej, którą podasz, że znasz. Twój manager projekt będzie wiedział, do jakiego projektu może Cię skierować, aby w pełni wykorzystać twój potencjał. Zdecydowanie znajdzie to przełożenie na większą terminowość realizacji projektów.
- Nie bój się niewiedzy — przyznać się, że czegoś nie wiesz lub nie rozumiesz to żaden grzech. Lepiej powiedzieć to na początku niż przy powiedzmy czwartym spotkaniu korygującym stan projektu, bo w ten sposób zaoszczędzimy nasz czas. Jeśli programista nie bardzo wie lub nie rozumie celu danego projektu, a do tego udaje, że wie, o co chodzi to są raczej mizerne widoki na dobrze wykonana pracę za pierwszym podejściem. Każde następne poprawki jakie trzeba nanieść zajmują cenny czas zamiast posuwać się do przodu z pracą. W imię zasady nie ma głupich pytań są tylko głupie odpowiedzi ma ogromny sens, bo pytanie rozwija wiedzę zdobytą z uzyskanych odpowiedzi.
- Pewność siebie — trzeba być pewnym siebie i swoich możliwości. Uświadomienie sobie w zakresie czego jesteśmy kompetentni da obraz naszych twardych i miękkich umiejętności i jasno określi w czym jesteśmy ekspertami. Istotne z punktu widzenia developera jest dążenie do finałowego etapu i posiadanie pełnej świadomości na jakim etapie jesteś w danej technologii. Nie uważaj się za eksperta, jeśli wiesz, że masz jakiekolwiek braki w danej materii. Nie mów o sobie junior, jeśli masz nieświadomą kompetencję. Najcenniejszą rzeczą jest więc realne określenie swojej wiedzy z danej dziedziny, wtedy wiesz w którym punkcie jesteś i jaki kierunek ścieżki zawodowej obrać i ewentualny tor dokształcania się. Kiedy jesteś programistą pewność siebie pozwoli Ci, aby nie ulegać naciskom odnośnie do wykonania danego zadania w nierealnych dla Ciebie ramach czasowych. Jeśli otrzymasz zadanie na który masz określony narzucony czas, a wiesz, że jest zbyt krótki, aby je skończyć, po prostu powiedz, że rozumiesz presję czasu i dołożysz wszelkich starań, aby to wykonać, postarasz się, choć nie gwarantujesz sukcesu. Podejmowanie wyzwań jest ciekawe, ale zwykle wtedy, gdy istnieje realna możliwość ich realizacji.
- Używaj szablonów, ale nie myśl szablonowo — to super podejście do danego problemu. Staraj się zawsze dobrać odpowiednią metodę rozwiązania do wielkości zdarzenia. Czasem bowiem staje się tak, że wybiera się metodę nieadekwatną do całości zagadnienia. Do całkiem błahego problemu developer stosuje skomplikowane i pracochłonne narzędzia, bo chce zademonstrować pokaz swoich umiejętności. Rozwiązania wielu problemów są gotowe w postaci bibliotek czy frameworków wystarczy tylko po nie sięgnąć. Przed podjęciem się zadania warto zrobić krótkie rozeznanie istniejących rozwiązań, a następnie wybrać najbardziej przydatne.
- Przyjmuj krytykę — oczywiście musi być ona konstruktywna. Jako doświadczony developer zdajesz sobie sprawę z tego ze kod, który stworzyłeś nie zawsze jest idealny. Nie możesz wychodzić z założenia, że krytyka Twojej pracy dotyczy personalnie Ciebie a nie tego nad czym pracowałeś. Pomyłka czy nawet błąd zdarza się najlepszym. Dzięki konstruktywnej i rzetelnej krytyce możesz wyciągnąć wnioski i jednocześnie jeszcze bardziej rozwinąć umiejętności. Podejdź do tego w sposób bardzo lightowy. Nie ma programów bez błędów są tylko takie z niewykrytymi niedociągnięciami.
Kiedy na spokojnie przeanalizujemy wszystko, co napisane powyżej można dojść do wniosku, że wszystkie te cechy dotyczą nie tylko programistów, ale generalnie każdego pracownika ze wszystkich branż. Aby wszystko, co wykonujemy w pracy było naprawdę dobre potrzebujemy umiejętności. Są to kompetencje twarde i miękkie i zdecydowanie muszą się równoważyć. Cóż z tego, że np. mówisz piękną, literacką polszczyzną, kiedy strach przed publicznością nie pozwoli Ci pokazać jak pięknie recytujesz poezję. Pamiętaj, że żaden pracodawca nie szuka geniusza, ale osoby, która się zna na swoim fachu, potrafi zasymilować się z zespołem. Na rynku pracy poszukiwani są developerzy, którzy mają biznesowe podejście do wykonywanej pracy i jednocześnie potrafią zaproponować zmiany. Zrób wszystko, co w Twojej mocy, aby pracować wydajnie, efektywnie i stań się najlepszym developerem.
Other entries
Słowniczek pojęć internetowych cz.2
Dziś dalsza część słowniczka pojęć związanych z pojęciami internetowymi, które są używane codziennie, a mogą być nie do końca nam znane. Digitalizacja — to cyfrowa postać, która jest nadawana pismom i dokumentom zawartych na nośnikach danych. E- administracja...
Słowniczek pojęć internetowych cz.1
W XXI w. prawie każdy i to bez względu na to, ile ma lat, codziennie siada do komputera, laptopa czy innego urządzenia, gdzie w szerokim zakresie może korzystać z Internetu. Ktoś skończył szkołę czy uczelnie o profilu informatycznym, ktoś inny zdobył wiedzę na kursach...
Na jakich stanowiskach pracują programiści?
Intensywny wzrost nowych technologii sprawia, że również stanowiska pracy w branży IT ewoluują w ogromnym tempie. Autorzy oprogramowania wpływają już praktycznie na każdy aspekt naszego życia. Firmy o różnym profilu, coraz częściej sięgają po nowoczesne rozwiązania...