Cześć.
Jestem na stażu od paru miesięcy i niedługo będę rozmawiał z pracodawcą o umowie na stałe. Orientowałem się mniej więcej jakie są stawki na rynku i dowiedziałem się tyle, że są duże rozbieżności. Nie wiem kto trolluje, a kto zarabia faktycznie tyle ile podaje. Jeśli jest ktoś z tej samej/ podobnej technologii kto ma doświadczenie w rekrutacji, innych opinie też mile widziane, to proszę zweryfikujcie moje wymagania finansowe do umiejętności. Moim problemem małym jest to, że im więcej wiem, tym mam wrażenie, że wiem mniej. Chyba częste u początkujących programistów. Z tego powodu nie wiem czy realnie wyceniam siebie lub zaniżam.
Wiem, że w takim sposób ciężko określić realne umiejętności ale postaram się określić stack jaki umiem i na ile.
Miasto: Wrocław
Backend:
- Java 8 (Stream Api,Lambdy, Optionale, Date/Time Api, )
- Spring/ Spring Boot: (Spring Data JPA z Hibernate, Spring Security, Spring MVC)
- SQL (MySql)
- Testy jednostkowe: JUnit, Mockito. Integracyjne testy w czasie nauki.
- JSP
Front:
- JavaScript ES5
- jQuery (ajax, manipulowanie dom, dynamiczny html itp.)
- Bootstrap
Pozostałe:
- Maven
- Git
- IntelliJ
- Prawdopodbnio niebawem CI będę się uczył.
Oprócz Javy, którą katowałem najpierw na małych zadankach i książce, to technologii używałem na paru kompletnych projektach większych i mniejszych.
Co potrafię zrobić w nich:
- Z Javy 8 tak jak powyżej, potrafię pracować z prostymi datami, obsługiwać optionale, filtrować listy za pomocą stream api i lambd, używać strumieni i lambd do innych zadań też. Aczkolwiek czuję, że jeszcze dużo pracy tu mamy aby pisać szybko i ładnie, potrzebuje doświadczenia.
- Umiem zbudować aplikację webową na wykorzystując MVC i JSP.
- Potrafię napisać Rest Api.
- Napisać SPA w JS + jQuery+ Bootstrap po stronie klienta.
- Postawić bazę w MySql, tworzyć tabele i proste struktury, stworzyć mapowania, operować na bazie.
- ORM poprzez spring data z hibernate (na razie nie zagłębiałem się w czyste JPA, nie mówię już o jdbc).
7)Konfigurowałem prostego Spring'a w xml pare razy.
8)Konfigurowałem trochę w Spring Boot dodatkowe rzeczy.
9)IoC ogranicza się u mnie do tworzenia Beanów, wstrzykiwania przez konstruktory lub adnotacje.
10)Exception Handlery w Springu.
11)JSON i Jackson do tego
12)Cookiesy, nagłówki, local storage praca z nimi po stronie serwera i na kliencie.
13)Potrafię zabezpieczyć aplikację webową za pomocą Spring Securit(skonfigurować go itp.), napisać rejestrację z tokenami aktywacyjnymi na maila itp., autoryzację/autentykację z podziałem na określone dostępy dla różnych użytkowników, wszystko trzymane w bazie danych itp. Póki co oparte na session_id w cookiesie i ochroną za pomocą tokenów przed CSRF. W kolejnym kroku będę uczył się implementacji OAuth i JWT.
14)Tak jak powyżej potrafię też zabezpieczyć serwis restowy w Spring Security, napisać własne filtry, entrypointy, success/failure handlery. - Kojarzę jak pisać TDD. (Nie mówię, że umiem, bo według mnie za mało jeszcze pisałem.)
- Obecnie powoli uczę się Angulara 4 + TypeScript, implementacji JWT i OAuth, katuje bazy danych dalej, oraz testy.
Ogólnie trochę wyszło, jedno umiem lepiej drugie gorzej. Wydaje mi się, że więcej gorzej niż lepiej. Aczkolwiek czuje, że i na backendzie i na froncie przy odrobinie czasu dam radę. Prawdopodobnie zapomniałem o kilku. Sporo rzeczy muszę powtórzyć doczytać jak chcę zrobić jeszcze raz.
Dochodząc do tematu kwoty, to nie mam pozycji do negocjacji z pracodawcą i pracy potrzebuję, więc raczej chciałbym trafić kwotę, z której będę zadowolony ale i nie przesadzę z oczekiwaniami.
Stawka, która mnie interesuje to:
UoP: 4000 netto
B2B: 6500 netto + Vat.
Za dużo? Za mało? Czy uczciwie w sam raz?