Zarobki dla programisty C++ ?

1

Jak w temacie , chyba dobry dział wybrałem :)
Dokładniej chodzi o miasto Wrocław, mam propozycje pracy z wynagrodzeniem 6800 zł netto miesięcznie na pierwsze 3 miesiące okresu próbnego ( aż zdziwiony byłem że na wstępnej rozmowie padła jakaś kwota a że netto to 1 raz usłyszałem ).

Pytanie jak takie zarobki się mają do Wrocławia bo nie wiem jak na to patrzeć ?
Może ktoś jest z Wrocławia to podpowie ?

0

Coś z systemami embedded ? No właśnie, jakie doświadczenie :)

0

Udokumentowanego świadectwami pracy to 8 lat , licząc z okresem freelancingu to by jakieś 9 z kawałkiem było.

W tych świadectwach jest jeszcze pół roku adminowania w szkole :P

0

6800 zł netto na umowę o pracę to 9577 zł brutto. 8 lat doświadczenia to pozycja senior developer, więc stawka wydaje się w miarę sensowna.

0

Jak chcesz to możesz wrzucić albo przesłać opis pracy to może będę mógł zreversować firmę. 2 lata pracowałem we Wrocławiu to znam trochę firm.
Jeżeli chodzi o kasę to całkiem ok jak na Wrocław.

0
Shalom napisał(a):

6800 zł netto na umowę o pracę to 9577 zł brutto. 8 lat doświadczenia to pozycja senior developer, więc stawka wydaje się w miarę sensowna.

Też mi się tak wydaje tylko szkoda że nie wiem do końca co miał bym tam robić , może stawka sensowna bo z pracy znowu zacznę wracać o 22 :/

0

C++ powoli zyskuje na popularności, zwłaszcza w dużych firmach/korporacjach. Takie zarobki to zatem standard, bo ciężko o dobrego programistę umiejącego porządnie programować w C++. Większość studentów rozwija swoje umiejętności w kierunkach języków skryptowych i wysokiego poziomu, które niestety pokaźnych pieniędzy nie gwarantują. I z roku na rok będzie to widać coraz mocniej. A wszystko przez zapotrzebowanie na moc obliczeniową, która rośnie szybciej niż wydajność sprzętu. Właśnie dlatego opłaca się inwestować w języki niższego poziomu, ponieważ zmniejszają zapotrzebowanie na zasoby sprzętowe = zmniejszają koszt prowadzenia usług (mniej kupowania komputerów i mniejsze zużycie prądu).

5

@michalo2882:
Masz jakieś staty czy wymyślasz po prostu? Moim zdaniem nie ma powodu, żeby nie zarobić w językach wysokiego poziomu co najmniej tyle samo co w językach niskiego poziomu, jeśli zdeterminowanie jest na podobnym poziomie.

A wszystko przez zapotrzebowanie na moc obliczeniową, która rośnie szybciej niż wydajność sprzętu. Właśnie dlatego opłaca się inwestować w języki niższego poziomu, ponieważ zmniejszają zapotrzebowanie na zasoby sprzętowe = zmniejszają koszt prowadzenia usług (mniej kupowania komputerów i mniejsze zużycie prądu)

No niestety w C++ refaktoryzacja jest toporna w porównaniu do np Javy, a średnia różnica wydajności nawet w syntetykach nie taka znowu duża (mniej niż 2x). Czas który miałby być np stracony na kopanie się z C++ można przeznaczyć na przebudowanie i zoptymalizowanie architektury, czyli optymalizacje na wysokim poziomie. Wszyscy chyba wiedzą, że lepiej użyć QuickSorta napisanego nawet w Haskellu niż BubbleSorta klepniętego w czystym asemblerze jeśli mamy sortować duże tablice.

1

Ja osobiście odnoszę wrażenie że popularność C++ nie zmieniła się ani trochę od 10 lat.
Dopiero jak nokia wypromowała QT to wyskoczyła masa ogłoszeń "Programista C++/QT" pamiętam że rok temu jak rozglądałem się za nową pracą to na co drugiej rozmowie pytali o QT. Teraz jak by się trochę uspokoiło i wróciło do normalności wszystko ;).

2
michalo2882 napisał(a):

C++ powoli zyskuje na popularności, zwłaszcza w dużych firmach/korporacjach. Takie zarobki to zatem standard, bo ciężko o dobrego programistę umiejącego porządnie programować w C++. Większość studentów rozwija swoje umiejętności w kierunkach języków skryptowych i wysokiego poziomu, które niestety pokaźnych pieniędzy nie gwarantują.

Języki pieniędzy nie gwarantują, ale umiejętności już tak. Dobry programista każdego języka może dobrze zarabiać.

I z roku na rok będzie to widać coraz mocniej. A wszystko przez zapotrzebowanie na moc obliczeniową, która rośnie szybciej niż wydajność sprzętu. Właśnie dlatego opłaca się inwestować w języki niższego poziomu, ponieważ zmniejszają zapotrzebowanie na zasoby sprzętowe = zmniejszają koszt prowadzenia usług (mniej kupowania komputerów i mniejsze zużycie prądu).

Języki niższego poziomu (a zarazem wątpliwej proweniencji i moralności) jak C++, wydłużają czas pracy programistów i testerów, co znacznie zwiększa koszt tworzenia i rozwijania systemów.

W Twoje zmyślne tezy uwierzę, gdy firmy zaczną przepisywać swoje (bardzo często webowe) CRMy i ERPy na C++. ;]

0

No już wszystko jasne , firma to Nokia :) już mam od nich odpowiedz ( swoją drogą aż mi wstyd że na babkę od rekrutacji naskoczyłem przed wczoraj, 10 telefon chyba odnośnie pracy i kolejne durne pytania ).

1
michalo2882 napisał(a):

C++ powoli zyskuje na popularności, zwłaszcza w dużych firmach/korporacjach. Takie zarobki to zatem standard, bo ciężko o dobrego programistę umiejącego porządnie programować w C++. Większość studentów rozwija swoje umiejętności w kierunkach języków skryptowych i wysokiego poziomu, które niestety pokaźnych pieniędzy nie gwarantują. I z roku na rok będzie to widać coraz mocniej. A wszystko przez zapotrzebowanie na moc obliczeniową, która rośnie szybciej niż wydajność sprzętu. Właśnie dlatego opłaca się inwestować w języki niższego poziomu, ponieważ zmniejszają zapotrzebowanie na zasoby sprzętowe = zmniejszają koszt prowadzenia usług (mniej kupowania komputerów i mniejsze zużycie prądu).

Minusujecie post kolegi, moim zdaniem niesłusznie. Dzisiaj C++ jest traktowany strasznie po macoszemu na uczelniach, trudno zresztą wskazać wykładowców akademickich, którzy potrafią w nim programować. To nie jest prosty język, ale niesamowicie potężny. C++11 połączone z bibliotekami do efektywnego zrównoleglania kodu, to naprawdę cudo. C++11 pokazuje też np. że coś takiego jak garbage collector jest kompletnie zbędne o ile trzymamy się dobrych praktyk kodowania.

Moim zdaniem wraz z pojawieniem się nowego standardu C++ na powrót może z powodzeniem zastępować Javę i C#. Te technologie wciąż mają przewagę w postaci ogromnych bibliotek standardowych, ale trend jest taki żeby biblioteka standardowa C++ powiększała się teraz znacznie szybciej. Język jest już generalnie gotowy, niemal wszystko co chciano poprawić, udało się zrealizować i teraz komisja standaryzacyjna będzie skupiać się na umilaniu życia programistów.

3

Języki zarządzane mają takie przydatne bajery jak refleksję, serializację czy wzbogacanie/ generowanie bajtkodu w locie. Dynamiczna dewirtualizacja metod w Javie także działa bardzo dobrze - wszystkie metody w Javie są wirtualne. Spróbuj napisać duży program w C++ ze wszystkimi metodami wirtualnymi (oprócz tych statycznych) z obsługą wtyczek, które też będą korzystały z metod wirtualnych. Jak to będzie miało znośną wydajność to będzie sukces. Bez tych wszystkich bajerów C++ raczej nie odwróci trendu ku językom zarządzanym.

C++11 połączone z bibliotekami do efektywnego zrównoleglania kodu, to naprawdę cudo.

Java ma fork/ join, exectutory, itd, C# ma Parallel.For (czy jakoś tak) i pewnie też sporo funkcjonalności podobnych do tych Javowych, a Scala to w ogóle ma masę funkcjonalności do zrównoleglania kodu włącznie z elastycznym mechanizmem aktorów.
Mechanizmy wielowątkowości dla C/ C++ istnieją już dziesiątki lat i C++11 żadnych nowości tutaj nie wprowadza. Jedyne co wprowadza to ustandaryzowanie interfejsu do zarządzania wątkami i lepszą (pojęcie trochę subiektywne) składnię.

0
Wibowit napisał(a):

Spróbuj napisać duży program w C++ ze wszystkimi metodami wirtualnymi (oprócz tych statycznych) z obsługą wtyczek, które też będą korzystały z metod wirtualnych.

Z kolei jak piszesz w Javie strukturalnie, to Ci te wszystkie klasy przeszkadzają i zaciemniają kod. Jeżeli w twoim programie żyłowanie wydajności nie jest potrzebne, to nie pisz go w C++. Nie da się stworzyć języka, który będzie dobry do wszystkich zastosowań. Piszesz, że Java jest tylko wolniejsza od C++ dwukrotnie. Rzeczywiście, to w większości przypadków nie ma znaczenia, bo i tak czekasz na IO, czy bazę danych. To wtedy nie używaj C++. Java z założenia jest językiem prostym, stawiającym na wygodę programowania i na szybkość. W C++ z kolei głównym założeniem jest to, że ma być możliwość napisania jak najszybszego programu. Dlatego np. metody nie są domyślnie wirtualne, nie używa GC, tylko trzeba o tym myśleć (wykorzystanie w tym celu stosu poprzez RAII jest szybsze).

Można to zobaczyć na przykładzie szablonów. Składnia ich nie jest najprzyjemniejsza, nie pisze się ich najwygodniej (używanie z kolei już jest wygodne), ale dają ci możliwość zrobienia funkcji generycznych nie płacąc przy tym nic poza wielkością wynikowego programu i czasem kompilacji (główny przykład: std::sort vs qsort). Nie mówię, że nie da się takiego języka zrobić lepiej (D ;)) i język programowania może bez kłopotu nie być "context free" (do elementów krotki trzeba odwoływać się za pomocą get<1>(krotka), bo inaczej trzeba by pisać krotka.template get<1>()). Jednak C++ dużo się dzięki ostatniemu standardowi rozwinął, zachowując jednak kontrolę nad programem.

Oczywiście pisząc np. aplikację biznesową w C++ to wiercisz dziurę w ścianie gwoździem. Musisz się namęczyć, a efekt i tak będzie ten sam. Są jednak sytuacje, gdzie pięciokrotnie większy koszt programistów jest niwelowany z nawiązką przez koszt dwukrotnie mniejszej farmy serwerów. Dodatkowo są systemy, gdzie masz ograniczoną wydajność i potrzebujesz wycisnąć z nich jak najwięcej, choć w tym wypadku C też się mocno trzyma. Nie można też zapominać o grach, gdzie silniki tytułów pisanych przez duże studia są praktycznie wyłącznie w C++. C++ nie jest ładnym językiem, gdyby dało się go zastąpić jakimś innym, to zostałby jak COBOL w dziedzinie legacy system. Można np. popatrzyć na Fortrana, jest to język zdecydowanie gorszy, niż większość języków w powszechnym użytku, ale jest także najprostszym językiem do napisania wysokowydajnych programów obliczeniowych na macierzach i nadal w tej dziedzinie króluje (może, gdyby szablony w C++ były łatwiejsze w użyciu, to by się to zmieniło).

0

Są jednak sytuacje, gdzie pięciokrotnie większy koszt programistów jest niwelowany z nawiązką przez koszt dwukrotnie mniejszej farmy serwerów.

Na pewno wszędzie tam, gdzie jest wykorzystywane PHP, Python, Ruby, etc nie ma to miejsca, bo produkcyjne interpretery owych języków są kilkadziesiąt razy wolniejsze od zoptymalizowanego natywnego kodu wygenerowanego z C++.

Myślę, że ogólnie w miażdżącej większości przypadków stawia się na szybkie napisanie kodu, a nie na bardzo szybkie działanie kodu. Sami zadajcie sobie pytanie ile razy szef od was oczekiwał szybkiego napisania kodu, a ile razy oczekiwał napisania szybkiego kodu i jak dużo płaci za zoptymalizowany niskopoziomowo kod.

Poza tym kompilacja do natywnego kodu wcale nie oznacza, że ten kod będzie szybszy od kodu skompilowanego w locie przez JVM. Wystarczy spojrzeć na http://shootout.alioth.debian.org/u64q/which-programming-languages-are-fastest.php żeby zauważyć, że Free Pascal generuje strasznie wolny kod i Java jest ponad 2x szybsza. FPC nie ma nawet startu do kodu wygenerowanego przez Glasgow Haskell Compiler. Jeśli chodzi o narzut kompilacji w locie - można go wyeliminować korzystając z Excelsior JET, ale są potencjalnie lepsze sposoby jak np współdzielona maszyna wirtualna dla wielu procesów Javowych - na razie jednak chyba niczego takiego nie ma.

0

Odkopię temat pytaniem, o stawki dla młodszego programisty C++. Doświadczenie - tylko praktyki, region - Poznań. Można spodziewać się stawki ok. 12-15 zł/h netto?

0

Ja dostawałem 3,500 brutto ale wiem że można nawet i do 5 dociągnąć zależy jaka firma.

0

Odkopię temat pytaniem, o stawki dla młodszego programisty C++. Doświadczenie - tylko praktyki, region - Poznań. Można spodziewać się stawki ok. 12-15 zł/h netto?

Ja w gorszym regionie jakim jest Bydgoszcz bez doświadczenia na start dostałem 15zl netto. Po kilku miesiącach podwyżka do 21zl. To nadal trochę murzyńska stawka ale na razie nie mogę wybrzydzać. Tyle, że szefowi spodobały się moje prywatne projekty no i miałem referencje od prywatnych zleceniodawców.

0

C++ jest w odwrocie przede wszystkim ze względu na to, że nigdy nie dorobił się dobrej biblioteki GUI.
A gdy już Qt zostąło uwolnione (zmiana na LGPL), to było o wiele za późno, bo na fali były serwisy www.
GTK+ było robione głównie z myślą o Linux, a na wxWidgets ludzie narzekają że za bardzo przypomina MFC.

Ja C++ bawię się tylko hobbystycznie, ale sam sobie musiałem zrobić strukturę która będzie persystentna w dostatecznym stopniu, kompatybilna z JSON, SQLite i STL.
Trochę to dla mnie dziwne, że oprócz Boost i Qt dla C++ nie ma żadnych frameworków bardziej wysokopoziomowych jak w językach PHP, Python - gdzie framework służy do budowania produktu a nie do np. wymyślnego wywoływania funkcji...
Może się nie znam, a może te biblioteki które są chowają się za 3-cyfrowymi cenami w dolarach - dla mnie niedostępne prywatnie.

Sam język to nie wszystko - liczą się też dostępne biblioteki i oferty pracy.
Teraz możliwe, że klienci trochę się opamiętali - gdy doszli do granicy możliwości maszyny i chętniej patrzą na C++.
Ale rozglądam się i widzę tylko oferty typu Samsung - programowanie telewizorów i innego AGD... A nie każdy to musi lubić.

0

Temat odkopany ponownie prze zemnie :)

Stawka 4000 netto miasto Katowice ( mi osobiście się to śmieszne wydaje ale taką propozycje dostałem ;) )
Projekt dotyczy tworzenia GUI do jakiegoś ich systemu , umowa na pół roku , jak by zgodzili się na zdalną pracę to mógłbym to po klepać po godzinach.

Przynajmniej rozmowę z tymi ludźmi mam zaraz po nokii we Wrocławiu więc wpaść i się pośmiać można.

0

Jak dla mnie java = aplikacje biznesowe gdzie liczy się szybkość kodowani i jakoś kodu, kosztem wydajności. Generalnie przeciętny programista moze w tym juz sporo zarabiac bo jest na to duzy popyt i nadal mała podaż programistów i stosunkowo łatwo sie go nauczyć. Rynek c++ wygląda inaczej, obecnie można podzielić go chyba na dwa sektory, jeden gdzie po prostu jest bez sensownie używany (ktoś kiedyś napisał aplikacje w tym języku i teraz trzeba sie z tym męczyć lub inny dziwny zbieg okoliczności) generalnie w takim przypadku ma sie raczej gówniane zarobki. Drugi sektor gdzie c++ jest używany zgodnie ze swoim przeznaczeniem np metody numeryczne, symulacje fizyczne itd. w tym sektorze można zarabiać chyba najwięcej jako programista. Takie aplikacje świetnie optymalizują sie pod cache, są nawet specjalne algorytmy cache przykładem może być chociażby mnożenie dwóch macierzy i optymalizacja blokowa(cache bloking) np. http://www.netlib.org/utk/papers/autoblock/node2.html lub unrolled register blocking do tego prefetch, ręczne rozmieszczenie danych tak żeby lepiej pasowały do cache linii. Takim sposobem można uzyskać wydajności o których java może pomarzyć ;-) nie bedzie to różnica dwu krotna ale nawet i 100 krotna. To kto lepiej zarabia determinuje tylko to co robi, a to co robi determinuje język nie na odwrót.
http://www.cs.berkeley.edu/~ejr/GSI/cs267-s04/homework-1-results/GLH/assignment1.html

0

Ogólna zasada jest taka, że bardzo mała część kodu zabiera prawie cały czas procesora. I tą małą część można zrobić w jakimś niskopoziomowym języku, a resztę w Javie. Pomijając optymalizacje niskopoziomowe, z których przecież żaden większy system nie może się składać w 100%, bo by to kosztowało pierdylion denarów, to Java nie jest drastycznie wolniejsza od C++: http://shootout.alioth.debian.org/u64q/which-programming-languages-are-fastest.php Z drugiej strony C++ ma często kilka razy mniejsze zużycie pamięci.

Ja bym się skłaniał ku OpenCLowi jeśli chodzi o niskopoziomowe optymalizacje. AMD ma dość dobrą implementację OpenCLa, zarówno pod CPU (działa chyba na każdym x86 z SSE2) jak i pod swoje GPU. Zrobiono już trochę implementacji BLAS (basic linear algebra subprograms) pod GPGPU. Sam język OpenCL jest dość toporny, ale można by przecież zrobić coś w stylu szablonów (np Apache Velocity) rozwijanych na gorąco do gotowego kodu OpenCL. Dużą zaletą OpenCLa, podobnie jak Javy, jest to, że dzięki temu, że jest kompilowany do kodu natywnego dopiero na maszynie klienta, to wykorzystuje maksymalnie wszystkie dostępne instrukcje procesora.
Mam tu na myśli przede wszystkim aplikacje dla zwykłych ludzi, np edytory graficzne, silniki fizyki do gier, itp itd W przypadku superkomputerów oczywiście można np bardzo silnie sprząc implementację z architekturą superkomputera i olać wszelką kompatybilność z czymkolwiek innym.

0

Może troszkę offtop, ale pisaliście trochę o nowościach w C++11, więc, jeżeli ktoś byłby zainteresowany, mam nagranie z wykładu dla studentów i pracowników Instytutu Informatyki Bjarne Stroustrup'a z 29 marca, 2h audio (zupełnie inne tematy niż na tym drugim, otwartym). Gościu na prawdę zachęcił mnie do tego języka. Była też prezentacja, ale nagranie wideo nie zmieściło by mi się na tablecie :)

Jeżeli nie wiecie kto to: http://en.wikipedia.org/wiki/Bjarne_Stroustrup

0

Tak wracając do głównego tematu Katowice poszły się krzaczyć.
Niby super im do projektu pasowałem nawet zgodziłem się na tą ich śmieszną stawkę etc. i na koniec dnia dostałem telefon że mogę się pocałować.

Tak swoją drogą mam pytanie, ile osób usłyszało że super im pasują do projektów że kompetencje są ekstra itd a na końcu dostało kopa w dupe bo nie wiem czy to tylko ja mam takie szczęście bo to już chyba 5 projekt gdzie odchodzę z kwitkiem ( żeby cholera przynajmniej koszty dojazdu zwracali :/ )

A w tej chwili baaaaardzo potrzebuje pracy bo cała kasa jaką miałem na szukanie nowej już mi się skończyła i nawet na te Katowice bym się zgodził. A niby programiści tacy strasznie potrzebni , ofert to mam od cholery , przez telefon , osobiści , przez skype ale nawet złotówki jeszcze nie zarobiłem.

Jak ktoś ma coś dla mnie to chętnie wezmę , ile można na biletach kredytowych jeździć ....

Nie wiem , może ja źle pracy szukam , od ostatniego szukania pracy prze zemnie minęły 4 lata ale nie sądzę żeby aż tak się wszystko pozmieniało.

0

W Krk np Comarch szuka programisty C++ pod Linux: http://www.comarch.pl/kariera/praca-w-kraju/informatyczne/programista-c/c/params/town/Krak%C3%B3w/location/7 a Sabre pod Windows: http://sabre.hodesiq.com/jobdescription.aspx?JobID=2959457&search=y&cntryID=182&stateID=All&Cities=Krakow&jfieldID=1&Keyword=Keyword&Org=0&Schd=0&Travel=0

A w tej chwili baaaaardzo potrzebuje pracy bo cała kasa jaką miałem na szukanie nowej już mi się skończyła

A to takie kosztowne? Korzystając z transportu publicznego możesz zmieścić się w małych dziennych kwotach.

1 użytkowników online, w tym zalogowanych: 0, gości: 1