SYMFONY DEVELOPER (SENIOR)


Jeżeli chcesz pracować w dojrzałej firmie posiadającej w swoim portfolio ciekawe międzynarodowe projekty, sięgać po nowe wyzwania, pracować z najnowszymi rozwiązaniami – dołącz do nas! 

Nasz zespół nieustannie się rozwija i liczy kilkadziesiąt specjalistów i specjalistek. 
Nasze biura znajdują się w Krakowie, Rybniku i Monachium.
Jesteśmy jedynym w Polsce partnerem SensioLabs! 

Lokalizacja: Kraków lub Rybnik lub zdalnie 

SensioLabs Bronze Partner


NASZE ATUTY:

  • Jesteśmy jedynym oficjalnym partnerem SensioLabs w Polsce
  • Pracujemy w oparciu o dojrzały stack: PHP, Symfony, PHPUnit, Behat, Mariadb, Elasticsearch, Redis, Docker
  • Używamy komercyjnych narzędzi: PHPStorm, Slack, Blackfire.io, Jira, Confluence
  • Wewnętrzna satysfakcja jest dla nas bardzo ważna. Starannie dobieramy projekty, aby mieć satysfakcję z ich implementacji
  • Działamy na miarę i według potrzeb klienta; projektujemy, programujemy, wdrażamy i utrzymujemy nasze rozwiązania od początku do końca
  • Każda osoba w firmie, łącznie z zarządem, ma techniczny background i ogarnia Internet
  • Nasz zespół to m.in: certyfikowani programiści Symfony, Twig, AWS, MySQL, Mongo, Agile oraz team manualnego QA
  • Developerzy nie muszą konfigurować serwerów (ale mogą aktywnie uczestniczyć w procesie)
  • Hostujemy się na AWS
  • Dajemy możliwość (ale nie obowiązek) podróżowania do zagranicznych klientów

Oferujemy:

  • Międzynarodowe klimaty - pracujemy w międzynarodowych zespołach (tworzymy rozwiązania na rynek niemiecki) i na co dzień komunikujemy się po angielsku
  • Okno komunikacyjne - mamy elastyczny czas pracy; planujemy go sobie sami, ale zakładamy, że w godzinach 10-15 jesteśmy dostępni dla siebie do komunikacji
  • Home office - świat się nie zawali jak popracujesz z domu wtedy kiedy potrzebujesz
  • Budżet szkoleniowy - 3 000 PLN/rok na szkolenia, certyfikaty i konferencje (krajowe i międzynarodowe), Twój rozwój = nasz rozwój
  • Kursy językowe - niemiecki i angielski (tylko Kraków/Rybnik)
  • Pakiety Medicover i Multisport Plus
  • Dopłata do lunchu w biurze - ludowa mądrość mówi, że jest tylko jedna droga do serca programisty
    (tylko Kraków/Rybnik)
  • Bilard - lecimy w kulki w godzinach pracy (tylko w Krakowie) oraz konsole do gier -  zapewniamy solidne współzawodnictwo i wysoko zawieszoną poprzeczkę
  • Loftowe przestrzenie w Krakowie - mielimy kod w starym młynie na Zabłociu. Jest przestrzennie i komfortowo. Mamy strefę cichą i głośną. W Rybniku nasze biuro to komfortowy open-space (biurowiec K1) 
  • Narzędzia - MacBook Pro (z dodatkowym monitorem ultrapanoramicznym) 
  • Przerwa w pracy? - tak znamy takie zjawisko. Możesz grać w bilard, na konsoli, iść na obiad, wyskoczyć na szybką przebieżkę nad Wisłę. Tylko wróć :) Nasze biuro i okolica oferują wiele możliwości
  • Powietrze wolne od stresu - cenimy pasję i samodzielność, a nie kontrolę i sztywne schematy; ufamy sobie i każdy z nas robi dokładnie to, co do niego należy 
  • Dla kandydatów zdalnych: biura w Krakowie i Rybniku do Twojej dyspozycji, jeśli tylko masz ochotę przyjechać i popracować ramię w ramię z zespołem 
  • Wynagrodzenie dla B2B: w przedziale 15 000 - 20 000 PLN netto + VAT, dodatkowo 20 dni płatnego "urlopu"

Twoje zadania:

  • Praca w zespole przy nowych projektach (Symofny 5+)
  • Tworzenie aplikacji z użyciem frameworka Symfony
  • Współtworzenie architektury rozwiązań (tworzymy aplikacje zarówno w modelu RAD jak i DDD)
  • Współpraca z odpowiedzialnymi za warstwę prezentacji (Frontend), ogarniętymi (ES6, kompletny stack, automatyzacja, BEM) członkami zespołu  
  • Tworzenie testów zautomatyzowanych - jednostkowych, integracyjnych (Test Driven Development
  • Tworzenie aplikacji w modelu Scrum lub Kanban
  • Samoorganizacja pracy
  • Rozwój umiejętności

kogo szukamy?

Będziesz dla nas wymarzonym współpracownikiem jeśli:

  • Jesteś programistą z dużym doświadczeniem komercyjnym w Symfony. Pracowałeś minimum 2 lata z Symfony i przynajmniej 3 lata komercyjnie.
  • Posiadasz przynajmniej jeden udany projekt w portfolio, przy tworzeniu którego odegrałeś znaczącą rolę
  • Masz certyfikat Symfony lub większość pytań wypisanych w następnej sekcji to dla Ciebie pestka
  • Potrafisz dzielić się pracą (zadaniami) z innymi
  • Nie uważasz, że programując z testami będziesz przynajmniej dwa razy wolniejszy
  • Potrafisz analizować wpływ zastosowanego rozwiązania na wydajność przy dużym obciążeniu. Analizować zapytania SQL i je optymalizować, stosować strategie pamięci podręcznej
  • Wiesz kiedy użycie wygenerowanego kodu jest optymalne, a kiedy optymalne rozwiązanie należy napisać ręcznie
  • Potrafisz ocenić kiedy należy się separować od Symfony, a kiedy nie jest to potrzebne
  • Wiesz jak rozmawiać z Fronted Deweloperami aby stworzyć dobre, działające rozwiązania
  • Potrafisz estymować złożoność i pracochłonność dodania nowej funkcjonalności
  • Wiesz, czego młodsi stażem koledzy mogą się od Ciebie nauczy
  • Potrafisz prowadzić techniczny dialog z klientem
  • Ustawienie narzędzi deweloperskich nie jest dla Ciebie wyzwanie
  • Wykorzystujesz swoje doświadczenie, nie wymyślasz koła na nowo, wolisz ewolucję od rewolucji
  • Znajomość języka angielskiego to jest oczywistość a nie problem


przykładowe pytania rekrutacyjne

Sprawdź się: 

  • Co to jest polimorfizm, jak można wykorzystać tą technikę w aplikacjach internetowych
  • Jaka jest różnica pomiędzy testami jednostkowymi a integracyjnymi?
  • Jak zmienić standardowy wygląd formularzy?
  • Po co w Symfony stosuje się podejście controller as a service?
  • Do czego można wykorzystać tagi w services.yml?
  • Jak umieścić klasę poza Bundlem?
  • Co to jest feature branch i merge request (pull request)?
  • Co to znaczy zrobić rebase do mastera?
  • Co robi $crawler->filter()? (Component crawler)
  • Jak się tworzy validator, który sprawdzi zależności pomiędzy dwoma polami w obiekcie?
  • Co zmienia setMaxAge() w Response
  • Do formularza podpinamy bezpośrednio encję. Jak zmodyfikować dane z formularza, zanim zostaną przepisane do encji
  • Mamy serwis, który zależy od innego serwisu. Jak definiuje się taką zależność?
  • Jakie są sekcje w security.yml?
  • Czy aby zalogować użytkownika to musi on mieć obiekt w bazie?
  • Jak zrobić w Symfony customową stronę błędu 404?
  • Jak rozumiesz przestrzeganie zasady SRP?
  • Co to za skróty: SOLID, CRUD, DRY, PSR, YAGNI, KISS
  • Czy polecenie rm abc w bashu skasuje folder abc, na którym wcześniej root zrobił chmod 777 abc
  • Czy często trzeba pisać własne rozszerzenia Twig?
  • Czy FOSUserBundle jest przydatny?
  • Czy programista PHP powinien znać JavaScript?
  • Czy Uncle Bob ma rację?
  • Na czym polega code review?
  • Co to jest Continous Integration?
  • Iloma spacjami wcinasz kod?
  • Czy composer.lock się commituje?
  • Jak w Symfony wykonać zapytanie w SQL
  • Jak w SQL obliczyć średnią ocen dla każdego studenta, jeśli mamy tabelkę z polami INT id_studenta, INT ocena
  • Jak wygląda wyrażenie regularne sprawdzające poprawność adresu email
  • Jak można "poinformować" Doctrine jak zapisać obiekt bez adnotacji w klasie Encji
  • Jak ograniczyć edycję postu na forum tylko do jego autora lub moderatora forum?
  • Co to jest Voter?
  • Jeśli nie var_dump() to co?
  • Co jest charakterystycznego dla obiektów typu Factory, Proxy, Builder (osobno, nie wspólnie)
  • Jak rozszerzyć klasę Hello z namespace Foo\Bar klasą Hello w namespace Foo\World
  • Jak w Symfony zrobić stronę w wielu językach?
  • Ile w scrum trwa sprint?
  • Na farmie są kury i koty. Razem mają 72 głowy i 200 nóg. Ile jest kur a ile kotów
  • Kolor #AA00AA lepiej prezentuje się na tle #AA0000 czy #00AAAA?
  • Czy potrafisz odpowiedzieć na te pytania po angielsku?

jak wygląda proces rekrutacyjny?

Nasz proces rekrutacyjny to 3 etapy:

  • Analiza CV i formularza aplikacyjnego (zaglądamy do wszystkich aplikacji, analizujemy je pod kątem naszych kryteriów, wybranych kandydatów zapraszamy do kolejnego etapu)
  • Rozmowa telefoniczna (odpowiadamy na Twoje kluczowe pytania, poruszamy podstawowe dla nas kwestie, sprawdzamy znajomość angielskiego) 
  • Osobiste spotkanie (omawiamy kwestie techniczne i to czy do siebie pasujemy. My pytamy i Ty pytasz).
  • Po nich następuje moment na obustronne decyzje. 

Jednocześnie informujemy, że skontaktujemy się tylko z wybranymi kandydatami. 


creativestyle office