Ś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.
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ć.
Zadbam o przygotowanie środowiska produkcyjnego, dla napisanych przeze mnie aplikacji, odpowiednio zoptymalizowanego pod kątem wydajnościowym i kosztowym.
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.
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ę.
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.
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).
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.
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:
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.
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).
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.
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.