Senior Software Engineer
⚲ Warszawa, Mokotów
Do uzgodnienia
Wymagania
- Python
- Django
- Django REST Framework
- FastAPI
- SQL
- PostgreSQL
- Django ORM
- ETL
- ELT
- Microsoft Azure
- Google Cloud Platform
- DevOps
- CI/CD
- Git
- Linux
- Docker
- Kubernetes
- Helm
- REST API
Opis stanowiska
Nasze wymagania:
Doświadczenie:
Minimum 5 lat komercyjnego doświadczenia w tworzeniu aplikacji backendowych lub webowych.
Doświadczenie w samodzielnym projektowaniu i dostarczaniu aplikacji, większych funkcjonalności lub rozwiązań backendowych.
Bardzo dobra znajomość Pythona oraz praktyczne doświadczenie z Django, Django REST Framework i FastAPI.
Dobra znajomość zasad inżynierii oprogramowania, programowania obiektowego i wzorców projektowych.
Umiejętność modelowania logiki biznesowej i zależności pomiędzy modułami, procesami, usługami i danymi.
Umiejętność oceny wpływu zmian na cały system oraz tworzenia kodu czytelnego, testowalnego i utrzymywalnego.
Doświadczenie w projektowaniu REST API i integracji z systemami zewnętrznymi.
Dane:
Dobra znajomość SQL i praktyczne doświadczenie z PostgreSQL oraz ORM Django.
Umiejętność projektowania modeli danych, optymalizacji zapytań i wykonywania bezpiecznych migracji.
Doświadczenie w przetwarzaniu danych oraz budowie lub utrzymaniu procesów ETL/ELT.
Jakość i bezpieczeństwo:
Praktyczna umiejętność pisania testów jednostkowych, integracyjnych i API oraz doświadczenie w code review.
Znajomość podstaw bezpieczeństwa aplikacji webowych, API, autentykacji, autoryzacji i kontroli dostępu.
Cloud, DevOps i utrzymanie:
Praktyczne doświadczenie z Microsoft Azure lub Google Cloud Platform.
Znajomość zagadnień DevOps, procesów CI/CD oraz pracy z Git i Linuxem.
Praktyczne doświadczenie z Dockerem i wdrażaniem aplikacji na Kubernetes.
Znajomość Helm oraz konfiguracji aplikacji przeznaczonej dla różnych środowisk Kubernetes.
Umiejętność korzystania z logów, monitoringu i narzędzi diagnostycznych oraz analizowania problemów środowiskowych lub
produkcyjnych.
Język angielski umożliwiający swobodną pracę z dokumentacją techniczną i komunikację projektową.
Zakres obowiązków:
Rozwój aplikacji:
Projektowanie, rozwój i utrzymanie aplikacji w Pythonie z wykorzystaniem Django, Django REST Framework i FastAPI.
Projektowanie modularnej architektury, czytelnych kontraktów API oraz granic odpowiedzialności pomiędzy komponentami.
Modelowanie złożonej logiki biznesowej, reguł, walidacji i zależności pomiędzy procesami, danymi, modułami oraz systemami.
Analizowanie wpływu zmian na istniejące funkcjonalności, integracje i dane oraz ograniczanie ryzyka regresji.
Stosowanie zasad inżynierii oprogramowania, wzorców projektowych i praktyk wspierających czytelność, testowalność, niezawodność i
dalszy rozwój systemu.
Refaktoryzacja kodu, modernizacja rozwiązań i świadome zarządzanie długiem technicznym.
Projektowanie rozwiązań i współpraca z biznesem:
Analiza wymagań biznesowych i technicznych oraz przekładanie ich na spójne rozwiązania.
Dobór technologii i sposobu implementacji adekwatnego do problemu, skali, bezpieczeństwa i kosztu utrzymania.
Przygotowywanie rekomendacji technicznych, szacunków pracochłonności oraz identyfikowanie ryzyk i zależności.
Współpraca z analitykami, QA, frontend developerami, devops, administratorami i użytkownikami biznesowymi.
Dane, API i integracje:
Projektowanie modeli danych i rozwój rozwiązań wykorzystujących PostgreSQL oraz ORM Django.
Tworzenie i optymalizacja zapytań SQL, migracji oraz procesów importu, eksportu i transformacji danych.
Projektowanie i rozwój procesów ETL/ELT oraz kontrola poprawności i spójności danych.
Integracja z systemami zewnętrznymi, obsługa autentykacji, autoryzacji, błędów, ponowień i czasowej niedostępności usług.
Jakość, bezpieczeństwo i utrzymanie:
Tworzenie testów automatycznych, prowadzenie code review i rozwijanie standardów programistycznych.
Stosowanie dobrych praktyk bezpieczeństwa aplikacji webowych, API i przetwarzanych danych.
Analiza logów, diagnozowanie problemów środowiskowych i produkcyjnych oraz optymalizacja wydajności.
Cloud, DevOps i wdrożenia:
Praca z rozwiązaniami chmurowymi Microsoft Azure lub Google Cloud Platform.
Rozumienie zagadnień DevOps oraz współpraca przy automatyzacji budowania, testowania i wdrażania aplikacji w procesach CI/CD.
Konteneryzacja aplikacji z wykorzystaniem Dockera oraz przygotowywanie i utrzymywanie konfiguracji wdrożeniowych dla Kubernetes.
Praktyczna znajomość Helm: tworzenie lub modyfikowanie chartów, wartości środowiskowych i konfiguracji potrzebnej do
powtarzalnego wdrażania aplikacji.
Współpraca przy konfiguracji środowisk, parametrów aplikacji, monitoringu i diagnostyce wdrożeń.
Wykorzystanie AI i systemów agentowych:
Wykorzystywanie narzędzi AI i agentów programistycznych do wspierania analizy wymagań, tworzenia i przeglądu kodu, refaktoryzacji,
testowania, diagnozowania problemów oraz przygotowywania dokumentacji technicznej.
Projektowanie i rozwijanie rozwiązań wykorzystujących AI, modele językowe oraz systemy agentowe, integrujące się z API, narzędziami,
źródłami danych i procesami biznesowymi.
Poszukiwanie i ocena możliwości zastosowania AI i uczenia maszynowego do automatyzacji procesów, wspierania użytkowników,
analizy danych oraz rozwoju nowych funkcjonalności biznesowych.
Rozwój zespołu:
Mentoring i wsparcie techniczne mniej doświadczonych developerów.
Prowadzenie dyskusji technicznych, tworzenie dokumentacji technicznej, uzasadnianie decyzji i dzielenie się wiedzą.
Oferujemy:
Zatrudnienie w oparciu o umowę o pracę - pierwszą umowę podpisujemy na okres próbny.
Pracę hybrydową - każdy zespół pracuje w innym trybie spotkań stacjonarnych. Główna zasada to praca minimum 8 dni w miesiącu z biura.
Oczekiwane godziny rozpoczęcia pracy – elastycznie między godziną 8 a 10.
W piątki możemy skończyć pracę o godz. 15:00, jeśli tylko zrealizujemy nasze zadania i pozwala na to sytuacja biznesowa.
Pakiet benefitów pozapłacowych - podstawowy pakiet opieki medycznej opłacany przez pracodawcę, który możesz rozszerzyć o dodatkowe usługi oraz objąć opieką członków rodziny; doładowanie środków na platformę benefitową Nais, które możesz przeznaczyć na kartę sportową kulturę lub rozrywkę; możliwość przystąpienia do ubezpieczenia grupowego; dostęp do platformy do nauki języków obcych; Zakładowy Fundusz Świadczeń Socjalnych, z którego możesz otrzymać np. dofinansowanie do urlopu.
Środowisko, w którym otrzymasz wsparcie, zaufanie i pomoc - w badaniach satysfakcji nasze talenty potwierdzają, że mogą polegać na zespole, gdy potrzebują porady (98%), oraz że panuje tutaj atmosfera otwartości i akceptacji różnic między ludźmi (96%).
Wewnętrzna, międzynarodowa platforma Marcel – na której możemy korzystać z e-learningów (Linkedin i Udemy), a także autorskich programów czy warsztatów live.
Let’s Talk - możliwość darmowego skorzystania z konsultacji z psychologiem.
Kultura Ciekawości - postrzegamy ją jako kluczowy element naszej organizacji. Stale zasilamy nasz zespół inspiracjami i wiedzą podczas regularnych spotkań i nie tylko.
Międzynarodowe i lokalne programy i projekty rozwojowe, między innymi:
Przystanek - kilkumiesięczny projekt edukacyjno-inspiracyjny, tworzony z udziałem i dla naszych talentów, w ramach którego zajmujemy się tematami, które aktualnie są dla nas szczególnie ważne i potrzebne.
Skill Space - kompleksowa ścieżka rozwojowa, która wspiera talenty na różnych etapach kariery, pomagając im rozwijać zarówno umiejętności techniczne, jak i kompetencje miękkie
Działania charytatywne - przykładem jest Akcja Mikołaje, w której już kilkanaście lat z rzędu prowadzimy działania wspierające dzieci w Domach Dziecka, a także mieszkańców i podopiecznych Domu Samotnej Matki w Kielcach.
Biura Pet Friendly - możesz przyjść do pracy razem ze swoim pupilem.
Work Your World – inicjatywa dla osób z minimum rocznym stażem, w której umożliwiamy pracę zdalną z niemalże każdego miejsca na świecie przez 6 tygodni.
Power of Referral – program wewnętrznych poleceń pracowniczych, w którym możesz otrzymać bonus finansowy za skuteczne polecenie talentu.
Parking – w naszych budynkach dostępna jest określona liczba miejsc parkingowych.
Doświadczenie:
Minimum 5 lat komercyjnego doświadczenia w tworzeniu aplikacji backendowych lub webowych.
Doświadczenie w samodzielnym projektowaniu i dostarczaniu aplikacji, większych funkcjonalności lub rozwiązań backendowych.
Bardzo dobra znajomość Pythona oraz praktyczne doświadczenie z Django, Django REST Framework i FastAPI.
Dobra znajomość zasad inżynierii oprogramowania, programowania obiektowego i wzorców projektowych.
Umiejętność modelowania logiki biznesowej i zależności pomiędzy modułami, procesami, usługami i danymi.
Umiejętność oceny wpływu zmian na cały system oraz tworzenia kodu czytelnego, testowalnego i utrzymywalnego.
Doświadczenie w projektowaniu REST API i integracji z systemami zewnętrznymi.
Dane:
Dobra znajomość SQL i praktyczne doświadczenie z PostgreSQL oraz ORM Django.
Umiejętność projektowania modeli danych, optymalizacji zapytań i wykonywania bezpiecznych migracji.
Doświadczenie w przetwarzaniu danych oraz budowie lub utrzymaniu procesów ETL/ELT.
Jakość i bezpieczeństwo:
Praktyczna umiejętność pisania testów jednostkowych, integracyjnych i API oraz doświadczenie w code review.
Znajomość podstaw bezpieczeństwa aplikacji webowych, API, autentykacji, autoryzacji i kontroli dostępu.
Cloud, DevOps i utrzymanie:
Praktyczne doświadczenie z Microsoft Azure lub Google Cloud Platform.
Znajomość zagadnień DevOps, procesów CI/CD oraz pracy z Git i Linuxem.
Praktyczne doświadczenie z Dockerem i wdrażaniem aplikacji na Kubernetes.
Znajomość Helm oraz konfiguracji aplikacji przeznaczonej dla różnych środowisk Kubernetes.
Umiejętność korzystania z logów, monitoringu i narzędzi diagnostycznych oraz analizowania problemów środowiskowych lub
produkcyjnych.
Język angielski umożliwiający swobodną pracę z dokumentacją techniczną i komunikację projektową.
Zakres obowiązków:
Rozwój aplikacji:
Projektowanie, rozwój i utrzymanie aplikacji w Pythonie z wykorzystaniem Django, Django REST Framework i FastAPI.
Projektowanie modularnej architektury, czytelnych kontraktów API oraz granic odpowiedzialności pomiędzy komponentami.
Modelowanie złożonej logiki biznesowej, reguł, walidacji i zależności pomiędzy procesami, danymi, modułami oraz systemami.
Analizowanie wpływu zmian na istniejące funkcjonalności, integracje i dane oraz ograniczanie ryzyka regresji.
Stosowanie zasad inżynierii oprogramowania, wzorców projektowych i praktyk wspierających czytelność, testowalność, niezawodność i
dalszy rozwój systemu.
Refaktoryzacja kodu, modernizacja rozwiązań i świadome zarządzanie długiem technicznym.
Projektowanie rozwiązań i współpraca z biznesem:
Analiza wymagań biznesowych i technicznych oraz przekładanie ich na spójne rozwiązania.
Dobór technologii i sposobu implementacji adekwatnego do problemu, skali, bezpieczeństwa i kosztu utrzymania.
Przygotowywanie rekomendacji technicznych, szacunków pracochłonności oraz identyfikowanie ryzyk i zależności.
Współpraca z analitykami, QA, frontend developerami, devops, administratorami i użytkownikami biznesowymi.
Dane, API i integracje:
Projektowanie modeli danych i rozwój rozwiązań wykorzystujących PostgreSQL oraz ORM Django.
Tworzenie i optymalizacja zapytań SQL, migracji oraz procesów importu, eksportu i transformacji danych.
Projektowanie i rozwój procesów ETL/ELT oraz kontrola poprawności i spójności danych.
Integracja z systemami zewnętrznymi, obsługa autentykacji, autoryzacji, błędów, ponowień i czasowej niedostępności usług.
Jakość, bezpieczeństwo i utrzymanie:
Tworzenie testów automatycznych, prowadzenie code review i rozwijanie standardów programistycznych.
Stosowanie dobrych praktyk bezpieczeństwa aplikacji webowych, API i przetwarzanych danych.
Analiza logów, diagnozowanie problemów środowiskowych i produkcyjnych oraz optymalizacja wydajności.
Cloud, DevOps i wdrożenia:
Praca z rozwiązaniami chmurowymi Microsoft Azure lub Google Cloud Platform.
Rozumienie zagadnień DevOps oraz współpraca przy automatyzacji budowania, testowania i wdrażania aplikacji w procesach CI/CD.
Konteneryzacja aplikacji z wykorzystaniem Dockera oraz przygotowywanie i utrzymywanie konfiguracji wdrożeniowych dla Kubernetes.
Praktyczna znajomość Helm: tworzenie lub modyfikowanie chartów, wartości środowiskowych i konfiguracji potrzebnej do
powtarzalnego wdrażania aplikacji.
Współpraca przy konfiguracji środowisk, parametrów aplikacji, monitoringu i diagnostyce wdrożeń.
Wykorzystanie AI i systemów agentowych:
Wykorzystywanie narzędzi AI i agentów programistycznych do wspierania analizy wymagań, tworzenia i przeglądu kodu, refaktoryzacji,
testowania, diagnozowania problemów oraz przygotowywania dokumentacji technicznej.
Projektowanie i rozwijanie rozwiązań wykorzystujących AI, modele językowe oraz systemy agentowe, integrujące się z API, narzędziami,
źródłami danych i procesami biznesowymi.
Poszukiwanie i ocena możliwości zastosowania AI i uczenia maszynowego do automatyzacji procesów, wspierania użytkowników,
analizy danych oraz rozwoju nowych funkcjonalności biznesowych.
Rozwój zespołu:
Mentoring i wsparcie techniczne mniej doświadczonych developerów.
Prowadzenie dyskusji technicznych, tworzenie dokumentacji technicznej, uzasadnianie decyzji i dzielenie się wiedzą.
Oferujemy:
Zatrudnienie w oparciu o umowę o pracę - pierwszą umowę podpisujemy na okres próbny.
Pracę hybrydową - każdy zespół pracuje w innym trybie spotkań stacjonarnych. Główna zasada to praca minimum 8 dni w miesiącu z biura.
Oczekiwane godziny rozpoczęcia pracy – elastycznie między godziną 8 a 10.
W piątki możemy skończyć pracę o godz. 15:00, jeśli tylko zrealizujemy nasze zadania i pozwala na to sytuacja biznesowa.
Pakiet benefitów pozapłacowych - podstawowy pakiet opieki medycznej opłacany przez pracodawcę, który możesz rozszerzyć o dodatkowe usługi oraz objąć opieką członków rodziny; doładowanie środków na platformę benefitową Nais, które możesz przeznaczyć na kartę sportową kulturę lub rozrywkę; możliwość przystąpienia do ubezpieczenia grupowego; dostęp do platformy do nauki języków obcych; Zakładowy Fundusz Świadczeń Socjalnych, z którego możesz otrzymać np. dofinansowanie do urlopu.
Środowisko, w którym otrzymasz wsparcie, zaufanie i pomoc - w badaniach satysfakcji nasze talenty potwierdzają, że mogą polegać na zespole, gdy potrzebują porady (98%), oraz że panuje tutaj atmosfera otwartości i akceptacji różnic między ludźmi (96%).
Wewnętrzna, międzynarodowa platforma Marcel – na której możemy korzystać z e-learningów (Linkedin i Udemy), a także autorskich programów czy warsztatów live.
Let’s Talk - możliwość darmowego skorzystania z konsultacji z psychologiem.
Kultura Ciekawości - postrzegamy ją jako kluczowy element naszej organizacji. Stale zasilamy nasz zespół inspiracjami i wiedzą podczas regularnych spotkań i nie tylko.
Międzynarodowe i lokalne programy i projekty rozwojowe, między innymi:
Przystanek - kilkumiesięczny projekt edukacyjno-inspiracyjny, tworzony z udziałem i dla naszych talentów, w ramach którego zajmujemy się tematami, które aktualnie są dla nas szczególnie ważne i potrzebne.
Skill Space - kompleksowa ścieżka rozwojowa, która wspiera talenty na różnych etapach kariery, pomagając im rozwijać zarówno umiejętności techniczne, jak i kompetencje miękkie
Działania charytatywne - przykładem jest Akcja Mikołaje, w której już kilkanaście lat z rzędu prowadzimy działania wspierające dzieci w Domach Dziecka, a także mieszkańców i podopiecznych Domu Samotnej Matki w Kielcach.
Biura Pet Friendly - możesz przyjść do pracy razem ze swoim pupilem.
Work Your World – inicjatywa dla osób z minimum rocznym stażem, w której umożliwiamy pracę zdalną z niemalże każdego miejsca na świecie przez 6 tygodni.
Power of Referral – program wewnętrznych poleceń pracowniczych, w którym możesz otrzymać bonus finansowy za skuteczne polecenie talentu.
Parking – w naszych budynkach dostępna jest określona liczba miejsc parkingowych.
🔍 Dekoder Ogłoszenia
🔴
Doświadczenie w samodzielnym projektowaniu i dostarczaniu aplikacji, większych funkcjonalności lub rozwiązań backendowych.
Oczekuje się, że będziesz w stanie przejąć odpowiedzialność za cały cykl życia projektu lub jego znaczącej części, od koncepcji po wdrożenie, bez ciągłego nadzoru.
🟡
Dobra znajomość zasad inżynierii oprogramowania, programowania obiektowego i wzorców projektowych.
Może to oznaczać zarówno gruntowną wiedzę teoretyczną, jak i umiejętność jej praktycznego zastosowania w złożonych scenariuszach.
🟢
Umiejętność oceny wpływu zmian na cały system oraz tworzenia kodu czytelnego, testowalnego i utrzymywalnego.
Oczekuje się, że będziesz myśleć strategicznie o konsekwencjach swoich działań i pisać kod wysokiej jakości, który nie będzie sprawiał problemów w przyszłości.
🟡
Praktyczne doświadczenie z Microsoft Azure lub Google Cloud Platform.
Wymagane jest nie tylko teoretyczne zrozumienie, ale faktyczne umiejętności konfiguracji i zarządzania usługami w chmurze.
🟡
Znajomość zagadnień DevOps, procesów CI/CD oraz pracy z Git i Linuxem.
Oprócz pisania kodu, oczekuje się, że będziesz aktywnie uczestniczyć w procesach budowania, testowania i wdrażania aplikacji.