Lokalizacja: Polska
Stawka: 9000 USD brutto
O MNIE
- Jestem programistą full-stack Ruby on Rails z specjalizacją w backendzie i doświadczeniem w administracji systemem Linux.
- Mam 6-letnie doświadczenie w pracy z Rails i
- 7-letnie doświadczenie w programowaniu w Ruby.
- Jestem również dobrze zaznajomiony z administracją systemu Linux.
- Jestem zainteresowany nauką nowoczesnych technologii, takich jak automatyzacja w chmurze, Kubernetes, Docker i GoLang.
- Skupiam się na wykonywaniu nietypowych zadań w jak najlepszy i elegancki sposób.
- Jestem aktywnym członkiem zespołu i mam doświadczenie w koordynowaniu pracy zespołowej.
PODSUMOWANIE UMIEJĘTNOŚCI
Umiejętności techniczne:
- Systemy operacyjne: Linux, macOS;
- Zarządzanie wersjami oprogramowania: Git;
- Przepływ procesu tworzenia oprogramowania: SCRUM, Kanban;
- Platformy cloud: Google Cloud Platform;
- Administracja serwerem i narzędzia automatyzacji: NGINX Server, serwer aplikacji Passenger, serwer aplikacji Puma, Bash, Ansible, Docker swarm, Jenkins CD, Travis CI, GitLab CI, Capistrano, infrastruktura Google Cloud Platform i ML Engine.
- Systemy logów: Fluentd i Logz.io, DataDog, Errbit, Airbrake.
- Narzędzia i języki backendowe: Ruby, Rails, Python, Django, Golang, RSpec, Capybara, różne publiczne i prywatne gemy, Errbit (narzędzie zgodne z interfejsem API Airbrake), MySQL, PostgreSQL, TelegramAPI.
- Projektowanie oprogramowania: Frameworki - Bulma, ZURB Foundation, Twitter-Bootstrap, jQuery, JS.
DOŚWIADCZENIE ZAWODOWE
Stanowisko: Starszy programista Ruby on Rails
2019 - obecnie
Obowiązki:
- Projektowanie architektury, implementacja backendu (Ruby) i frontu (JQuery) dla całego systemu.
- Integracja zewnętrznych interfejsów API (RapidAPI, WeatherAPI itp.).
- Konfigurowanie własnych obrazów Docker, kontenerów Docker compose (aplikacja, PG, NGINX, Redis), woluminów i wdrażanie w produkcji.
- Konfigurowanie DNS.
- Rozwój aktualizacji ActionCable i konfiguracja za pomocą NGINX.
- Konfigurowanie bota Telegram jako interfejsu użytkownika.
- Implementacja testów jednostkowych, integracyjnych z użyciem RSpec.
- Praca z CircleCI i konfigurowanie go.
Narzędzia i technologie: Nginx, Docker-Container, PostgreSQL, Redis, Ruby on Rails 6.1, Ruby 3.0, Webpacker, REST API, TelegramAPI, JQuery, RSpec.
Stanowisko: Lider zespołu programistycznego
2018 - 2019
Obowiązki:
- Koordynacja zespołu.
- Wyjaśnianie wymagań.
- Przeprowadzanie jakościowych przeglądów kodu.
- Udział w działaniach refaktoryzacyjnych.
- Aktywność w procesie Scrum: planowanie, zbieranie wymagań, rozwijanie nowych funkcjonalności, weryfikacja, naprawianie błędów, prowadzenie retrospektyw, zbieranie opinii, poprawianie przepływu projektu.
- Udział jako przedstawiciel zespołu w retrospektywach międzyzespołowych.
Narzędzia i technologie: PostgreSQL, Jenkins, Docker, Ruby, RubyOnRails, REST API, RSpec, Kafka.
Stanowisko: Starszy inżynier oprogramowania
2017 - 2018
Obowiązki:
- Integracja z zewnętrznym systemem usług webowych przy użyciu protokołu HTTPS.
- Rozwinięcie komunikacji między usługami za pomocą wiadomości JSON API.
- Rozwinięcie komunikacji między usługami za pomocą przekazywania wiadomości publikuj-subskrybuj (Rabbit).
- Rozwinięcie systemu idempotentnego dla transakcji atomowych między dwoma oddzielnymi systemami bankowymi.
- Rozwinięcie interfejsu użytkownika z dynamiczną zmianą DOM w zależności od żądanych kryteriów.
- Oszacowanie i interpretacja wymagań.
- Prowadzenie codziennych spotkań z klientem w celu dostosowania jednego z nurtów projektu.
- Implementacja testów jednostkowych, integracyjnych, funkcjonalnych i E2E.
Narzędzia i technologie: MySQL, Ruby on Rails, RabitMQ, Scheduler, Docker, Portainer, Errbit, Git, Jira, AJAX, REST, API, Rspec i testy Capybara, TDD.
Stanowisko: Programista Ruby on Rails full-stack
2016 - 2017
Obowiązki:
- Projektowanie, implementacja i ulepszanie backendu (RoR, Ajax) dla projektu systemu CRM. Z zaplanowanymi zadaniami (Whenever). System wysyłania wiadomości (standardowy Rails mailer) z integracją z usługami pocztowymi (Gmail, mail.ru, Yandex). Niestandardowe API wymiany 1C.
- Administracja serwerem Arch i Ubuntu Linux oraz wdrażanie aplikacji (Nginx + Passenger). Wykorzystanie zautomatyzowanego wdrażania za pomocą Ansible.
- Projektowanie, implementacja i ulepszanie frontendu (jQuery, różne opakowania dla komponentów JS, simple_form z niestandardowymi polami i opakowaniami, Foundation).
Narzędzia i technologie: PostgreSQL, Passenger, ZSH, Nginx, GIT, Capistrano, Ansible, Linux: Ubuntu, Arch Linux; ROR, HTTP, HTML:5, CSS:3, Foundation ZURB, jQuery, PostgreSQL, AJAX, REST, API, API Sync 1c.