Co odróżnia programistę z pracą od programisty bez pracy?

0

A ja się zastanawiam komu zależy na szerzeniu tej całej propagandy o tym że dobrzy programiści zawsze znajdą pracę? Tak było może 10 - 15 lat temu ale chyba nie dziś. Przede wszystkim należy chyba zdefiniować pojęcie "dobrego programisty". Bo chyba nie chodzi tu o X lat doświadczenia w danym języku czy nie wiadomo ile projektów z którymi taki miał do czynienia. Jeśli ktoś pracuje jako freelancer to wie albo powinien wiedzieć, że najważniejsza sprawa to zadowolenie klienta a jakość pracy takiego programisty freelancera będzie w praktyce mierzona reklamacjami i karami umownymi. Oczywiście z reklamacjami związane są wykryte błędy w aplikacji, choć nie tylko. Zresztą nie dotyczy to tylko freelance.

Przede wszystkim należałoby sobie uświadomić jedną zasadniczą rzecz. Nawet bardzo dobry programista z najwyższej półki będzie przymierał głodem jeżeli:

  • żaden pracodawca/zleceniodawca o nim nie wie
  • zajmuje się jakąś niszą na rynku ale nie jest ona wystarczająca (czyli np. mało programistów i jeszcze mniej miejsc pracy, brak zleceń bo nie ma zapotrzebowania na aplikacje którymi się zajmuje)
  • ma ogromną konkurencję (szczególnie widać to na ZPN)
  • ma słaby marketing
  • warunki mu na to nie pozwalają (np. bardzo trudna w Polsce relokacja)
  • wysyła CV tam gdzie ma małe szanse na zatrudnienie (szczególnie można by się zastanawiać nad sensem kontaktowania się z agencjami które w zasadzie tylko budują sobie bazy danych)

To wtedy można być i najlepszym i można być miesiącami jeśli nie latami bez pracy.

0
  • żaden pracodawca/zleceniodawca o nim nie wie

No shit Sherlock! Dlatego trzeba czasem wysłać jakieś CV do potencjalnego pracodawcy. Przecież to oczywiste że nawet jak jesteś mega hackerem ale cały dzień siedzisz w domu i nigdzie publicznie się nie dzielisz swoimi umiejętnościami to nikt nie będzie o nich wiedział ;]

  • zajmuje się jakąś niszą na rynku ale nie jest ona wystarczająca (czyli np. mało programistów i jeszcze mniej miejsc pracy, brak zleceń bo nie ma zapotrzebowania na aplikacje którymi się zajmuje)

To prawda, ale dobry programista od klepacza różni się tym że rozumie że technologia to tylko narzędzie i że technologie sie zmieniają. Jeśli ktoś definiuje siebie jako "Programistę Javy" albo "Programistę COBOLa" a nie po prostu jako "Programistę" to może się właśnie w ten sposób przejechać. Dobry programista potrafi dość szybko ogarnąć nowe technologie, nowy framework, czy nowy język, bo przecież to co jest najwazniejsze, czyli to "jak rozwiązać dany problem" sie wcale nie zmienia. Zmienia się tylko trochę składnia języka czy funkcjonalności które daje framework.
Ale jeśli ktoś siada na laurach po nauczeniu sie jednego języka i uznaje ze "to mu wystarczy" to nie jest dobrym programistą ;]

  • ma ogromną konkurencję (szczególnie widać to na ZPN)

Nie ma konkurencji na rynku specjalistów. Konkurencja jest na poziomie gimnazjalistów którzy klepią kalkulatory w C albo stronki w php (czyli m.in. podane przez ciebie zlecenia-przez-net).
Wszystko dzisiaj działa w oparciu o komputery i zapotrzebowanie na programistów rośnie, bo w każdej dziedzinie pojawiają się dla nich stanowiska.

  • ma słaby marketing

To niech przestanie pracować jako freelancer i zacznie pracować dla kogoś, kto się na marketingu zna. Albo niech zatrudni marketingowca ;) Może się okazać ze więcej zarobi kodując w tym czasie który zmarnowałby na marketing, niż ten marketingowiec będzie go kosztował.

  • warunki mu na to nie pozwalają (np. bardzo trudna w Polsce relokacja)

Nie wiem co jest trudnego w relokacji. Zresztą wiele firm pozwala pracować zdalnie.

  • wysyła CV tam gdzie ma małe szanse na zatrudnienie (szczególnie można by się zastanawiać nad sensem kontaktowania się z agencjami które w zasadzie tylko budują sobie bazy danych)

Jak nie wyślesz CV to nigdy się nie dowiesz czy by cie gdzieś zatrudnili. Skoro cie nie zatrudniają to moze jednak nie jesteś jeszcze taki dobry? Nie wiem po co wg ciebie agencje mialyby "budować sobie bazę" kiedy zwykle maja 40% marży za ludzi których zwerbują. Dużo bardziej opłaca się im jednak kogoś zatrudnić...

0

IMHO największą przeszkodą w szukaniu pracy są kretyńskie rekrutacje, np.:

  • programowanie na kartce / tablicy podczas rozmowy
  • brainteasery
  • testy psychologiczne
    Wszystkie trzy punkty można wyćwiczyć choć jest to nudne i upierdliwe.
0
Shalom napisał(a):

Jak nie wyślesz CV to nigdy się nie dowiesz czy by cie gdzieś zatrudnili. Skoro cie nie zatrudniają to moze jednak nie jesteś jeszcze taki dobry? Nie wiem po co wg ciebie agencje mialyby "budować sobie bazę" kiedy zwykle maja 40% marży za ludzi których zwerbują. Dużo bardziej opłaca się im jednak kogoś zatrudnić...

Obecnie pracuję jako freelancer, specjalizuję się tylko i wyłącznie w aplikacjach desktopowych dla Windows. O to właśnie chodzi że wszyscy dla których miałem przyjemność współpracować są zadowoleni z mojej pracy, podejrzewam jednak że jak już wyżej zostało napisane, nie przeszedłbym kretyńskich i szablonowych rekrutacji. Nie ważne że na frilansie radzę sobie znakomicie i mam zadowolonych klientów. Nie przejdę testów więc nie nadaję się na etat. CV wysyłałem wielokrotnie do znanych i poważnych agencji HR, szanse na odpowiedź są duże, jednak kończy się tylko na rozmowie telefonicznej.

4
drorat1 napisał(a):

A ja się zastanawiam komu zależy na szerzeniu tej całej propagandy o tym że dobrzy programiści zawsze znajdą pracę?

Mi. Płacę 10 zł każdemu, kto tak napisze na forum. @Shalom już sobie za to kupił trabanta na gaz łupkowy.

Bardzo dobrzy programiści nie szukają pracy na ZPN, tylko rekrutują się do poważnych firm, w których zarabiają poważne pieniądze.

drorat1 napisał(a):

Obecnie pracuję jako freelancer, specjalizuję się tylko i wyłącznie w aplikacjach desktopowych dla Windows. O to właśnie chodzi że wszyscy dla których miałem przyjemność współpracować są zadowoleni z mojej pracy, podejrzewam jednak że jak już wyżej zostało napisane, nie przeszedłbym kretyńskich i szablonowych rekrutacji. Nie ważne że na frilansie radzę sobie znakomicie i mam zadowolonych klientów. Nie przejdę testów więc nie nadaję się na etat.

A może nie nadajesz się na etat, bo:

  • nie potrafisz pracować zespołowo;
  • nigdy nie tworzyłeś prawdziwych aplikacji, tylko małe programiki;
  • znasz tylko technologie, których nikt w firmach już nie potrzebuje.
    Pomyśl o tym z tej strony.

CV wysyłałem wielokrotnie do znanych i poważnych agencji HR, szanse na odpowiedź są duże, jednak kończy się tylko na rozmowie telefonicznej.

Znanych i poważnych agencji HR? Chyba nie ma czegoś takiego. Te agencje to zwykle grupa absolwentek pedagogiki mająca na celu wyszukiwać w CV buzzwordów i na tej podstawie kwalifikująca kandydatów do pracy w cienkich firmach.

0

Obecnie pracuję jako freelancer, specjalizuję się tylko i wyłącznie w aplikacjach desktopowych dla Windows.

A teraz sprawdź na dowolnym portalu z ogłoszeniami ile poważnych firm potrzebuje takich kompetencji. Ciekawe czy znajdziesz cokolwiek ;] Jasne że hurtowania pana zbigniewa albo sklep u pani jadzi mogą za kilkaset złotych kupić jakiegoś cruda w swingu którego może zaklepać gimnazjalista w 2 dni, ale to o niczym nie swiadczy.
Twoje narzekanie jest śmieszne - to tak jakby narzekać że strugasz krzesła z drewna a nie chcą cię zatrudnić w dużej fabryce (bo tam krzesła robia obrabiarki cyfrowe, a ty umiesz tylko operować dłutem). Sąsiad i szwagier pewnie nawet od ciebie te krzesła kupią (nawet jak będą trochę krzywe)... Krzesła to i tak słaby przykład, bo można na tym nieźle zarobić jak ktoś robi dobre, ręcznie robione krzesła ;]

Tak jak pisałem wczesniej -> dobry programista to nie jest ktoś kto zna na blachę API jakiejś jednej technologii i świata poza nią nie widzi. Dobry programista to jest ktoś kto cały czas się dokształca i idzie z duchem czasu. Jasne że dobrze być w czymś specjalistą, ale to nie znaczy że trzeba sie zamykać na inne doświadczenia. To że ktoś dziś pracuje jako programista Javy i Springa nie znaczy ze wieczorami nie stuka sobie w Scali i Play i na przykład za rok czy dwa nie zacznie pracować jako programista Scali.

0

Udział w rynku 25% to chyba jeszcze nie jest tak źle. Ale w sumie to macie rację. Na freelancingu można się spodziewać wykonywania jakichś małych aplikacji za nie więcej niż 1000 zł, zdobyć poważniejsze za 5 - 20K to już nie lada wyzwanie bo takie trudno dostać. ZPN i Oferia służą tylko i wyłącznie do szukania frajerów, brałem udział w kilku aukcjach gdzie projekt wyglądał dość poważnie a były to aplikacje dla Windows, problem polegał na tym że takie aukcje były tylko i wyłącznie badaniem rynku bo nikt z licytujących nie został wybrany. Plusem jest mała konkurencja (dosłownie może kilku licytujących), czego nie powiedziałbym o aukcjach na strony www czy serwisy internetowe, aplikacje internetowe czy mobilne. Zauważyłem że na ZPN działa dużo agencji interaktywnych szukających podwykonawców lub studentów chcących coś na zaliczenie. Więc nie jest to miejsce do zarabiania jakichś sensownych pieniędzy.

Znam kilka języków takich jak DELPHI, C++, C#, JAVA i Python i doskonale wiem jaki język wybrać w zależności od wymagań klienta co do aplikacji desktopowej. Skoro już proponujecie rozszerzenie zakresu moich działań, zastanawiam się nad ASP.NET, jako że C# przypadł mi bardziej do gustu niż JAVA. Nie uważam za jakiś szczególny problem przejście na ASP.NET, szczególnie przy pomocy MS Visual Web Developer, natomiast do tej pory nie mam nic do pokazania w tej technologii.

1

Ja jako freelancer robiłem raczej projekty typu 5-10k i miesiąc rzetelnej pracy, moim zdaniem w coś za 1k mogą się bawić co najwyżej studenci.

To 25% wynika z tego, że na takie rozmowy akurat się ostatnio wybrałem. Realnie udział desktopa szacuję na jakieś 10%. Dlatego choćby pobieżna znajomość weba jest moim zdaniem konieczna dla typowego programisty. Z drugiej strony, nawet pracując przy tworzeniu aplikacji webowej można się zajmować backendem, pisaniem procesów biznesowych, operacji na bazie, testów do tego, i w ogóle z www nie mieć do czynienia. Warunkiem jest duży projekt i duży zespół, żeby była możliwa taka specjalizacja pracowników.

0

Jasne że teraz większość ludzi do szczęścia potrzebuje przeglądarki i wszystko teraz przenosi się do chmury obliczeniowej albo na urządzenia mobilne ale to jest nic innego jak tylko efekt potężnego marketingu i ogromnego hajsu ładowanego w technologie internetowe i mobilne.

Rozumiem że profesjonalny programista powinien doskonale orientować się w technologiach i w zależności od wymagań klienta wybrać odpowiednią technologię do realizacji jakichś aplikacji webowych. Jednak biorąc pod uwagę ilość tych wszystkich frameworków i różnych technologii (w grę wchodzi JAVA EE, ASP.NET, DJANGO, RoR, PHP) to prawdę mówiąc życzę powodzenia każdemu kto zamierza to wszystko opanować. :-) JAVA mnie jakoś nie kręci a z tego co się zorientowałem, J2EE jest dość skomplikowana. Już wolę .NET a co do języków dynamicznie typowanych, dość prosty i przyjemny jest python i tu dobre jest DJANGO. :-)

0
drorat1 napisał(a):

Jasne że teraz większość ludzi do szczęścia potrzebuje przeglądarki i wszystko teraz przenosi się do chmury obliczeniowej albo na urządzenia mobilne ale to jest nic innego jak tylko efekt potężnego marketingu i ogromnego hajsu ładowanego w technologie internetowe i mobilne.

Aplikacje webowe łatwiej utrzymywać, aktualizować i zabezpieczać. To nie jest czyjeś widzimisię tylko spore oszczędności dla firmy. Wszystko, co nie musi pracować na lokalnym komputerze, a zwłaszcza interfejsy do baz danych, lepiej zrobić jako aplikacje webowe.

Jednak biorąc pod uwagę ilość tych wszystkich frameworków i różnych technologii (w grę wchodzi JAVA EE, ASP.NET, DJANGO, RoR, PHP) to prawdę mówiąc życzę powodzenia każdemu kto zamierza to wszystko opanować. :-)

Ale po co opanowywać wszystko? Wystarczy opanować jedną technologię dobrze i pracować w tam, gdzie jest ona wykorzystywana.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.