Programowanie w pracy UX Designera – co warto wiedzieć?

Wielu projektantów UX, zwłaszcza początkujących, ma wątpliwości, czy powinni umieć także programować. Niejasności jest więcej: jeśli programować, to w jakim języku? Czy można się tego nauczyć samodzielnie? A może nie warto? Programiści programują, UX Designerzy projektują – niech każdy zajmuje się swoją działką i robi to, co potrafi najlepiej. Czy UX Designer powinien nauczyć się programować? Jak znajomość programowania wpływa na legendarną już komunikację z programistami? Wątpliwości rozwiewa Dorota Orzeszek – konsultantka UX, ekspertka ds. dostępności i użyteczności interfejsów komputerowych, była programistka.

Ewa Pluta: Wiele osób zastanawia się, nie bez obaw, czy projektant UX powinien umieć programować. Dorota Orzeszek:Programowanie nie jest niezbędne w zawodzie projektanta doświadczeń. Projektant UX nie musi znać perfekcyjnie języków programowania: HTML, CSS, JavaScript. Podstawowa znajomość programowania czasem jednak pomaga, na przykład UX-owiec może samodzielnie otworzyć kod źródłowy strony i zorientować się, co i jak działa albo nie działa. Dobra wiadomość: przyszły UX-owiec uczy się obowiązkowych w tym zawodzie programów do projektowania interfejsów i interakcji, w których stosowane są takie koncepcje, jak użycie zmiennych, zmienne lokalne i zmienne globalne, pętle, instrukcje warunkowe etc. UX-owiec opanowując te programy, mimowolnie uczy się też podstaw programowania. Ewa Pluta: Co byś poleciła projektantom UX, którzy chcą opanować podstawy programowania? Od czego zacząć? Dorota Orzeszek:Podstaw programowania można się nauczyć w kilka godzin. Oczywiście nie będziemy komercyjnymi programistami, żadna korporacja nas nie zatrudni. To raczej zdobycie kompetencji usprawniającej codzienną pracę. Od razu uprzedzę wątpliwości: nie trzeba być asem z matematyki, żeby nauczyć się programować. Laikom polecam na start język programowania Python. Ma on prostą składnię, jest łatwy do opanowania, w internecie można znaleźć dziesiątki tutoriali. Z kolei języki Java czy C++ mogą wydawać się początkującym zbyt skomplikowane, ciężko się przebić przez ich terminologię, a co za tym idzie – łatwo zrazić. Warto podkreślić, że programowanie to nie tylko znajomość języków programowania, lecz przede wszystkim bardzo cenny sposób myślenia.

Warto podkreślić, że programowanie to nie tylko znajomość języków programowania, lecz przede wszystkim bardzo cenny sposób myślenia.

Ewa Pluta: Czym się wyróżnia „programistyczny” sposób myślenia? Dorota Orzeszek:To myślenie procesowe. Skomplikowane działanie jest rozbijane na poszczególne kroki, przy czym cel nigdy nie znika z pola widzenia. Programowanie w tym ujęciu można porównać do przepisu kulinarnego, w którym po kolei jest opisane, co należy dodać i w jakiej kolejności, żeby na koniec cieszyć się pysznym ciastem. To pewien porządek myślenia i działania ważny nie tylko w zawodzie programisty. UX-owiec projektuje ścieżkę użytkownika, czyli drogę, jaką przebywa osoba korzystająca ze strony internetowej lub aplikacji. Ścieżkę rozbija na poszczególne kroki i analizuje, co się stanie, jeśli na danym etapie użytkownik wykona ruch inny niż przewidziany. Nie stawiałabym więc twardej kreski: UX-owiec projektuje, programista programuje. Te dwa zawody mają wiele stycznych. Znajomość choćby podstaw programowania pozwala też urealnić podejście do projektowania. Nie jest sztuką stworzyć piękny projekt, którego implementacja pochłonie mnóstwo czasu, energii i pieniędzy. Niektóre decyzje projektowe mogą nie mieć większego wpływu na UX, ale mogą mieć duże znaczenie dla sposobu implementacji. Czasem użytkownikowi nie zrobi różnicy, jeśli widget będzie wyglądał tak czy odrobinę inaczej, a może się okazać, że pozwoli to zaoszczędzić kilkanaście godzin programowania. Ewa Pluta: Odnajdujesz się w obydwu zawodach: projektantki UX i programistki. To chyba niezbyt częste połączenie? Dorota Orzeszek: Zaczynałam jako programistka. Jak większość początkujących programistów trafiłam jako juniorka do projektu w większej firmie. Zwyczajnie pisałam kod przez osiem godzin dziennie, co samo w sobie nie było fascynujące, ale projekt – już tak. Z czasem pojawiła się możliwość projektowania UX, na początku małych elementów, co było ciekawym przerywnikiem w programowaniu. Na koniec trafiłam do zespołu User Experience. Bardzo chwalę sobie tę ścieżkę zawodową, ułatwia mi pracę.

Ewa Pluta: Czy chodzi o komunikację z programistami, wokół której narosło tyle ciekawych mitów? Dorota Orzeszek:Z programistami pracuje się o wiele łatwiej, kiedy wiadomo, czym oni właściwie się zajmują. To już nie jest „to magiczne programowanie”. Wiem, co jest łatwe, a co trudne, ile czasu zajmuje wykonanie danego zadania. Czasem słyszę od programistów: tego nie da się zrobić. Ja wiem jednak, czy rzeczywiście jest to niewykonalne, czy tylko czasochłonne i uciążliwe, ale do zrobienia. Jeśli pytasz mnie, jak komunikować się z programistami, odpowiem, że normalnie, jak z każdym człowiekiem. Warto być po prostu miłym, służyć pomocą, nie wywyższać się, mówić jasno – nie ma sensu afiszować się technicznym językiem. Przede wszystkim trzeba pamiętać, że pracujemy w zespole: projektantów UX, programistów, grafików, menedżerów, przy czym rola tych pierwszych jest szczególna i trudna – to oni spajają te wszystkie światy. Nie ma możliwości, żeby UX-owiec czy programista w pojedynkę dostarczył na rynek naprawdę dobrą aplikację. Ewa Pluta: Programista upiera się jednak przy swoim „niedasizmie”. Mówi: „ty się nie znasz na mojej pracy, więc skąd te uwagi?”. Co projektant UX może zrobić w tej sytuacji? Dorota Orzeszek: Programista zarzuca projektantowi, że ten nie umie programować? Mało prawdopodobna sytuacja. To mogło się zdarzać 10–15 lat temu, kiedy zawód projektanta UX był w Polsce dość egzotyczny. Teraz wszyscy w branży wiedzą, że projektant UX to człowiek, który „umie w projektowanie” i potrafi rozpoznać potrzeby użytkowników, a programowanie jest umiejętnością dodatkową, nie obligatoryjną. Z własnego doświadczenia wiem, że merytoryczne argumenty przemawiają do programistów, którzy z racji wykonywanego zawodu potrafią myśleć logicznie. Najlepiej wskazać dowody – wyniki badań z użytkownikami, wnioski z artykułów naukowych – na słuszność działania, które chcemy podjąć. Nie warto natomiast okopywać się na swojej pozycji: musi być tak, bo ja mam taką wizję. To absolutnie nie znaczy, że projektant UX powinien tłumaczyć się z każdego kroku, który zamierza wykonać. Wielu wydaje się, że łatwo zaprojektować interfejs użytkownika, ale to my nie bez powodu jesteśmy specjalistami UX. Szanujmy się, dbajmy o swoją autonomię zawodową. Na początku może być trudno ją zachować, ale z czasem, gdy pokażemy profesjonalizm, współpracownicy zaczną ufać naszym decyzjom projektowym.

Trzeba pamiętać, że pracujemy w zespole: projektantów UX, programistów, grafików, menedżerów, przy czym rola tych pierwszych jest szczególna i trudna – to oni spajają te wszystkie światy. Nie ma możliwości, żeby UX-owiec czy programista w pojedynkę dostarczył na rynek naprawdę dobrą aplikację.

Ewa Pluta: „(…) wymaganie od projektantów tworzenia produkcyjnego kodu to jak szukanie pralki, która dobrze gotuje” – to zdanie pada w artykule projektanta UX Adriana Dampca opublikowanym w serwisie Zgadzasz się z nim? Dorota Orzeszek:Wiele projektów upada, choć wydawałoby się, że są świetne i skazane na sukces. Często przyczyną niepowodzenia jest sposób ich realizacji. Nad projektem pracują wyłącznie programiści – powstaje produkt pierwszorzędny pod względem technologicznym, ale jego użyteczność pozostawia wiele do życzenia. Nad projektem pracują wyłącznie projektanci UX – co z tego, że użyteczność jest bez zarzutu, skoro projektu nie da się wdrożyć. Inaczej mówiąc, za każdym razem wszystko sprowadza się do współpracy zespołowej. W branży są oczywiście osoby, które z powodzeniem łączą obydwa te zawody. To na przykład doświadczeni full stack developerzy, świetnie odnajdujący się zarówno w front-endzie, jak i back-endzie, w razie konieczności potrafiący samodzielnie zaprojektować od podstaw aplikację webową. Znajomość User Experience jest naturalnym etapem ich rozwoju zawodowego. Łatwiej jednak być programistą i douczyć się UX niż odwrotnie. Opanowanie programowania na zaawansowanym poziomie wymaga dużo czasu. Podstaw UX wystarczających do pracy komercyjnej można się nauczyć w pół roku. To wymaga jednak dużej otwartości umysłu. Problematyczna może być zmiana punktu widzenia z „wydaje mi się, że tak jest najlepiej” na „to będzie dobre dla użytkownika”. Ten użytkownik nie jest mną, lecz należy do abstrakcyjnej grupy docelowej i moim zadaniem jest wejść w jego buty. Praca projektanta UX to nie tylko mechaniczne wykonywanie makiet. Tym zajmują się głównie początkujący UX-owcy. Ewa Pluta: To wymaga sporych pokładów empatii. Dorota Orzeszek:Magia bycia projektantem UX polega na tym, że potrafimy empatyzować z użytkownikiem z określonej grupy docelowej. Jesteśmy w stanie wyobrazić sobie i zrozumieć, jak on funkcjonuje i z jakimi trudnościami się mierzy. Ale nie tylko. Rolą projektanta UX jest pomoc w rozwiązywaniu problemów użytkownika oraz realizacja jego potrzeb i celów. Nie chodzi jednak o to, by literalnie odczytywać, czego użytkownicy chcą. To częsty błąd początkujących projektantów UX, którzy wyniki badań traktują dosłownie: użytkownikom nie podoba się ta ikona? Zmieńmy ją zatem. Problem w tym, że użytkownik artykułuje swoje potrzeby w kontekście tego, co już zna. Tu podam przykład przytaczany na zajęciach z User Experience. Gdyby dwieście lat temu zapytać podróżnego, czego potrzebuje, by przemieszczać się sprawniej i wygodniej, zapewne odpowiedziałby, że szybszego konia. Tymczasem rozwiązaniem był samochód, o czym podróżny nie mógł wiedzieć. Co innego projektant UX, który odkrywa potrzeby użytkowników, także te nieujawnione, by na bazie dostępnej wiedzy technologicznej tworzyć nowe rozwiązania. Inaczej mówiąc, dobry projektant nie zaproponuje podróżnemu szybszego konia, lecz dobry samochód.

Specjalność Inżynieria Oprogramowania (IO) – Katedra Inżynierii Oprogramowania

Inżynieria Oprogramowania to obszar wiedzy zajmujący się praktycznym zastosowaniem metod, technik, narzędzi, czy tzw. dobrych praktyk wytwarzania oprogramowania – od zbierania wymagań po utrzymanie oprogramowania.

W ramach specjalności studenci zdobywają teoretyczną i praktyczną wiedzę na temat:

Najnowszych osiągnięć z zakresu inżynierii oprogramowania, w tym zwinnych praktyk wytwarzania oprogramowania i rozwiązań wspierających DevOps (Kursy: Zwinne wytwarzanie oprogramowania, Technologie wspierające wytwarzanie oprogramowania).

Realizacji projektów badawczo-rozwojowych w inżynierii oprogramowania oraz wykorzystania metod data science/danologii (ML/AI) np. na danych uzyskanych z narzędzi Git, Jira (Kursy: Metody planowania i analizy eksperymentów, Statystyka w zastosowaniach, Projekt badawczo-rozwojowy w inżynierii oprogramowania).

Analizy biznesowej i systemowej, a także projektowania złożonych systemów oprogramowania z uwzględnieniem wymagań jakościowych (Kursy: Analiza biznesowa i systemowa, Projektowanie systemów informatycznych).

Architektur referencyjnych aplikacji webowych, w tym architektury mikroserwisów i powiązanych frameworków, np. ORM (mapowania obiektowo-relacyjnego), czy wykorzystujących język JavaScript (Kurs: Projekt i implementacja systemów webowych).

Zabezpieczeń dla aplikacji webowych, mobilnych i ekosystemu IoT, w tym związanych z ochroną danych (kryptografia) (Kursy: Bezpieczeństwo systemów webowych i mobilnych, Inżynieria pozyskiwania i ochrony wiedzy z danych i baz danych).

Programowania obiektowego, funkcyjnego i współbieżnego (Kurs: Paradygmaty programowania współbieżnego i funkcyjnego).

Modeli, metod i narzędzi składowania i przetwarzania baz danych i dużych zbiorów danych (Big Data) (Kursy: Przetwarzanie dużych zbiorów danych, Zaawansowane systemy baz danych, Systemy wyszukiwania informacji.

Plan studiów specjalności został przygotowany we współpracy z firmami. Przy jego realizacji współpracujemy z firmą Capgemini. Szczegóły dotyczące specjalności dostępne są na stronie:

Prezentacja Specjalności IO: PDF

Absolwenci IO to elita wśród pracowników firm software’owych. znanych firm tworzących oprogramowanie, mających swoje siedziby zarówno we Wrocławiu jak i za granicą m.in. Volvo IT Group, Capgemini, Nokia, Comarch, Unit4, KRT, Google, Accenture, IBM, czy ThoughtWorks. Pracują jako architekci lub inżynierowie oprogramowania, programiści, trenerzy, kierownicy projektów, pracownicy i kierownicy działów zapewnienia jakości, projektanci baz danych, projektanci zabezpieczeń, projektanci rozwiązań dla Internetu Rzeczy (IoT).

Pracownicy i doktoranci Katedry Inżynierii Oprogramowania są zaangażowani w przygotowanie i prowadzenie badań finansowanych przez Narodowe Centrum Badań i Rozwoju (NCBiR), Capgemini (Projekt „Data Science in Software Engineering”), jak i we współpracę z różnymi firmami, m.in., Volvo IT Group, CODEFUSION. Katedra posiada wymaganą do badań infrastrukturę serwerową. Zakres prowadzonych badań dotyczy m. in. jakości oprogramowania czy jakości testów (testowanie mutacyjne). Efektem prac badawczo-rozwojowych jest m.in. tester mutacyjny Judy dla języka Java, platforma DePress (http://depress.io) – narzędzie do poprawy procesów i produktów programowych – z której korzystają takie firmy jak Capgemini (która współtworzy z nami platformę DePress), czy Volvo.

Pracownicy katedry publikują prace we flagowych czasopismach z zakresu inżynierii oprogramowania z listy filadelfijskiej, m. in. IEEE Transactions of Software Engineering, Empirical Software Engineering, Software Quality Journal, Information and Software Technology, IET Software, Journal of Intelligent & Fuzzy Systems, Cybernetics and Systems. Są autorami książek, m. in. dotyczących TDD („Test-Driven Development – An Empirical Evaluation of Agile Practice”), architektury i usług webowych („Usługi Microsoft Azure, Programowanie aplikacji”, „Windows Azure Wprowadzenie do programowania w chmurze”, „ASP.NET MVC 4, Programowanie aplikacji webowych”), metodyk wytwarzania oprogramowania („Metodyka QUAD: sterowane jakością wytwarzanie aplikacji bazodanowych”). Występują i recenzują prace na prestiżowych konferencjach np. Mining Software Repositories (MSR), Predictive Models and Data Analytics in Software Engineering (PROMISE), eXtreme Programming and Agile Processes in Software Engineering (XP). Wydają międzynarodowe czasopismo e-Informatica Software Engineering Journal m.in. w Web of Science, Scopus, DBLP, Google Scholar, DOAJ.

Programista — zawód, praca, zarobki. Jak zostać programistą?

Programista — inaczej koder, developer czy inżynier oprogramowania. Jest to osoba, która tworzy programy komputerowe w oparciu o konkretny język programowania (np. C++, Python, Java). Programiści zazwyczaj specjalizują się w jednym z nich. Programistów dzieli się również na tzw. frontendowców, backendowców oraz full stack developerów, w zależności od tego, którą "warstwą" aplikacji się zajmują.

Ten zawód uważa się za pracę marzeń, bo daje dobre pieniądze, szerokie możliwości rozwoju i mnóstwo ofert pracy.

Do tego wszystkiego dochodzi jeszcze możliwość pracy zdalnej.

Kto nie chciałby mieć takich perspektyw?

Jeśli chcesz zostać programistą, najpierw sprawdź w naszym artykule:

jak nauczyć się programowania

czy programista bez studiów ma szansę na pracę

od czego zacząć naukę programowania

czy warto inwestować w kurs programisty.

Zanim zaczniesz szukać ofert, przygotuj profesjonalne CV. Pomoże Ci w tym kreator CV, który został zaprogramowany tak, by wygrywać rekrutacje. Znajdziesz w nim profesjonalne szablony do uzupełnienia, praktyczne wskazówki oraz przykłady. Stwórz CV i list motywacyjny w 5 minut tutaj.

Zobacz inne wzory, stwórz CV oraz list motywacyjny i pobierz dokumenty w PDF tutaj

Oto opinia Gosi — jednej z użytkowniczek naszego kreatora: Dzięki takiemu świetnemu CV i listowi dostałam super pracę bardzo szybko! Stwórz CV teraz

1

Zawód: programista. Na czym polega praca programisty?

Programiści wykonują swoją pracę po to, żeby świat się nagle nie zatrzymał, a nasza wirtualna rzeczywistość nie zniknęła.

W końcu żeby zamówić taksówkę, jedzenie z dowozem, nowe buty, a potem za to wszystko zapłacić, potrzebujemy aplikacji z kodem pod spodem.

Gotowy? Dowiedz się, jak zacząć programować.

Praca: programista

Języki programowania to bardzo szeroka dziedzina. Którego z nich się zacząć uczyć?

Wybór zależy od Ciebie.

Możesz zostać programistą aplikacji mobilnych (na telefony i tablety) lub desktopowych (bezpośrednio działających na komputerze).

Możesz też zostać web developerem:

Frontendowcem

Front-end to ta część programu, którą widzą użytkownicy.

Jest jak fasada budynku.

Front-end developer dba o to, żeby aplikacja webowa była funkcjonalna, atrakcyjna i dostosowana do różnych urządzeń.

Używa języków HTML, CSS czy JavaScript.

Backendowcem

Back-end — siła napędowa programu. Backend development ogranicza się w dużej mierze do budowy aplikacji serwerowej, która faktycznie zasila aplikację webową (frontendową), obługuje komunikację pomiędzy serwerami i obsługuje bazy danych.

Używa do tego języków: PHP, Ruby, Java, C# czy Python.

Full Stack Developerem

To trzecia możliwość, czyli full metal jacket, a raczej Full Stack Developer. To prostu programista uzbrojony w obie umiejętności, zarówno tworzenia frontendu, jak i backendu.

Natomiast jeśli chciałbyś programować urządzenia przemysłowe, potrzebna Ci będzie znajomość programowania niskopoziomowego.

A może chciałbyś kodować gry albo programować bazy danych?

Jak widzisz, wybór jest bardzo szeroki.

Który język programowania wybrać? Odpowiem na to pytanie w następnym rozdziale.

Co jeszcze powinieneś wiedzieć na początek?

Może to, że w pracy programisty nie chodzi tylko o sam kod, ale przede wszystkim o rozwiązywanie problemów (znasz metodę gumowej kaczuszki?) i podejmowanie trafnych decyzji w krótkim czasie.

Mawia się, że deweloper jest rzemieślnikiem, bo każdego dnia uczy się na własnych błędach. W dodatku nie jest on autorem konkretnego projektu, ale wykonawcą i to od naprawdę czarnej roboty.

Trzeba mieć dużo pokory, żeby nie tylko ciężko i czasami monotonnie generować tysiące znaków kodu, ale również zaakceptować fakt, że nigdy nie osiągniesz w swoim zawodzie mistrzostwa.

Oto plusy i minusy zawodu programisty:

zalety dobre zarobki

nowoczesne miejsce pracy

prestiż

ciekawe i rozwojowe zajęcie

wady napięcie i stres — za dużą pensją stoją duże wymagania

całe życie przed komputerem

konieczność nauki na bieżąco i ciągłego dokształcania

Zanim dowiesz się jak zostać programistą, zaczniesz szukać ogłoszeń o pracę i kupisz koszulkę z napisem I dress code, sprawdź: Jak napisać CV programisty?

2 Jak zostać programistą? Czy zawód programisty wymaga studiów?

Do zawodu programisty prowadzą cztery drogi.

Możesz wybrać jedną z nich lub przejść przez wszystkie.

Sam zdecyduj, jak chcesz zacząć uczyć się programować.

Studia informatyczne

Żeby zrozumieć algorytmy nie potrzeba wyższego wykształcenia, bo dla przyszłego pracodawcy i tak najważniejsza będzie Twoja wiedza.

Tę opinię podziela wiele osób.

Portal No fluff Jobs przeprowadził wśród swoich czytelników ankietę, której pytanie brzmiało: Czy studia informatyczne są przydatne w nauce programowania?

Wynik?

Zaledwie 17% programistów uważa, że studia pomagają w nauce programowania.

Na niekorzyść studiów przemawia fakt, że mało tam zajęć praktycznych, kadra składa się z nieaktywnych w zawodzie programisty wykładowców, wymagania są niewielkie, a jeszcze mniej jest nowoczesnych specjalizacji.

Na studiach informatycznych jest sporo nauki, dlatego to rozwiązanie jest dobre dla młodych ludzi, którzy mają dużo czasu i nie muszą jeszcze zarabiać.

Poza tym—

Wiadomo, że jeśli masz wybór, to zawsze lepiej mieć dyplom, niż go nie mieć.

Oto lista polskich uczelni, które wygrywają rankingi:

Czy studia programistyczne nauczą Cię jak programować?

Nie, bo takie studia nie istnieją.

Wiedzę na temat komputerów zdobywa się na studiach informatycznych, a programowanie to tylko część programu dydaktycznego.

Czy studia przydadzą się komuś, kto chce zostać programistą?

Bardzo rozsądnie i przekonująco przedstawia sprawę autor bloga devstyle.pl.

Kwestię przydatności studiów wyjaśnia w ten sposób:

Na studiach dowiesz się o rzeczach, których sam się nie nauczysz, bo ich nie potrzebujesz. A nawet lepiej: nie wiesz, że ich potrzebujesz, bo nie wiesz o ich istnieniu.

Oczywiście nikt nie okłamuje Cię, że studia uczynią z Ciebie od razu programistę.

Staram się pisać te słowa delikatnie, ale nie ma okularów aż tak różowych, żeby zmienić fakty. Programowania Cię na studiach nie nauczą. Trzeba się uczyć samemu. Co ma i dobrą stronę: w pracy zawodowej rzadko ktoś będzie Cię trzymał za rączkę. Samodzielność jest bardzo pożądaną cechą u programisty.

Jeśli pójdziesz na studia informatyczne, wykorzystaj ten czas jak najlepiej.

Studia otwierają Ci bardzo wiele drzwi. To tam dowiesz się o ciekawych inicjatywach: studenckich zlotach, konkursach, konferencjach. Tanie Szampany warto wymienić również na to. Zgłaszaj się wszędzie, jeźdź i poznawaj ludzi. To jest czas, w którym możesz przygotować sobie naprawdę wygodne i interesujące dalsze życie.

Wkręcaj się w środowisko. Rób wiele, jak najwięcej. Nie bój się „zawodowych” czy też „profesjonalnych” spotkań dla ludzi „już pracujących”. My, w IT, jesteśmy bardzo otwarci i pomocni wbrew temu, co się czasami mówi. Zapytasz, poprosisz — odpowiemy, pomożemy. Dzięki zaangażowaniu możesz pchnąć swoje doświadczenie o całe lata świetlne naprzód. To do tego są studia.

Argumentów za studiami jest tak dużo jak i przeciw nim. Nikt jeszcze nie wymyślił algorytmu, który by rozwiązał tę kwestię.

Wybór należy do Ciebie, a skoro masz już te informacje, nie będzie to na pewno decyzja nieświadoma.

W razie kłopotów finansowych na studiach pomoże Ci nasz artykuł: Praca dla studenta — jak dorobić? Gdzie szukać pracy? (15+ Porad)

Kurs programowania

Jeśli chodzi o kursy programowania, to więcej tu sprzecznych opinii niż w przypadku studiów.

Viktoriia Staienna, które na co dzień programuje w InterviewMe i Zety, twierdzi, że:

Kurs programowania warto zrobić dopiero wtedy, gdy wiesz już, co Ci się przyda w pracy i w jakim kierunku chciałbyś się rozwijać i doszkalać. W innym przypadku mogą to być zmarnowane pieniądze.

Chodzi o to, że każdy, nawet najlepszy kurs niesie ze sobą duże ryzyko zmarnowanych wydatków.

Po pierwsze dlatego, że nie masz pewności, czy nauka danego języka programowania nie jest już na starcie przeszłościowa, a po drugie dlatego, że jako zupełny żółtodziób możesz się bardzo zniechęcić, jeśli trafisz na nieodpowiadającą Ci metodę nauki.

Jeśli już zdecydujesz się na kurs w szkole programowania, zwróć uwagę na aktualność oferty edukacyjnej.

Jednym słowem — gdy wybierasz kurs, wybierz najnowszy. Wygugluj, czy oferta jest świeża. Zobacz też, czego szukają rekruterzy — przejrzyj ogłoszenia o pracę dla programistów.

Oto kilka popularnych szkół, które uczą programowania profesjonalnie:

Software Development Academy — działa we wszystkich większych miastach w Polsce. Prowadzi kursy Javy, ale również JavaScript, PHP, .NET, SQL i testerskie

IT Academy — ma siedzibę w Warszawie, Wrocławiu i Krakowie. Kładzie duży nacisk na praktykę i samodzielne rozwiązywanie problemów. Na końcu kursu masz możliwość wzięcia udziału w konsultacjach, które przygotowują uczestników do rozmów kwalifikacyjnych na programistę

Coders Lab — najstarsza polska szkoła programowania, które istnieje od 2013 roku. Na kurs możesz uczęszczać w Warszawie, Wrocławiu, Katowicach, Krakowie, Lublinie, Łodzi, Poznaniu, Białymstoku i Gdańsku

Infoshare Academy — założona przez twórców największej w Europie Środkowo-Wschodniej konferencji technologicznej infoShare. Regularnie organizuje meetupy oraz webinary z doświadczonymi programistami i architektami

Uwaga: Kursy w szkołach programowania są naprawdę drogie. Ich ceny sięgają nawet kilkunastu tysięcy złotych, a średni koszt kursu wynosi 8-10 tysięcy złotych za kilkumiesięczną naukę.

Nauka programowania przez Internet

Najmniej kontrowersyjna metoda nauki programowania.

Nie tracisz pieniędzy, czas i miejsce nauki wybierasz sam, a przy okazji od razu wchodzisz w tryb pracy, który polega na samodzielnym wyszukiwaniu informacji.

Oto kilka pewnych kursów programowania online:

The Odin Project — darmowy kurs programowania Ruby on Rails i JavaScript Udemy — międzynarodowa platforma, które zawiera ponad 45 000 kursów z różnych dziedzin, w tym także z IT Coursera — podobnie jak Udemy oferuje szeroki wybór kursów z różnych dziedzin, w backend i front end development Kodilla — kładzie nacisk na praktyczną naukę, aby umożliwić kursantom przebranżowienie się Kodologia — uczysz się poprzez rozwiązywanie interaktywnych zadań, system sprawdza i ocenia rozwiązania oraz informuje o postępach w nauce Coders Trust — płatne kursy, które mogą być finansowane przez urzędy pracy oraz instytucje unijne. Masz zagwarantowane wsparcie doświadczonych mentorów Codecademy — wg nich If you know how to read, you can learn to code. Z ich oferty korzystała właśnie Viktoriia, które dziś jest już programistką

Wskazówka: Jeśli zastanawiasz się, czy kursy internetowe możesz wpisać do CV, odpowiedź brzmi: tak!

I jeszcze na koniec: stary dobry Youtube, który jest fajnym źródłem do zbierania zajawek i bycia na bieżąco.

Poniżej kilka propozycji:

Mirosław Zelent — znany najbardziej z nauki programowania w C++ dla początkujących. Oprócz C++ możesz skorzystać także z wprowadzeń do HTML, CSS, PHP, JavaScript i MySQL

Oracle Academy — polski kurs programowania w Javie dla początkujących przygotowany przez Wojskową Akademię Techniczną

P jak Programowanie — kursy Androida i Pythona w 20 odcinkach

Dominik Kozaczko — nauka podstaw programowania w Pythonie i frameworku Django

Plus kilka anglojęzycznych youtubowych kanałów z nauką programowania:

Derek Banas — tutoriale dotyczące programowania w wielu językach

Learn Code Academy — szeroki wybór tematów, wszystko, co jest niezbędne do tworzenia i zarządzania stronami; podstawy HTML, najważniejsze wiadomości z zakresu JavaScript, jQuery i CSS

Programming Knowledge — ponad 1000 filmów przeznaczonych dla początkujących; kanał ma ponad 150 000 subskrybentów

Codecourse — nauczysz się tworzenia CSS przy użyciu Burbon & Neat oraz aplikacji z graficznymi interfejsami w PHP; znajdziesz tu materiały do nauki pisania aplikacji w PHP od najbardziej podstawowych do bardziej złożonych

Zerknij jeszcze na Kurs Boba Tabora, który był pierwszym autorem internetowych kursów video C# oraz .NET, ASP.NET, Visual Basic, Visual Studio, SQL Server, i innych.

Bootcampy programistyczne

Czyli intensywne szkolenie z programowania.

I chociaż sama nazwa bootcamp odnosi się do treningu na świeżym powietrzu, to nauka programowania na bootcampie odbywa się online.

Taki kurs trwa zazwyczaj kilka tygodni, masz zapewnione spotkania 1 on 1 z przydzielonym Ci mentorem oraz lekcje na żywo przez Internet.

Bootcamp to okazja do nauki programowania w warunkach domowych, ale pod okiem doświadczonych specjalistów.

Jeśli chcesz wziąć udział w bootcampie sprawdź np. stronę bootcampy.pl

Pamiętaj również o tym, że jeśli chcesz zostać programistą, to przede wszystkim potrzebne Ci będą pasja i zaangażowanie — tak duże, że ani się obejrzysz, a prywatny czas zaczniesz wykorzystywać na naukę lub praktykę.

Poza tym przyda Ci się również:

intuicja

spostrzegawczość

zdolności analityczne

umiejętność skupienia się

wytrwałość i cierpliwość

a także, a może przede wszystkim

znajomość logiki, algorytmiki, matematyki, co najmniej w podstawowym zakresie.

Viktoriia dodaje:

Najważniejsze jednak, to znaleźć w sobie predyspozycje do kodowania. Jeśli chcesz wykonywać ten zawód wyłącznie dla atrakcyjnej pensji — zmęczysz się po paru miesiącach. Albo przestaniesz nadążać za zmianami.

Jak się przekwalifikować na programistę?

Jeśli masz już zawód i jest on zupełnie niezwiązany z informatyką, wciąż masz szansę na karierę programisty.

Naprawdę wiele osób przekwalifikowuje się na kodera. Jedną z nich jest właśnie Viktoriia.

Chciałam zmienić swoją pracę i nauczyć się kodowania. Na początek kupiłam kilka książek i czytałam je codziennie w drodze autobusem do biura. 20 minut w jedną, 20 minut w drugą stronę. Zorientowałam się, że bardzo mi się to podoba i po 3 miesiącach dostałam się już na swój pierwszy staż w poważnej firmie. Poszłam na targi pracy dla programistów i zapytałam na jednym ze stoisk, czy nie potrzebują praktykantów. Zgodzili się z radością.

Jeśli chcesz poznać więcej historii osób, które zdecydowały się na przebranżowienie i różne sposoby na to, jak zostać programistą, zerknij tutaj.

Co dalej?

Zanim przejdziemy do kolejnej sekcji, sprawdź na wszelki wypadek: Jaki zawód wybrać? 20 porad, jak wybrać pracę, która do Ciebie pasuje.

A o Twoje CV najlepiej zadba kreator CV. Jeśli chcesz wygenerować profesjonalny dokument w kilka minut, nie ma lepszego narzędzia. CV z wyróżnionymi umiejętnościami i znajomością języków w 5 minut stworzysz w naszym kreatorze.

Zobacz inne szablony, stwórz CV i pobierz dokument w PDF tutaj

3 Jak zacząć programować, czyli nauka programowania od zera

Żeby zacząć programować, po prostu musisz spróbować.

Zresztą—

Na tym będzie już zawsze polegała Twoja praca — na próbach, odkryciach, nowych wnioskach, potem na implementowaniu tych wniosków do konkretnego projektu.

Jeśli zupełnie nic nie wiesz o specyfice programowania, na początek zapoznaj się z tematem, obejrzyj kilka tutoriali, kup książkę.

Możesz od razu zafascynować się programowaniem albo dojść do wniosku, że zupełnie nie tak wyobrażałeś sobie kodowanie.

Jak już trochę pouczysz się sam, możesz też postarać się o staż w firmie informatycznej.

Nie wiesz jak to zrobić?

Wpisz w google praktyki dla programistów, a od razu znajdziesz oferty.

Po paru miesiącach nauki pod okiem doświadczonych koderów bardzo dużo się nauczysz, a może nawet dostaniesz propozycję pracy na stałe.

Od czego zacząć naukę programowania?

Wybierz język programowania, od którego chcesz zacząć. Który najlepiej?

Jeśli chcesz wiedzieć, co myślą sami programiści o przydatności konkretnych języków programowania, oto ranking przeprowadzony przez Stackoverflow:

Najprostszym do nauczenia się jest Python, choć Tobie równie dobrze może odpowiadać Java lub JavaScript.

Po drugie —

Przejrzyj oferty pracy dla programistów, a dowiesz się, który język programowania jest obecnie najbardziej poszukiwany przez pracodawców.

Weź pod uwagę, że inny będzie wymagany w środowisku akademickim, inny w banku, jeszcze inny w agencji reklamowej.

Jak zostać deweloperem?

Powiedzmy, że skorzystałeś już z dostępnych w Internecie kursów, obejrzałeś youtubowe poradniki, uczące programowania lub przeczytałeś książkę.

Masz już masę, teraz pora na rzeźbę.

Jak już zaczniesz naukę pierwszych języków programowania, a ciemny świat terminala wciągnie Cię na dobre — pora spróbować.

Następnym etapem jest już tylko prawdziwa posada w IT.

Twoje pierwsze stanowisko jako programista?

Junior developer.

Właśnie tej frazy szukaj w ogłoszeniach o pracę.

Możesz też spotkać bardziej sprecyzowaną ofertą pracy, związaną z konkretnym językiem programowania, czyli np. junior Java developer (po polsku młodszy programista Java).

O tym, gdzie szukać pracy dla programistów, dowiesz się już za chwilę.

Pamiętaj też, że programowanie to nie wszystko, co będziesz robić na stanowisku programisty.

Nie ominie Cię współpraca z innymi działami, więc poza kompetencjami twardymi przydadzą Ci się również np. zdolności interpersonalne.

Dlatego sprawdź artykuł: Umiejętności miękkie i twarde — lista z przykładami.

4 Praca dla programisty — jak jej szukać?

Jeśli do pracy motywują Cię pieniądze — ok, jako programista masz szansę dobrze zarobić i nie jest to żadną tajemnicą.

Ale musisz wiedzieć, że im więcej zarabiasz w IT, tym większą masz odpowiedzialność, a im większa odpowiedzialność, tym większy stres.

Z drugiej strony — im ciężej, tym ciekawiej.

W latach 90. XX w., gdy Microsoft pracował nad Windowsem 95, a atmosfera w firmie była napięta, pracowników, którzy gorzej sobie radzili straszono oddelegowaniem do mało prestiżowych projektów.

Wiesz, jaka była kara za brak zaangażowania i widocznych postępów?

Zesłanie do pracy nad aplikacją dla psów.

Nikt już dziś nie pamięta, ale tak powstał Microsoft Dogs.

Jeśli chcesz pracować nad ciekawymi projektami, z których będziesz naprawdę dumny, a praca będzie przynosiła Ci satysfakcję, już na początku dobrze zorientuj się w ogłoszeniach.

Najlepszy portal z ofertami dla programistów to

Możesz też sprawdzić:

I skorzystać z grup na Facebooku. Poniżej kilka przykładów:

Programista, który ma duże umiejętności, może też pracować jako freelancer, szukając zleceń w Internecie.

Teraz ważna kwestia.

Początki programowania na pewno związane są z poszukiwaniem pracy na portalach ogłoszeniowych, ale gdy nabierzesz już doświadczenia, oferty znajdą Cię same.

Większość rekruterów korzysta z Linkedina, na którym osoby rekrutujące programistów wyszukują potencjalnych pracowników.

Taki sposób rekrutacji to dziś w IT norma.

Zresztą—

Jak pokazują badania, programiści znajdują najczęściej pracę przez polecenie.

Więcej o LinkedInie dowiesz się tutaj: LinkedIn — jak stworzyć profil i dostawać więcej ofert pracy? (14 kroków).

5

Programista — przyszłość zawodu

Myślisz, że możesz spać spokojnie, bo wybrałeś najbardziej przyszłościowy zawód?

Niekoniecznie.

Byron Nicolaides, szef Council of European Professional Informatics Societies, przewiduje, że w przyszłości dzieci będą uczyły się kodowania tak, jak dziś czytania i pisania.

Programowanie będzie podstawową umiejętnością każdego wykształconego człowieka już bardzo niedługo.

Twój drugi konkurent?

Zaraz po raczkującym teraz bobasie, który za chwilę będzie kodował jak Ty teraz, na Twoją posadę czai się też sztuczna inteligencja.

Póki co, rozumu mają po tyle samo.

Jednak przewiduje się, że ta druga bardzo szybko zmądrzeje.

Ray Kurzweil — szef inżynierów w Google — twierdzi, że stanie się to już za parę lat:

Do 2029 komputery osiągną poziom inteligencji człowieka.— mówi w wywiadzie dla SXSW.

Wg serwisu bulldogjob.pl jako pierwsi zostaną zastąpieni:

administratorzy systemów

administratorzy sieci

testerzy oprogramowania

project managerowie

analitycy danych

administratorzy baz danych

software developerzy.

Ale nie martw się. Póki co wciąż nie wynaleziono latającej deskorolki, więc może i na inteligencję komputerów jeszcze trochę poczekamy.

Musisz napisać również list motywacyjny? W naszym kreatorze znajdziesz nowoczesne wzory do wypełnienia i praktyczne porady. Stwórz list motywacyjny w 5 minut tutaj.

Zobacz inne szablony, stwórz list motywacyjny i pobierz dokument w PDF tutaj.

A jakie są Twoje doświadczenia z szukaniem pracy dla programisty? Jeśli chcesz opowiedzieć o swojej historii lub zadać pytanie, pisz śmiało na forum poniżej.

Jarosław Kułak
Jarosław Kułak

Leave a Comment