Sebastian Depta
Lubię myślęć o programowaniu jako o połączeniu solidnego rzemieślnictwaartystyczną swobodą. Jeżeli jednak miałbym wybierać, wybrałbym kawę.

Sebastian Depta
Lubię myślęć o programowaniu jako o połączeniu solidnej inżynierii z artystyczną swobodą. Jeżeli dodać do tego odpowiednią ilość kawy, można oczekiwać fascynujących rezultatów.


Moje usługi

Świadczę usługi w zakresie tworzenia i utrzymania szerokopojętych aplikacji webowych. Jeżeli nawiążemy współpracę pomogę w realizacji projektu, począwszy od etapu koncepcyjnego, kończąc na wdrożeniu i utrzymaniu aplikacji.

Zobrazowanie dedykowanej aplikacji
Dedykowane aplikacje

Napiszę od zera, na podstawie specyfikacji, większość aplikacji, które można określić mianem "internetowych". W przypadku braku dokumentacji pomogę zebrać wymagania i je sformalizować.

Zobrazowanie utrzymania i wdrożenia aplikacji
Utrzymanie i wdrożenie

Zadbam o przygotowanie środowiska produkcyjnego, dla napisanych przeze mnie aplikacji, odpowiednio zoptymalizowanego pod kątem wydajnościowym i kosztowym.

Zobrazowanie wsparcia technicznego i konsultacji
Wsparcie techniczne i konsultacje

Jeżeli potrzebujesz "przegadać" jakieś zagadnienie lub potrzebujesz drugiej opinii, chętnie pomogę od strony technologicznej. Podzielę się swoim bogatym doświadczeniem i być może dzięki temu ułatwię Ci podjęcie kluczowej decyzji dotyczącej Twojego oprogramowania.

Zobrazowanie audytu
Audyty

Jeżeli masz już gotową aplikację, ale nie jesteś pewien czy wszystko z nią ok i potrzebujesz niezależnej oceny, to jeżeli mam wystarczające doświadczenie w technologiach, w których została napisana, chętnie Ci pomogę.


Doświadczenie

  • WebMakers Software House
  • Senior PHP Programmer
    czerwiec 2022 - obecnie
  • Tech Leader
    sierpień 2021 - maj 2022
  • Senior PHP Programmer
    październik 2019 - maj 2022
  • DevInvaders
  • Principal Cofounder
    maj 2019 - styczeń 2020
  • INIS sp. z o.o.
  • IT Team Leader
    2017 - 2019
  • Senior PHP Programmer
    2013 - 2017
  • PHP Programmer
    2012 - 2013
Systemy wysyłkowe i marketingowe

Tak się złożyło, że przez wiele lat mojej kariery zawodowej zajmowałem (i nadal zajmuję) się tworzeniem systemów wysyłkowych i marketingowych. Jedne z nich koncentrowały się na emailach, inne na SMSach, a jeszcze inne na wyświetlaniu kontekstowych reklam, czy zbieraniu informacji o zachowaniach użytkowników. Chociaż każda z tych aplikacji była inna, nieraz napisana w innej technologii, to wszystkie one, poza wspólnymi celami biznesowymi, miały również szereg wspólnych cech technologicznych.

Wszystkie one były aplikacjami sieciowymi, które musiały być skalowalne i wydajne. Każdy z tych systemów przetwarzał ogromne ilości danych, które były przechowywane w bazach dostosowanych do specyfiki danego zagadnienia. Wykorzystanie kolejek do zrównoleglania przetwarzania danych było nieodłącznym elementem każdego z tych systemów. Dzięki tym doświadczeniom, posiadam dzisiaj spory zakres wiedzy na temat szybkiego i wydajnego przetwarzania danych.

Sklepy i ecommerce

Z marketingiem nieodłącznie związany jest ecommerce. Po co tworzyć aplikacje służące do prowadzenia kampanii reklamowych, jeżeli nie można ich wykorzystać do sprzedaży produktów? Z tego powodu równie często miałem okazję zajmować się sklepami internetowymi, ich integracjami z różnymi systemami zewnętrznymi (np. Optima), czy tworzeniem dedykowanych rozwiązań. Zapoznałem się, z ciekawymi platformami, takimi które bardzo polubiłem (np. Sylius), jak i z takimi, z którymi delikatnie mówiąc nie chcę już mieć za wiele wspólnego (np. WooCommerce).

Rozwiązania wspierające edukację

W ostatnich latach mogłem pracować nad kilkoma projektami, które miały na celu rozwój narzędzi wspomagających edukację. Wśród nich były zarówno aplikacje wspierające naukę zdalną jak i takie, które pozwalają w łatwiejszy sposób zarządzać szkołami.

Żadna inna branża nie wymagała ode mnie takiej kreatywności i elastyczności, jak edukacja. Często nie zdajemy sobie sprawy z jakimi problemami muszą zmagać się nauczyciele i jakich, nieraz bardzo nietypowych rozwiązań, potrzebują. To bardzo satysfakcjonująca praca, dająca poczucie robienia czegoś wartościowego.


Stack technologiczny

W swojej karierze pracowałem w wielu technologiach. W większości były to rozwiązania oparte o PHP lub takie, które dobrze się komponowały z tym językiem. Obecnie specjalizuję się w tworzeniu aplikacji w oparciu o:

Zobrazowanie języka PHP
PHP

PHP jako język programowania przeszedł długą drogę od czasów, kiedy był postrzegany jako "skryptowy język do tworzenia stron internetowych". Obecnie jest to język, który jest wykorzystywany zarówno do tworzenia prostych stron, jak i skomplikowanych aplikacji, a nawet całych ekosystemów. Sprawdza się w tej roli idealnie, nie tylko ze względu na bogactwo dostępnych, świetnie napisanych bibliotek, ale również dzięki olbrzymiej społeczności, która stale się rozwija.

Zobrazowanie Laravela
Laravel

Laravel jest frameworkiem, który w ostatnich latach zyskał ogromną popularność. Jest to framework, który w bardzo prosty sposób pozwala na tworzenie skalowalnych aplikacji. Dzięki swojej modułowej budowie, pozwala na tworzenie aplikacji, które są łatwe w utrzymaniu i rozbudowie. Ekosystem dostępnych dla niego rozwiązań jest ogromny i z każdym dniem rośnie. Dla przykłądu, dzięki jednej z jego bibliotek, Livewire można tworzyć aplikacje SPA, bez konieczności pisania kodu w JavaScript (lub frameworkach frontowych).

Zobrazowanie Debiana i Ubuntu
Debian i Ubuntu

Każda, nawet najlepsza aplikacja sieciowa musi być gdzieś hostowana. Od wielu lat używam systemów operacyjnych z rodziny Linux, w szczególności Debiana i Ubuntu, które cenię przede wszystkim za stabilność i prostotę. W połączeniu z odpowiednio dobranym oprogramowaniem potrafię przygotować wydajne, stabline środowisko produkcyjne, które będzie łatwe w utrzymaniu, a przy okazji konkurencyjne cenowo do uwielbianych w ostatnim czasie środowisk chmurowych.

Zobrazowanie Dockera
Docker

Docker to narzędzie, które pozwala na tworzenie i uruchamianie aplikacji w izolowanych kontenerach. Dzięki temu, że aplikacje są uruchamiane w izolowanych środowiskach, można je łatwo przenosić pomiędzy różnymi środowiskami, a także uruchamiać wiele instancji aplikacji na jednym serwerze. Dzięki temu, że kontenery są izolowane, można w prosty sposób przygotować środowisko produkcyjne, które będzie łatwe w utrzymaniu i rozbudowie. Nie straszne będą również aktualizacje systemu operacyjnego, które nie będą miały wpływu na działanie aplikacji.