Lublin, Warszawa

JAVA DEVELOPER / TEAM LEADER

INFORMACJE PODSTAWOWE

LOKALIZACJA: Lublin, Warszawa
FORMA ZATRUDNIENIA: B2B, Kontrakt B2B, Umowa o pracę
NR REFERENCYJNY: 166
DOŚWIADCZENIE: MIN. 6 LAT
DATA ROZPOCZĘCIA: ASAP
GODZINY PRACY: ELASTYCZNE
PRACA ZDALNA: CZĘŚCIOWO

SZCZEGÓŁY PROJEKTU
Projekt realizowany jest przy współpracy z Allegro (branża e-commerce). Zależnie od zespołów i potrzeb wykorzystywane są najnowsze wersje Java 8 +, Kotlin, Groovy, Reactive Programming. Projekt stworzony jest w mikroserwisach na dużą skalę (900+) przy użyciu Domain Driven Design i Continuous Integration, zapewniając współpracę z wieloma bardzo doświadczonymi inżynierami. Ekosystem oparty na szeroko stosowanych narzędziach m.in. Marathon, Docker, Consul, Bitbucket i Bamboo daje dużą swobodę w wyborze technologii i architektury odpowiedniej do zadania. Tworzone oprogramowanie musi być zdolne do działania na dużą skalę (tysiące serwerów, dziesiątki tysięcy rps).
TECHNOLOGIE / NARZĘDZIA

Database: MongoDB, Apache Cassandra

Programming languages: Java 8, Groovy, Kotlin

Framework and technologies: Spring, Spring Boot

Tools: Marathon, Docker, Consul, Bitbucket, Bamboo, APM

Quality: Clean Code

Others: REST, JVM

WYMAGANIA "MUST HAVE"

Bardzo dobra znajomość Java 8 +, w tym takich zagadnień takich jak wielowątkowość, model pamięci, czy NIO
Zaawansowana wiedza z zakresu działania JVM, w szczególności algorytmów GC oraz metod profilowania aplikacji
Doświadczenie w tworzeniu aplikacji web udostępniających REST API, w tym umiejętność projektowania usług typu RESTful
Znajomość Spring Framework i Spring Boot
Znajomość architektury mikrousług i generalnie systemów rozproszonych, w tym jak zapewnić wysoką dostępność aplikacji, skalowalność, odporność na awarie
Znajomość nierelacyjnych baz danych, najlepiej MongoDB lub Apache Cassandra
Znajomość sposobów skalowania systemów baz danych
Znajomość platform do strumieniowego przesyłania komunikatów takich jak Apache Kafka, ewentualnie typu JMS oraz umiejętność ich wykorzystania przy projektowaniu asynchronicznego przetwarzania żądań użytkowników
Znajomość narzędzi do monitorowania aplikacji typu APM
Umiejętność określania złożoności obliczeniowej zarówno czasowej jak i pamięciowej implementowanych algorytmów
Znajomość zagadnień tune-owania komunikacji sieciowej zarówno po stronie klienta (np. w Apache HTTPClient) jak i serwera (np. w Tomcat lub Undertow), w szczególności konfigurowania puli wątków
Znajomość TDD, tworzenia testów jednostkowych i integracyjnych, Clean Code

WYMAGANIA "NICE TO HAVE"

Doświadczenie w zarządzaniu zespołem

JĘZYKI

English: B2

GWARANTUJEMY
STABILNE WARUNKI ZATRUDNIENIA:
  • Długofalowa współpraca na podstawie umowy o pracę lub B2B
  • Atrakcyjne wynagrodzenie i elastyczne godziny pracy
  • Udział w międzynarodowych projektach
  • Program Relokacji i Rekomendacji
BENEFITY
  • Karta Multisport
  • Prywatna opieka medyczna
ROZWÓJ PRACOWNIKA 
  • People Development Programme (Indywidualny plan rozwoju wybranej ścieżki kariery)
  • Edge One Community (udział w inicjatywach sprzyjających dzieleniu się wiedzą/ innowacyjnością
  • Szerokie portfolio projektowe, jasna procedura zmiany projektu
  • Wsparcie i mentoring Delivery Managera
  • Kurs języka angielskiego
ROZRYWKA
  • Liczne imprezy, eventy integracyjne, wewnętrzne hackathony i MeetUpy