Bogdan Bereza

Bogdan Bereza Informatyk,
specjalista i trener
SQA, psycholog,
kierowni...

Temat: Co umieć, aby zrobić karierę?

Jestem informatykiem – fachowcem od inżynierii oprogramowania, a także programistą. Dlatego spotykam się często z rozmaitymi fantastycznymi oczekiwaniami: że znam się na różnych grach komputerowych, że umiem zdiagnozować problem z siecią domową, albo że zainstaluję nową kartę graficzną. Gdyby podobne oczekiwania ludzie mieli wobec – dajmy na to – architektów – to projektant wieżowców musiałby w każdej chwili spodziewać się żądania, żeby naprawił kran w łazience, albo fachowo pomalował przedpokój.

Więcej na http://gazeta.testerzy.org.pl/nr/2013-02-17/co_umiec.html. A co Wy sądzicie?
Adam Cieloch

Adam Cieloch Analityk Biznesowy
IT

Temat: Co umieć, aby zrobić karierę?

Niech Pan sprecyzuje na jakim stanowisku ta kariera miała by być zrobiona bądź w jakim obszarze?
Bogdan Bereza

Bogdan Bereza Informatyk,
specjalista i trener
SQA, psycholog,
kierowni...

Temat: Co umieć, aby zrobić karierę?

No, układania kafelków w łazience... ;-)
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Co umieć, aby zrobić karierę?

Bogdan Bereza:
Jestem informatykiem – fachowcem od inżynierii oprogramowania, a także programistą.

to nic nie znaczy, mówi tak o sobie prawie każdy nastolatek...

proces tworzenia oprogramowania ma trzy zasadnicze etapy:
1. opisanie celu biznesowego (co chcę osiągnąć) i wskazanie czego oczekujemy od narzędzia (aplikacja) które jest nam potrzebne, opisanie biznesowej logiki działania wymaganego narzędzia
2. opracowanie projektu implementacji
3. wykonanie implementacji

Testy robi się na każdym etapie:
1. Studium wykonywalności
2. Modele (diagramy) sekwencji dla każdego przypadku użycia (no i przypadki uzycia i model dziedziny)
3. Testy (scenariusze) akceptacyjne

Do tego testy jednostkowe itp... w trakcie.

Mamy więc trzy zasadnicze specjalności, odpowiednio:
1. Analityk Biznesowy
2. Architekt oprogramowania
3. Programista

Można być dobrym w każdej z tych dziedzin, jeżeli ktoś jest "dobry tylko" w jakim jednym czymś to jest to taki młotkowy, który ma problem z robotą... bo wąskie specjalności są potrzebne raczej tylko w megaprojektach...Jarek Żeliński edytował(a) ten post dnia 25.02.13 o godzinie 16:28
Adam Cieloch

Adam Cieloch Analityk Biznesowy
IT

Temat: Co umieć, aby zrobić karierę?

Jarek Żeliński:
Można być dobrym w każdej z tych dziedzin, jeżeli ktoś jest "dobry tylko" w jakim jednym czymś to jest to taki młotkowy, który ma problem z robotą... bo wąskie specjalności są potrzebne raczej tylko w megaprojektach...

Jak czytam coś takiego to mi się scyzoryk w kieszeni otwiera, rzeczywiście np. jak ktoś w dzisiejszych czasach jest bardzo dobry w programowaniu w Javie to ma straszny problem ze znalezieniem pracy.
Gratuluje wielkości własnego ego.
Adam Cieloch

Adam Cieloch Analityk Biznesowy
IT

Temat: Co umieć, aby zrobić karierę?

Bogdan Bereza:
No, układania kafelków w łazience... ;-)

Przepraszam nie przeczytałem artykułu w linku :-)

konto usunięte

Temat: Co umieć, aby zrobić karierę?

Adam Cieloch:
Jarek Żeliński:
Można być dobrym w każdej z tych dziedzin, jeżeli ktoś jest "dobry tylko" w jakim jednym czymś to jest to taki młotkowy, który ma problem z robotą... bo wąskie specjalności są potrzebne raczej tylko w megaprojektach...

Jak czytam coś takiego to mi się scyzoryk w kieszeni otwiera, rzeczywiście np. jak ktoś w dzisiejszych czasach jest bardzo dobry w programowaniu w Javie to ma straszny problem ze znalezieniem pracy.
Gratuluje wielkości własnego ego.

Dokładnie, zgadzam się z Adamem.

@Jarek, tylko w Polsce i innych krajach z krótką historią IT uświadczysz ogłoszenia o pracę w stylu: potrzebny Architekt IT, wygania:
- zarządzanie zespołem programistów
- programowanie (50% czasu)
- kontakty z klientem
- prowadzenie projektu

Wszechstronna wiedza to atut, ale wymaganie pracodawcy aby jedna osoba realizowała wiele ról to najczęściej błąd.

PS. Twoim zdaniem jak ktoś jest stomatologiem, chirurgiem czy dermatologiem to tez jest jak młotkowy?
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Co umieć, aby zrobić karierę?

Adam Cieloch:
Jarek Żeliński:
Można być dobrym w każdej z tych dziedzin, jeżeli ktoś jest "dobry tylko" w jakim jednym czymś to jest to taki młotkowy, który ma problem z robotą... bo wąskie specjalności są potrzebne raczej tylko w megaprojektach...

Jak czytam coś takiego to mi się scyzoryk w kieszeni otwiera, rzeczywiście np. jak ktoś w dzisiejszych czasach jest bardzo dobry w programowaniu w Javie to ma straszny problem ze znalezieniem pracy.
Gratuluje wielkości własnego ego.

mógł byś to rozwinąć, bo chyba nic nie zrozumiałeś... w razie wątpliwości polecam profil Analityka Biznesowego rodem z IIBA, to egzamin dla jednego człowieka a nie zespołu wąskich specjalizacji... i nie ja to wymyśliłem to dyktuje życie ...
poczytać prosze:

http://en.wikipedia.org/wiki/A_Guide_to_the_Business_A...

http://www.iiba.org/IIBA/Certification/CBAP_Designatio...

jeżeli mam tu jakieś ego to powyższy zakres kompetencji...

zacytuje ostatni akapit artykułu, kory zainicjował ten wątek:

Żeby nie dać się wtedy wyprzeć z rynku pracy osobom po 1-2 letnich kursach policealnych, studenci jednak muszą wiedzieć więcej, poznając inżynierię oprogramowania. Niestety, nadal wiele kierunków studiów zbyt koncentruje się na szczegółach technicznych; aby na to zaradzić, trzeba inżynierię oprogramowania poznawać gdzie indziej: samemu, na szkoleniach komercyjnych, lub na studiach podyplomowych.

z czym zgadzam sie w 100%Jarek Żeliński edytował(a) ten post dnia 25.02.13 o godzinie 20:08
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Co umieć, aby zrobić karierę?

Paweł Zubkiewicz:
Wszechstronna wiedza to atut, ale wymaganie pracodawcy aby jedna osoba realizowała wiele ról to najczęściej błąd.

PS. Twoim zdaniem jak ktoś jest stomatologiem, chirurgiem czy dermatologiem to tez jest jak młotkowy?

nie, bardzo dobry stomatolog potrafi wyleczyć zęba co by to nie miało znaczyć, ale nie ma sensu by na rynku szukał pracy "specjalista plombowania zębów trzonowych" czy "specjalista ds. leczenia kanałowego" bo praktycznie zawsze przegra z dobrym stomatologiem, co nie zmienia faktu, że chirurgia szczękowa to osobna specjalizacja...

sorry, czytajcie na spokojnie ze zrozumieniem... nie szukajcie dziury w całym, o drugie czego byście nie napisali o promocji wąskich specjalności, dobry programista potrafi troszkę więcej niż klepanie kodu pod dyktando, dobry architekt potrafi coś więcej niż klepanie projektów w jednej jedynie-słusznej technolgii itp... kim miał by być np. "tester" w dobrym zespole pracującycm w duchu TDD?Jarek Żeliński edytował(a) ten post dnia 25.02.13 o godzinie 20:09
Kamil Grzybek

Kamil Grzybek Architekt
Oprogramowania .NET

Temat: Co umieć, aby zrobić karierę?

Analityk biznesowy, architekt, programista a nawet tester to nie są wąskie specjalizacje według mnie i w dobrze zorganizowanym projekcie mają wystarczająco dużo pracy. Jeżeli architekt ma zarządzać zespołem, projektować system, implementować go a na końcu testować to z dużym prawdopodobieństwem nie zrobi żadnej z tych rzeczy w 100% dobrze (mimo, że może mieć do tego odpowiednie umiejętności i predyspozycje).

Na studiach informatycznych podczas pierwszych semestrów główny nacisk kładzie się na przedmioty ścisłe plus myślenie logiczne i to jest chyba ok. Niestety w późniejszym etapie nawet na specjalizacjach typu inżynieria oprogramowania większość przedmiotów to programowanie w X, programowanie w Y, programowanie Z. Efekt jest taki, że student ani nie pozna dobrze jednego języka i nie nauczy się programować (powiedzmy, liźnie programowania na różnych poziomach), ani nie pozna zagadnień z IO.

Co umieć, aby zrobić karierę? Trzeba być specjalistą w swojej dziedzinie i nie być ignorantem jeśli chodzi o dziedziny powiązane w procesie wytwarzania oprogramowania. Co zrobić żeby tak było? Trzeba samemu siedzieć, wkuwać, czytać, oglądać, próbować, dyskutować itd itp. Żadne studia, żadne szkolenie ani nikt inny nie zrobi z nas specjalisty jeśli my tego sami nie zrobimy.
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Co umieć, aby zrobić karierę?

Jeżeli architekt ma zarządzać zespołem, projektować system, implementować go a na końcu testować to z dużym prawdopodobieństwem nie zrobi żadnej z tych rzeczy w 100% dobrze (mimo, że może mieć do tego odpowiednie umiejętności i predyspozycje).

nikt tego nie napisał, napisałem co jest typową rola architekta i nie widzę w tym co napisałem "zarządzania projektem", "zarządzania ludźmi", to osobna fucha...nie napisałem także, że ma cokolwiek testować...
Kamil Grzybek

Kamil Grzybek Architekt
Oprogramowania .NET

Temat: Co umieć, aby zrobić karierę?

nikt tego nie napisał, napisałem co jest typową rola architekta i nie widzę w tym co napisałem "zarządzania projektem", "zarządzania ludźmi", to osobna fucha...nie napisałem także, że ma cokolwiek testować...

Moja wypowiedź była stwierdzeniem ogólnym w nawiązaniu do przykładowych wymagań na architekta jakie zostały podane kilka postów wyżej i z którymi można się spotkać na co dzień - dlatego też nie cytowałem żadnej wypowiedzi. Druga sprawa to taka, że przynajmniej pracodawca na wstępie oznajmia, że potrzebuje osoby do wszystkiego - gorzej jak się dowiadujemy o tym już po przyjęciu do pracy lub podczas realizacji projektu ;-)
Adam Cieloch

Adam Cieloch Analityk Biznesowy
IT

Temat: Co umieć, aby zrobić karierę?

Jarek Żeliński:
nie, bardzo dobry stomatolog potrafi wyleczyć zęba co by to nie miało znaczyć, ale nie ma sensu by na rynku szukał pracy "specjalista plombowania zębów trzonowych" czy "specjalista ds. leczenia kanałowego" bo praktycznie zawsze przegra z dobrym stomatologiem, co nie zmienia faktu, że chirurgia szczękowa to osobna specjalizacja...

Ale my mówimy o Programiście JAVA a nie o "Specjaliście ds. polimorfizmu" czy "Specjaliście ds. programowania współbieżnego" co nie zmienia faktu, że programowanie współbieżne to osobna specjalizacja. Błagam...
sorry, czytajcie na spokojnie ze zrozumieniem... nie szukajcie dziury w całym, o drugie czego byście nie napisali o promocji wąskich specjalności, dobry programista potrafi troszkę więcej niż klepanie kodu pod dyktando, dobry architekt potrafi coś więcej niż klepanie projektów w jednej jedynie-słusznej technolgii itp... kim miał by być np. "tester" w dobrym zespole pracującycm w duchu TDD?

Użyję Pańskich słów - "nikt tego nie napisał", że programista Java nie powinien potrafić troszkę więcej niż klepanie kodu.
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Co umieć, aby zrobić karierę?

Adam Cieloch:
Ale my mówimy o Programiście JAVA a nie o "Specjaliście ds. polimorfizmu" czy "Specjaliście ds. programowania współbieżnego" co nie zmienia faktu, że programowanie współbieżne to osobna specjalizacja. Błagam...

Dobry programista obiektowy pisze i w Java i .NET i nie tylko...

dlaczego uważasz, że ktoś - tu ja - kto przytacza np. opis kompetencji BA ze strony międzynarodowej organizacji certyfikującej, oraz opis trzech głównych faz procesu tworzenia oprogramowania opisanych na stronie organizacji OMG ma "duże ego"?

konto usunięte

Temat: Co umieć, aby zrobić karierę?

Jarek Żeliński:
Dobry programista obiektowy pisze i w Java i .NET i nie tylko...

Sam pracowałem przez kilka lat jako programista i uważam, że pisać to może i można w wielu językach, ale już tworzyć oprogramowanie to raczej trzeba być ponad przeciętnym (prawa strona rozkładu wykresu Gaussa) a takich osób jak wiadomo jest mało.

Sam Java jest tak wielkim obszarem, że nie wyobrażam sobie, że ktoś jest w stanie być ekspertem w całym tym obszarze, a co dopiero np. w dwoch, gdy dołożymy .NET. Oczywiście mówię tutaj o wysokim doświadczeniu i wiedzy, a nie o tym że ktoś pisze aplikacje w javie i .necie.

Stare powiedznie mówi: jak coś jest od wszystkiego jest do niczego.

Oczywiście w kontekście programisty umiejętności wspierające z takich obszarów jak
- architektura
- analiza biznesowa
- wiedza biznesowa (np. telekomunikacja, bankowości)
- umiejętności tzw. miekkie

Na pewno są pożadane bo dopełniają całości.
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Co umieć, aby zrobić karierę?

Paweł Zubkiewicz:
Sam Java jest tak wielkim obszarem, że nie wyobrażam sobie, że ktoś jest w stanie być ekspertem w całym tym obszarze, a co dopiero np. w dwoch, gdy dołożymy .NET. Oczywiście mówię tutaj o wysokim doświadczeniu i wiedzy, a nie o tym że ktoś pisze aplikacje w javie i .necie.

Owszem, ale ile razy w projekcie trafiasz "megaproblem"? Systemy biznesowe to głównie logika biznesowa, prosta do implementacji ale bardzo trudna do uchwycenia (tu analiza biznesowa a nie programista), projekty biznesowa to nie "sortowanie bąbelkowe".

wymagania biznesowa to głownie reguły biznesowe, do ich implementacji potrzebny jest dobry koder a nie noblista, nobliści są potrzebni czasami do wywiązania się z wymagań pozafunkcjonlanych...

problemy wielu projektów pojawiają się, gdy tak zwany analityk wymagań przekaże tylko posortowane stenogramy z sesji JAD i wywiadów, a bogu ducha winnego programistę obciążą się zadaniem ich zrozumienia i implementacji: takie podejście to jest skuteczna recepta na porażkę.

konto usunięte

Temat: Co umieć, aby zrobić karierę?

Jarek Żeliński:
wymagania biznesowa to głownie reguły biznesowe, do ich implementacji potrzebny jest dobry koder a nie noblista, nobliści są potrzebni czasami do wywiązania się z wymagań pozafunkcjonlanych...

problemy wielu projektów pojawiają się, gdy tak zwany analityk wymagań przekaże tylko posortowane stenogramy z sesji JAD i wywiadów, a bogu ducha winnego programistę obciążą się zadaniem ich zrozumienia i implementacji: takie podejście to jest skuteczna recepta na porażkę.

Zgadzam się z Tobą.

Dodam tylko, że "koder" to pejoratywnie nacechowane określenie (jak małpa bądź student robi co jej każą bez własnej refleksji).

Dobry programista jest jak dobry rzemieślnik, zna się na swojej robocie ;-)
Dzięki czemu rozwiązanie końcowe jest wysokiej jakości i dostarczone na czas (oczywiście gdy inne role nie zawalily sprawy). Tutaj się odwołuje do ruchu Software Craftsmanship.
Kamil Grzybek

Kamil Grzybek Architekt
Oprogramowania .NET

Temat: Co umieć, aby zrobić karierę?

Jarek Żeliński:

Owszem, ale ile razy w projekcie trafiasz "megaproblem"? Systemy biznesowe to głównie logika biznesowa, prosta do implementacji ale bardzo trudna do uchwycenia (tu analiza biznesowa a nie programista), projekty biznesowa to nie "sortowanie bąbelkowe".

Zdecydowanie się nie zgodzę z tezą, że logika biznesowa jest prosta do implementacji a trudna do uchwycenia. Może tak być ale nie musi. Czasami jest odwrotnie - logika biznesowa jest w miarę prosta a implementacja jest trudna ze względu na rożne ograniczenia (architektura, model danych, technologia, standardy, integracja z innymi systemami).

konto usunięte

Temat: Co umieć, aby zrobić karierę?

Kamil Grzybek:

Zdecydowanie się nie zgodzę z tezą, że logika biznesowa jest prosta do implementacji a trudna do uchwycenia. Może tak być ale nie musi. Czasami jest odwrotnie - logika biznesowa jest w miarę prosta a implementacja jest trudna ze względu na rożne ograniczenia (architektura, model danych, technologia, standardy, integracja z innymi systemami).

Przykłady które podajesz są w dużej mierze problemami wynikającymi z wymagań niefunkcjonalnych. Wynikają z zawiłości technologi lub braku wiedzy na temat konsekwencji jej użycia. Jednak rozwiązania czysto techniczne mają w swojej naturze tendencję do bycia uniwersalnymi w danym obszarze np. komputer pc, siec światłowodowa, serwer aplikacji. Różne firmy z powodzeniem mogą korzystać z tych samych komputerów, czy serwerów aplikacji, baz danych. Jednak już tego samego ERPa nie wdrożysz do kopalni i szpitala, no chyba że to SAP :-P ale nawet w tym wpadku konfiugracja będzie tak różna, że to będą zupełnie inne rozwiązania biznesowe. I tutaj się kłania analityk biznesowy właśnie.

Od technicznej strony wygląda to tak, że coraz więcej wykorzystujemy gotowych komponentów i tylko łączymy je w całość. Przykładowo mamy bazy obiektowe, relacyjne a jakiś czas temu pojawił się ruch NoSQL - to tak na przestrzeni ostatnich dajmy na to 25 lat. Kiedy ostatni raz miałeś taką sytuację, że musiałeś zaprojektować nowy silnik bazy danych?
Przypuszczam, że nigdy, bo w większości projektów to co mamy wystarcza. No chyba, że jesteś amazon czy google i masz, jak to Jarek nazwal, "megaproblem". W tedy inżynier może się na prawdę popisać.

Prawda jest taka, że nie da się tworzyć rozwiązań IT w pojedynkę, każda rola jest potrzebna. Każdy ma problemy i pracę w której może się wykazać.
Jarosław Żeliński

Jarosław Żeliński Analityk i
Projektant Systemów

Temat: Co umieć, aby zrobić karierę?

Paweł Zubkiewicz:
Dodam tylko, że "koder" to pejoratywnie nacechowane określenie (jak małpa bądź student robi co jej każą bez własnej refleksji).

nie taka była moja intencja... ale racja, chyba warto zrezygnować z nazwy, używam jest czasem w dobrej wierze bo spotykam te "nazwę" w firmach developerskich..
Dobry programista jest jak dobry rzemieślnik, zna się na swojej robocie ;-)
Dzięki czemu rozwiązanie końcowe jest wysokiej jakości i dostarczone na czas (oczywiście gdy inne role nie zawalily sprawy). Tutaj się odwołuje do ruchu Software Craftsmanship.

:) ano



Wyślij zaproszenie do