Strona główna > Journal > Najlepsze języki programowania dla Product Managerów
Journal

Najlepsze języki programowania dla Product Managerów

Oceń artykuł:

Menedżerowie produktów (Product Managers) w branży IT są dziś specjalistami, z których doświadczenia, wiedzy, kompetencji, umiejętności (twardych i miękkich) w firmach technologicznych szczególnie często i chętnie się korzysta.

Czym zajmuje się menedżer produktu (Product Manager)? Co robi Product Manager? Anonsując temat i zasadniczą treść tego artykułu, odpowiedzmy na szybko na to pytanie, cytując Google Careers.

Otóż, Product Manager w Google (branży IT jako takiej) łączy w zakresie swoich działań wiele funkcji (Work Cross-Functionally), prowadzi produkty od stworzenia ich koncepcji aż do ich uruchomienia.

Stanowi łącznik między światem technologii (programiści), User Experience (UX/UI Designer) oraz światem biznesu (właściciele, akcjonariusze).

Ofert pracy dla Product Managerów pojawia się coraz więcej. Na popularności oraz znaczeniu nabierają także programy typu Associate Product Manager (APM) wprowadzające, przygotowujące do nabycia nowych kompetencji i pozwalające rozpocząć nową ścieżkę zawodową.

Dobrym tego przykładem jest choćby program Google APM.

Jaki zakres obowiązków Product Manager w branży IT najczęściej musi wykonywać?

Jakie są niezbędne umiejętności miękkie, twarde (Product Manager Skill Set), jeśli chcemy z powodzeniem wykonywać zawód Product Managera?

Jaki język programowania wybrać, jakie technologie warto opanować, śledzić, w jakich warto się rozwijać?

Jaki język programowania na początek przygody z Product Managementem warto wybrać?

Najlepsze języki programowania dla Product Managerów - o nich już za chwilę przeczytacie właśnie w tym artykule.

Gorąco polecamy jego lekturę!

Szukasz doświadczonej agencji UX?

Kim jest i czym się zajmuje Product Manager?

Zasygnalizowana we wstępie definicja zawodu Product Managera jest oczywiście bardzo ogólnikowa i mało konkretna.

Nim przyjrzymy się kwestiom technologicznym, oczekiwaniom stawianym menadżerom produktu, nim opiszemy rekomendowane języki programowania dla Product Managerów, z pewnością warto nieco więcej powiedzieć o samym zawodzie.

Przede wszystkim o jego zakresie, roli, pożytkach, wymogach oraz benefitach, jakie są udziałem osób wykonujących ten zawód.

Kim jest PM Product Manager w branży IT? Posłużmy się dobrze wyjaśniającą i obrazującą definicją, zaprezentowaną na blogu Atlassian, w artykule pt. „Product Manager: The role and best practices for beginners”.

Zgodnie z definicją Atlassian menedżer produktu to osoba, która przede wszystkim:

  • identyfikuje potrzeby, cele, oczekiwania biznesowe klienta
  • określa funkcje, sposób działania produktu (zbieranie wymagań produktowych), które odpowiadają potrzebom klienta
  • określa mierniki sukcesu, sposoby ewaluacji sukcesu.

Ale to nie wszystko, zakres obowiązków, zadań, kompetencji jest znacznie szerszy i obejmuje także:

  • tworzenie strategii produktowych
  • zbieranie, analizowanie, syntetyzowanie rynkowych badań ilościowych oraz jakościowych
  • koordynację prac, terminów, przepływu, obiegu informacji
  • określanie przypadków użycia
  • optymalizację już wdrożonych funkcjonalności
  • przeprowadzanie kontroli jakości
  • priorytetyzowanie wdrożeń nowych funkcjonalności
  • wspieranie działań marketingowych, promocyjnych, wizerunkowych
  • analizę konkurencji, przygotowywanie benchmarków
  • diagnozowanie i ocenę dostępnych i wymaganych zasobów
  • delegowanie zadań do zespołów.

Product Manager jest przede wszystkim zawodem w dużej mierze interdyscyplinarnym, wykorzystującym wiedzę, metodyki, techniki, badania, sposoby analizy wypracowane na gruncie różnych nauk, podejść.

Product Manager w branży IT (IT Product Manager) jest odpowiedzialny za nadzorowanie, rozwijanie, kontrolowanie, wspieranie, koordynowanie pełnego cyklu życia produktu.

Jego zadaniem - w najbardziej ogólnym sensie - jest urzeczywistnianie pomysłów, idei, wartości, wizji, planów, celów oraz rozwiązań.

Od efektywności pracy Product Managera zależny jest:

  • sukces rynkowy produktu - przede wszystkim jego konkurencyjność, innowacyjność
  • zysk, przychody, stabilność finansowa
  • kierunek rozwoju produktu
  • sposób walidowania wydajności produktu
  • sposób określania kluczowych wskaźników efektywności (KPI - Key Performance Indicators).

By sprostać wszystkim tym zadaniom, oczekiwaniom oraz osiągnąć założone cele, konieczne jest posiadanie odpowiednich kompetencji, które w najbardziej ogólnym sensie można podzielić na kompetencje:

  • miękkie (np. umiejętności komunikacyjne, analityczne, odporność na stres)
  • twarde (np. znajomość języków programowania).

W przewodniku (Guidance) opublikowanym na rządowej stronie Wielkiej Brytanii, w gronie najważniejszych umiejętności Product Managera wymieniono ponadto:

  • znajomość metody programowania zwinnego - Agile Software Development
  • umiejętność zrozumienia, przyjmowania, wdrażania perspektywy, która stanowi splot User-Centered Design, technologii oraz perspektywy zorientowanej na dane (DDaT Perspective)
  • umiejętność pracy z ograniczeniami
  • umiejętność przyjmowania perspektywy związanej z cyklem życia produktu (Life-Cycle Perspective)
  • umiejętność wdrażania najlepszych praktyk w rozwoju nowego produktu cyfrowego lub usługi cyfrowej
  • umiejętność koncentracji na użytkowniku.

Zarówno kompetencje miękkie, jak również twarde pełnią niezwykle ważną rolę w zawodzie Product Managera.

Kwestią dość rzadko podnoszoną jest posiadanie przez Product Managera także umiejętności technicznych, które pozwalają głębiej, rzetelniej, bardziej kompetentnie zrozumieć cały proces tworzenia, utrzymywania, rozwijania produktów cyfrowych.

Znajomość technologii jest do pewnego stopnia niezbędna, jeśli chcemy zarządzać produktami cyfrowymi, rozumieć sposób ich powstawania, działania, ich możliwości oraz ograniczenia.

Czym są umiejętności techniczne? Programowanie a Product Manager

Umiejętności techniczne to rodzaj kompetencji, które z większą łatwością niż kompetencje miękkie poddają się weryfikacji.

it product manager - umiejętności

Znajomość danego języka programowania można sprawdzić, określić jej zakres, poziom zaawansowania.

Jest to wiedza o wiele bardziej obiektywna oraz niezależna od czynników zewnętrznych, kontekstowych, czy sytuacyjnych.

Przykładowo, zdolności komunikacyjnych aż tak łatwo ocenić się nie da, bowiem w o wiele większym stopniu są zależne od:

  • kontekstu
  • sytuacji
  • składu (ilość, różnorodność uczestników interakcji) oraz przebiegu interakcji
  • celów
  • oraz samych sposobów ich szacowania.

Umiejętności miękkie są o wiele bardziej procesualne i subiektywne.

Tym samym bardziej należy ich posiadanie przyjmować „na wiarę”, udzielać kredytu zaufania niż starać się jednoznacznie zweryfikować.

W przypadku umiejętności miękkich weryfikowalność zawsze rozbija się o problem przyjętych kryteriów, sposobów oceniania.

Kompetencje twarde można zbadać w o wiele bardziej bezstronny, obiektywny, jednoznaczny i wiarygodny sposób.

Od Product Managerów najczęściej oczekuje się znajomości (co najmniej w stopniu podstawowym) następujących technologii, usług, rozwiązań, narzędzi:

  • języków programowania (Python, Java, JavaScript, C++, HTML, SQL)
  • platform CMS
  • programów projektowych (np. Figma)
  • usług chmurowych
  • systemów zabezpieczeń
  • programów służących do zarządzania projektami.

Czy to wszystko, czego rynek oczekuje od Product Managera? Oczywiście nie.

Znajomość zagadnień związanych z User Experience, technologią i biznesem jest sednem Product Managementu.

W artykule Martina Erikssona pt. „What is a Product Manager?” znajdziemy bardzo przekonujące omówienie tych związków. W szczególności zależności, wzajemnego przenikania się kwestii biznesowych, z technologicznymi oraz związanymi z User Experience.

W jego ujęciu, Product Management przede wszystkim powinien być skupiony na osiągnięciu celów biznesowych, maksymalizacji wartości produktu cyfrowego.

Jednym z najważniejszych celów biznesowych jest optymalizacja produktu pod kątem jego efektywności finansowej, biznesowej. Nie może być ona w pełni osiągnięta, jeśli Product Manager nie zna dogłębnie swojego produktu.

Znajomość technologii jest w pierwszej kolejności znajomością samego produktu.

Świadomość jak się buduje, w jakim zakresie możliwości oraz ograniczeń poruszają się programiści, z jakim ryzykiem oraz z jaką perspektywą sukcesu jest niezwykle ważna.

Wzajemne zrozumienie zespołów developerskich, projektowych, marketingowych, czy umiejętność przełożenia języka technicznego na bardziej zrozumiały dla interesariuszy, nie posiadających takich kompetencji jest kluczowa w zawodzie Product Managera.

Przekłada się także na wiele korzyści:

  • biznesowych
  • jakościowych
  • związanych z bezpieczeństwem
  • czasem wykonania projektu
  • wydajnością pracy
  • trafnością podejmowanych decyzji.

Product Manager w procesie, w projekcie pełni także rolę swoistego adwokata, reprezentanta przyszłego użytkownika produktu.

Celem Product Managerów jest także uświadomienie specyfiki potrzeb, zachowań, celów, możliwości, oczekiwań użytkowników końcowych.

Znajomość technologii (w sensie znajomości żargonu, ale także sposobów kodowania) znacząco ułatwia zrozumienie, komunikowanie wymogów, potrzeb, oczekiwań.

Product Managerowi, znającemu języki programowania, metodyki prowadzenia projektów, o wiele łatwiej jest przekazać informacje, gdy współdzieli on z programistami (przynajmniej w stopniu podstawowym) ten sam zakres wiedzy.

Zrozumienie sposobu programowania, prowadzenia projektów developerskich pozwala także znacznie wydajniej:

  • planować pracę, tworzyć harmonogramy
  • planować budżety
  • diagnozować zasoby
  • rozwiązywać problemy (biznesowe, techniczne, organizacyjne)
  • podejmować krytyczne decyzje w sposób bardziej świadomy, racjonalny, wynikający z konkretnych przesłanek.

Najlepsze języki programowania dla Product Managerów

Od razu zaznaczmy, że rolą Product Managera nie jest wyręczenie w programowaniu developerów, a jedynie głębsze zrozumienie uwarunkowań ich pracy.

product manager programowanie

Stąd też znajomość języków programowania należy rozumieć nie w sensie umiejętności stworzenia samodzielnie produktu cyfrowego.

Chodzi o rozumienie języka programowania, w szczególności jego:

  • semantyki
  • reguł syntaktycznych - pozwalających budować poprawne wyrażenia
  • funkcji
  • przeznaczenia
  • użyteczności bibliotek
  • typu obsługiwanych danych 
  • kompilacji oraz interpretacji kodu źródłowego.

Rozumiejąc język programowania, rozumie się bowiem:

  • decyzje
  • dylematy
  • możliwości
  • ograniczenia
  • struktury, złożoność
  • konieczności
  • ryzyka.

Jeśli nawet nie wszystkie te kwestie są do wydedukowania z kodu, to z pewnością są łatwiejsze do zakomunikowania, jeśli osoby używają tych samych pojęć.

Tyle teoria. Praktyka jest już bardziej nieoczywista. Z prostego powodu.

Wybór najlepszych języków programowania jest wyborem bardzo trudnym, w którym trudno o uniwersalną formułę wyłonienia najlepszego języka programowania.

Przy tak dużej ilości technologii, wskazanie jednej kosztem drugiej, razić będzie zawsze nadmiernym subiektywizmem.

Wybór języka programowania powinien wynikać z:

  • potrzeb, planów organizacji
  • wykorzystywanego i oferowanego stosu technologicznego
  • aktualnej i przyszłej użyteczności oraz popularności danego języka programowania
  • krzywej uczenia się języka (szybkości, z jaką można nabyć w nim pewną wprawę)
  • dostępności w formule open source - samego języka oraz jego bibliotek i frameworków
  • oceny wielkości, zaangażowania, aktywności społeczności, jaka pracuje nad rozwojem, optymalizacją, zabezpieczeniem danego języka programowania
  • złożoności składni danego języka
  • posiadanego już doświadczenia w programowaniu, nauce języków programowania
  • wszechstronności danego języka
  • dostępności platform e-learningowych, kursów, studiów, szkoleń, pozwalających nabyć nowe kompetencje
  • indywidualnych celów zawodowych.

Niemniej jednak, możliwe jest rekomendowanie języków, które w różnego rodzaju rankingach uzyskują bardzo wysokie pozycje.

Możliwe jest rekomendowanie języków programowania, które od lat cieszą się dużą popularnością i stanowią elementarz kompetencji programistów, oczywisty element stosu technologicznego w większości software house`ów.

Jakie zatem języki programowania warto polecić Product Managerom do nauki, poznania?

JavaScript dla Product Managerów

Znajomość jednego z najbardziej popularnych języków programowania wydaje się dość oczywista. Prawdopodobieństwo, że będzie on wykorzystywany w projektach jest więcej niż wysokie.

Klienci są dobrze zaznajomieni z JavaScript, doceniają zalety tego języka, także wśród developerów jest to język, który cieszy się od lat ogromną popularnością.

W Developer Survey, badaniu przeprowadzanym regularnie przez platformę Stack Overflow, JavaScript od 9 lat zajmuje pierwsze miejsce w kategorii najczęściej używanych języków programowania.

Jest to trend ogólnoświatowy, który jest także widoczny na rynku polskim. Programiści JavaScript są jednymi z najczęściej poszukiwanych na rynku pracy.

product management programowanie

JavaScript jest językiem bardzo wszechstronnym, choć początkowo nic nie wskazywało, że wyjdzie on poza bardzo wąski zakres zastosowania.

Aktualnie JavaScript jest używany do tworzenia aplikacji internetowych, desktopowych, gier internetowych.

Najczęściej jest jednak używany do tworzenia stron i aplikacji internetowych. W  przypadku warstwy front-end jest językiem pierwszego wyboru.

Ogromna popularność JavaScript wytworzyła wokół tego języka bardzo aktywną, liczną społeczność, która aktywnie tworzy nowe frameworki, biblioteki, edytory kodu.

Także od strony edukacyjnej, nauki tego języka programowania osoby chcące go poznać będą mogły skorzystać z właściwie nieskończonej ilości płatnych i darmowych kursów, studiów, bootcampów, książek, tutoriali wideo, for internetowych.

Dla osób zaczynających naukę kodowania, JavaScript oferuje kilka udogodnień. Przede wszystkim do kodowania nie jest więc koniecznie konfigurowanie środowiska programistycznego.

Nauka JavaScript jest bardzo dobrym wstępem do nauki innych języków, na przykład Pythona.

Python dla Product Managerów

Nabierający na znaczeniu, z roku na rok coraz popularniejszy Python jest kolejnym bardzo chętnie polecanym Product Managerom językiem programowania.

Python dla Product Managerów

W różnego rodzaju rankingach, przeprowadzanych lokalnie oraz globalnie, od kilku lat plasuje się w ścisłej czołówce języków:

  • używanych w projektach
  • lubianych
  • polecanych
  • rozwijanych.

W rankingu TIOBE, Python został wybrany językiem programowania roku 2020.

Python jest szczególnie często i chętnie używany do tworzenia stron i aplikacji internetowych, tworzenia aplikacji desktopowych, uczenia maszynowego (Machine Learning), internetu rzeczy (Internet of Things). W branży medycznej, finansowej, edukacji, marketingu ta technologia jest szczególnie chętnie używana.

Python cieszy się opinią języka stosunkowo łatwego do poznania, a na pewno łatwiejszego niż inne popularne języki. Prosta składnia, która bywa porównywana do składni języka angielskiego sprawia, że poznanie podstaw Pythona jest stosunkowo proste.

Bardzo czytelny, klarowny kod oparty na zasadzie DRY - Do Not Repeat Yourself - pozwala pisać aplikacje o wiele szybciej, prościej i bardziej doskonale.

Python w przeciwieństwie do języków kompilowanych, pozwala uruchomić każdy wiersz kodu, tuż po skończeniu pisania, co pozwala od razu zobaczyć efekt i uzyskać informację zwrotną.

Z edukacyjnego punktu widzenia jest to niezwykle cenna zaleta. Podobnie jak bardzo duże wsparcie stanowi ogromna społeczność Pythona, która tworzy, stale rozwija, udoskonala nowe frameworki, biblioteki, ścieżki learningowe.

SQL dla Product Managerów

Structured Query Language - SQL - to kolejny bardzo popularny język programowania, który na pewno warto polecić do nauki Product Managerom. SQL jest standardowym językiem używanym do obsługi relacyjnych baz danych.

Dlaczego jego nauka jest tak ważna? Bowiem żyjemy w świecie danych, dane stały się istotnym, bardzo cennym zasobem, a SQL jest językiem używanym do tworzenia, modyfikowania baz danych oraz do pobierania, wprowadzania, aktualizowania, usuwania rekordów z baz danych.

SQL dla Product Managerów

Mówiąc nieco prostszym językiem SQL służy do pobierania, zarządzania i uzyskiwania dostępu do danych, które znajdują się w bazach danych. A wszystko za pomocą prostych zapytań.

SQL ma stosunkowo przystępną strukturę i jednocześnie pozwala wykonywać złożone zapytania. Znajomość SQL pozwala lepiej, głębiej zrozumieć architekturę baz danych.

Pozwala formułować bardziej trafne pytania i uzyskiwać bardziej rzetelne i trafne odpowiedzi.

Product Manager wiedzę i doświadczenie zdobyte w czasie nauki, korzystania z SQL z pewnością może z pożytkiem wykorzystać do codziennej komunikacji z zespołami technicznymi.

Product Managerowie bardzo często korzystają z arkuszy kalkulacyjnych do wykonywania różnych operacji na danych. Dzięki znajomości SQL niektóre zadania będą mogli wykonywać w sposób o wiele szybszy i bardziej wydajny.

Nauka SQL jest polecana Product Managerom z kilku powodów. Przede wszystkim znajomość SQL pozwala:

  • wyodrębniać dane z zestawów danych
  • pogłębia rozumienie działania aplikacji wykorzystywanych w codziennej pracy
  • pracować „z” i „na” danych, pochodzących z różnych źródeł (np. e-Commerce, social media)
  • dostrzegać trendy
  • rzetelniej analizować dane
  • opracowywać strategie w oparciu o różnego rodzaju dane
  • konsolidować dane pochodzące z wielu źródeł.

Najlepsze języki programowania dla Product Managerów. Podsumowanie

  1. Co robi Product Manager? Product Manager IT zazwyczaj prowadzi produkty od stworzenia ich koncepcji aż do ich uruchomienia.
  2. Product Manager stanowi łącznik między światem technologii (programiści), User Experience (Projektanci UX/UI) oraz światem biznesu (właściciele, akcjonariusze).
  3. Menedżer produktu to osoba, która przede wszystkim identyfikuje potrzeby, cele, oczekiwania biznesowe klienta, określa funkcje, sposób działania produktu, określa mierniki sukcesu, sposoby ewaluacji sukcesu.
  4. Jakie wymagania Product Manager powinien spełniać? Technical Product Manager (w szczególności certyfikowany Product Manager) jest zawodem interdyscyplinarnym, wykorzystującym wiedzę, metodyki, techniki, badania, sposoby analizy wypracowane na gruncie różnych nauk, podejść. W branży IT jest niezwykle pożądany.
  5. Product Managerowie są odpowiedzialni za nadzorowanie, rozwijanie, kontrolowanie, wspieranie, koordynowanie pełnego cyklu życia produktu.
  6. Efektywność pracy Product Managera wpływa na sukces rynkowy produktu, zysk, przychody, stabilność finansowa, kierunek rozwoju produktu, rzetelność, trafność definiowania oraz walidacji sukcesów oraz porażek, badania wydajności produktu.
  7. W zawodzie Product Managera kompetencje miękkie i twarde pełnią równie ważną rolę.
  8. Umiejętności techniczne to rodzaj kompetencji, która z większą łatwością niż kompetencje miękkie poddają się weryfikacji.
  9. Znajomość danego języka programowania można sprawdzić, określić jej zakres, poziom zaawansowania. Jest to wiedza o wiele bardziej obiektywna oraz niezależna od czynników zewnętrznych, kontekstowych, czy sytuacyjnych.
  10. W przypadku umiejętności miękkich weryfikowalność zawsze rozbija się o problem przyjętych kryteriów, sposobów oceniania.
  11. Kompetencje twarde można zbadać w o wiele bardziej bezstronny, obiektywny, jednoznaczny i wiarygodny sposób.
  12. Znajomość technologii jest w pierwszej kolejności znajomością samego produktu. Świadomość jak się buduje, w jakim zakresie możliwości oraz ograniczeń poruszają się programiści, z jakim ryzykiem oraz z jaką perspektywą sukcesu jest niezwykle ważna.
  13. Umiejętność przełożenia języka technicznego na bardziej zrozumiały dla interesariuszy jest kluczowa w zawodzie Product Managera.
  14. Celem Product Managerów jest także uświadomienie specyfiki potrzeb, zachowań, celów, możliwości, oczekiwań użytkowników końcowych.
  15. Znajomość technologii znacząco ułatwia zrozumienie, komunikowanie wymogów, potrzeb, oczekiwań.
  16. Rozumienie języka programowania pozwala zrozumieć głębiej decyzje, dylematy, możliwości, ograniczenia, struktury, złożoność, konieczności, ryzyka, jakie pojawiają się, przed jakimi stają developerzy oraz projektanci.
  17. Wybór najlepszych języków programowania jest wyborem bardzo trudnym.
  18. Możliwe jest rekomendowanie języków, które w różnego rodzaju rankingach uzyskują bardzo wysokie pozycje, cieszących się dużą popularnością i stanowiących elementarz kompetencji programistów.
  19. JavaScript od lat cieszy się ogromną popularnością.
  20. JavaScript jest językiem bardzo wszechstronnym. Aktualnie jest używany do tworzenia aplikacji internetowych, desktopowych, gier internetowych.
  21. W przypadku warstwy front-end JavaScript jest językiem pierwszego wyboru.
  22. Ogromna popularność JavaScript wytworzyła wokół tego języka bardzo aktywną, liczną społeczność, która aktywnie tworzy nowe frameworki, biblioteki, edytory kodu.
  23. Python w różnego rodzaju rankingach od kilku lat plasuje się w ścisłej czołówce języków używanych w projektach, polecanych, aktywnie rozwijanych przez społeczność.
  24. Python cieszy się opinią języka stosunkowo łatwego do poznania. Prosta składnia sprawia, że poznanie podstaw Pythona jest stosunkowo proste.
  25. Structured Query Language to kolejny bardzo popularny język programowania, który na pewno warto polecić do nauki Product Managerom.
  26. Dane stały się istotnym, bardzo cennym zasobem, a SQL jest językiem używanym do tworzenia, modyfikowania baz danych oraz do pobierania, wprowadzania, aktualizowania, usuwania rekordów z baz danych.
  27. Pozwala formułować bardziej trafne pytania i uzyskiwać bardziej rzetelne i trafne odpowiedzi.
  28. Product Manager wiedzę i doświadczenie zdobyte w czasie nauki SQL z pewnością może z pożytkiem wykorzystać do codziennej komunikacji z zespołami technicznymi.
Oceń artykuł:
Journal / Redaktor
Autor: Radek
UX Writer i badacz z wykształcenia + doświadczenia. Zbiera wiedzę The Story i dzieli się nią na Journalu.

Interesuje Cię prototypowanie, zbudowanie produktu cyfrowego?