PHP DEVELOPER (MID)
Kraków lub Rybnik lub zdalnie
Dołącz do nas jeśli masz otwartą głowę, myślisz nieszablonowo i chcesz tworzyć soft dobrze, a nie jako tako. Mamy jeszcze trochę wolnych biurek, czekamy na Ciebie!
.

oferujemy:
- Międzynarodowe klimaty - pracujemy w międzynarodowych zespołach i na co dzień komunikujemy się po angielsku; tworzymy rozwiązania na rynek niemiecki i inne rynki międzynarodowe
- Elastyczny czas pracy z oknem komunikacyjnym 10.00 – 15.00
- Home office. Świat się nie zawali, jak popracujesz z domu (w aktualnej sytuacji większość z nas pracuje z domów, decyzję biuro vs. dom każdy podejmuje za siebie
- Indywidualny budżet szkoleniowy (3 000 PLN/rok) i kursy językowe. Twój rozwój = nasz rozwój
- 26 Magentowców na pokładzie, od których dużo się nauczysz oraz ogarnięty, znający Magento zespół DevOps
- MacBook Pro, wszystkie niezbędne peryferia i wielki monitor
- Medicover + Multisport Plus (siłownia parę kroków od biura)
- W biurach: dofinansowanie lunchu, konsole do gier oraz ligę bilardową w godzinach pracy (bilard tylko w Krakowie)
- Możliwość opublikowania dużej części pracy jako OpenSource
- Bardzo liberalne podejście do tego co robimy i dużo zdrowego dystansu
- Łatwy dojazd - możesz przyjechać rowerem i skorzystać z prysznica. Możesz też przybyć na koniu, szybkim tramwajem (50), pociągiem (Stacja Zabłocie), CEO przylatuje na miotle
- Przerwa w pracy - 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
- Wynagrodzenie dla B2B: w przedziale 8 500 - 13 500 PLN netto + VAT, dodatkowo 20 dni płatnego "urlopu"
- Wynagrodzenie dla umowy o pracę: w przedziale 5 500 - 8 750 PLN netto
Jak pracujemy?
- W mniejszych zespołach w Scrum lub Kanban - zależnie od fazy projektu (tu sprawdzisz, jak to robimy: oglądnij)
- Pracujemy w oparciu o Magento 2 i (choć nie wymagamy jego znajomości na start) jest to środowisko, z którym będziesz mieć styczność na co dzień
- Naszym klientem są zawsze sprzedawcy - nie pracujemy dla innych agencji jako podwykonawca
- Z klientami komunikujemy się w większości bezpośrednio, trudniejsze tematy przekazujemy do PM/PO z niemieckiego biura
- Piszemy testy automatyczne gdzie się da, a dla kluczowej logiki biznesowej są one obowiązkowe
- Pracujemy tylko z najnowszą wersją Magento i aktualizujemy projekty, nie utrzymujemy projektów Legacy, nie pracujemy z Magento 1.x
- Tworzymy bazowe rozwiązanie MageSuite (dowiesz się więcej z filmu: oglądnij), które publikujemy jako OpenSource
- Zgłaszamy poprawki i usprawnienia do core Magento. Jeden z naszych kolegów jest Maintainerem
- Mamy testerów i ogarniętych frontend-developerów pracujących na zmodyfikowanym, unowocześnionym stacku (webpack, TypeScript, SCSS)
- Nasz stack: AWS, PHP 7.2+, MySQL, Nginx, Varnish, Docker, Vagrant, Elasticsearch, Jenkins CI, Ansible, Phing, PHPUnit (zobacz, jak to działa: oglądnij)
- Nie mamy ograniczeń ze strony hostingu, więc możemy używać właściwie dowolnych narzędzi - nie tylko PHP
- Korzystamy z PHPStorm, Slack, Blackfire.io, Jira, Confluence
- Nie robimy projektów w modelu headless, ale są takie plany na 2021
Kogo szukamy?
- Jesteś ogarniętym programistą (wiesz co to OOP, polimorfizm, DI itp.)
- Masz minimum 2 lata komercyjnego doświadczenia z PHP + MySQL i zrealizowałeś przynajmniej 1 wart uwagi projekt
- Wierzysz, ze jak przysiądziesz to opanujesz Magento w 3 miesiące
- Potrafisz i nie boisz się mówić po angielsku (min. B2)
- Chcesz pisać testy automatycznie, a nie tylko mówić, że brakuje budżetu
- Znasz oczywistości: git, merge/pull requesty, podstawowe komendy konsolowe
Sprawdź się odpowiadając na poniższe pytania:- Co to jest polimorfizm, jak można wykorzystać tę technikę w aplikacjach internetowych?
- Jaka jest różnica pomiędzy testami jednostkowymi a integracyjnymi?
- Co to jest feature branch i merge request (pull request)?
- Co to znaczy zrobić rebase do mastera?
- Jak zrobić szybką poprawkę na produkcji (hotfix) jeśli używamy gita?
- Czy Sub Zero był w każdej części gry Mortal Kombat?
- Jak rozumiesz przestrzeganie zasady SRP?
- Co to za skróty: SOLID, CRUD, DRY, PSR, YAGNI, KISS?
- Czy polecenie rm katalog w bashu skasuje folder katalog, na którym wcześniej root zrobił chmod 777 katalog?
- 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?
- Ile jest standardów PSR i czego one dotyczą?
- Co to jest warstwa serwisów?
- Co to jest observer?
- Jak działa Redis? Jak można go wykorzystać w aplikacjach PHP?
- Czy composer.lock się commituje?
- Co to są fixtures?
- Kiedy lepiej jest implementować interfejs zamiast rozszerzać klasę bazową?
- Jak wygląda wyrażenie regularne sprawdzające poprawność adresu email?
- Czy Magento 2 ma testy jednostkowe?
- Co to są metody magiczne?
- Co to jest SPL w PHP?
- Na czym polega atak CSRF?
- Czym się różni SOAP od REST i JSON?
- 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?
- 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?
co dalej?
Nasz proces rekrutacyjny to 2 etapy:
- Rozmowa telefoniczna (odpowiadamy na Twoje kluczowe pytania, poruszamy podstawowe dla nas kwestie, sprawdzamy znajomość angielskiego)
- Spotkanie (osobiste lub online) - 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 do rozmów zaprosimy wybranych kandydatów.