Strona główna » Team
O nas - Kotrak Software
Tworzymy zgrany zespół project managerów, programistów, projektantów, analityków i testerów, który pracuje wspólnie, aby dostarczyć produkt wysokiej jakości, łącząc potrzeby użytkowników z wymaganiami biznesu.
Poznaj nas
Jakub Imosa
CEOPiotr Chmielarski
Director
CEO - Kotrak S.A., Co-founder
Jakub Imosa to pomysłodawca i twórca Kotrak Software - miejsca, w którym innowacja spotyka pasję, a technologia staje się źródłem rozwoju. Jego wizja była prosta - stworzyć firmę, która dostarcza nie tylko produkty wysokiej jakości, ale również rozwiązania, które potrafią zmieniać branże. Dzięki umiejętności identyfikowania kluczowych wyzwań i wychodzenia naprzeciw oczekiwaniom rynku, dzisiaj Kotrak Software zajmuje wysokie miejsce w czołówce polskich firm IT.
Przez niemal trzy dekady, Jakub Imosa efektywnie tworzy zespół ludzi, którzy dzielą jego zamiłowanie do technologii i są gotowi podjąć się realizacji nawet najbardziej wymagających zadań. Poza światem biznesu, twórca Kotrak Software kocha podróże i odkrywanie różnych kultur. Czerpie inspiracje z różnorodności świata, co pozytywnie wpływa na tworzone przez nas produkty i usługi.
Software Development
Jeżeli mielibyśmy wskazać osobę, która byłaby uosobieniem najlepszych cech branży IT, byłby to właśnie Piotr Chmielarski. Człowiek, który z optymizmem patrzy w przyszłość, ufa ludziom z którymi współpracuje, budując stabilny i silny dział developmentu w firmie Kotrak. To tutaj, realizowane są największe i najbardziej innowacyjne projekty. Tutaj wdrażamy i testujemy najnowocześniejsze narzędzia, oprogramowanie oraz procesy. Wierzymy w posiadane umiejętności i wiemy, że możemy na siebie liczyć. Na tak zarządzanym okręcie nie straszne nam wyzwania i nagłe zmiany kierunku. Cel zaś jest prosty i dobrze widoczny, to produkt, który ma działać, być funkcjonalny, zrozumiały dla użytkownika i skrojony na miarę biznesu dla którego pracujemy. Ważna jest dla nas transparentność we współpracy, jasność w komunikacji i obowiązkowo, dobra atmosfera.
- Team
PRODUCT MANAGERS
- Przemysław Przybyszewski
w Kotrak od 2013
- Maciej Dobrzański
w Kotrak od 2012
- Marcin Block
w Kotrak od 2000
- Anna Krajcarz
w Kotrak od 2018
Michał Kowal
Team leaderBackend Development
Michał Kowal
Team leaderFrontend Development
Marek Mamcarz
Team leaderProject Management
Wojciech Wojerz
Team leaderBusiness Analysis Department
Alicja Karp
Team leaderDesign Development
Marek Elmrych
Team leaderQA Department
- Team
QA DEPARTMENT
- Marek Elmrych
w Kotrak od 2024
Projekty: De Heus, MyRollo
- Anna Krajcarz
w Kotrak od 2018
Projekty: De Heus, FLOTIupp, MES
- Aleksandra Masternak
w Kotrak od 2019
Projekty: De Heus, JUICEupp, FLOTIupp
- Kinga Przybyło
w Kotrak od 2017
Projekty: Blachotrapez, FLOTIupp
- Aleksandra Woszek-Niedrygas
w Kotrak od 2021
Projekty: MES, Masters, FLOTIupp
- Maciej Buchacz
w Kotrak od 2021
Projekty: De Heus
- Sabina Rachwalska
w Kotrak od 2022
Projekty: Masters, De Heus
- Gedeon Kucharski
w Kotrak od 2020
Projekty: De Heus
- Wojciech Pyrlik
w Kotrak od 2022
Projekty: De Heus
- Marta Misiewicz
w Kotrak od 2023
Projekty: De Heus
- Team
PROJECT MANAGEMENT
- Marek Mamcarz
w Kotrak od 2015
Projekty: De Heus, SpacePark
- Marcin Kleszcz
w Kotrak od 2014
Projekty: De Heus
- Anna Domańska
w Kotrak od 2019
Projekty: JUICEupp, FLOTIupp, BOOSTERupp
- Andrzej Roszak
w Kotrak od 2019
Projekty: De Heus
- Marta Szaleniec-Michalik
w Kotrak od 2021
Projekty: De Heus, FLOTIupp
- Zofia Torbus
w Kotrak od 2022
Projekty: De Heus, SpacePark
- Weronika Rudol
w Kotrak od 2024
Projekty: De Heus
- Team
FRONTEND DEVELOPMENT
- Michał Kowal
w Kotrak od 2017
Projekty: De Heus, Mowi, FLOTIupp, MES, SpacePark
- Łukasz Furlepa
w Kotrak od 2018
Projekty: De Heus, MES
- Seweryn Gładysz
w Kotrak od 2018
Projekty: De Heus, BOOSTERupp, SpacePark
- Andżelika Jezierska-Rodzik
w Kotrak od 2022
Projekty: FLOTIupp, BOOSTERupp
- Michał Gołuch
w Kotrak od 2022
Projekty: FLOTIupp, BOOSTERupp
- Szymon Napieraj
w Kotrak od 2022
Projekty: BOOSTERupp, De Heus
- Agata Gryszkiewicz
w kotrak od 2023
Projekty: FLOTIupp, BOOSTERupp
- Marcin Bloch
w Kotrak od 2000
Projekty: De Heus
- Team
DESIGN DEVELOPMENT
- Alicja Karp
w Kotrak od 2022
Projekty: JUICEupp, FLOTIupp, BOOSTERupp, SpacePark, De Heus
- Karolina Drozd
w Kotrak od 2022
Projekty: FLOTIupp, BOOSTERupp, SpacePark, De Heus
- Team
BUSINESS ANALYSIS DEPARTMENT
- Wojciech Wojerz
w Kotrak od 2017
Projekty: De Heus, MES, SpacePark, LokkoParry
- Jacek Januszczak
w Kotrak od 2017
Projekty: Blachotrapez, FLOTIupp, BOOSTERupp, Taberu, Solutions.Rent, Speedworker
- Ewa Mucha
w Kotrak od 2019
Projekty: De Heus, FLOTIupp, Maxcom, Blachotrapez,
- Tomasz Koźmin
w Kotrak od 2022
Projekty: De Hues, FLOTIupp, BOOSTERupp
- Team
BACKEND DEVELOPMENT
- Michał Kowal
w Kotrak od 2017
Projekty: De Heus, Mowi, FLOTIupp, MES, SpacePark
- Paweł Piech
w Kotrak od 2010
Projekty: De Heus, ERP Integrator, Mowi
- Tomasz Nojek
w Kotrak od 2014
Projekty: De Heus, MES
- Jakub Ślęzak
w Kotrak od 2015
Projekty: De Heus, Blackout, JUICEupp, FLOTIupp, BOOSTERupp
- Sławomir Naczyński
w Kotrak od 2016
Projekty: De Heus, GIG, Masters, FLOTIupp, BOOSTERupp
- Grzegorz Gębczyński
w Kotrak od 2017
Projekty: De Heus, FLOTIupp, JUICEupp, Masters, Laguna
- Marek Wochnik
w Kotrak od 2017
Projekty: FLOTIupp, Masters, Blachotrapez, Speedworker
- Jakub Rejowski
w Kotrak od 2017
Projekty: FLOTIupp, Masters, Blachotrapez
- Łukasz Porębski
w Kotrak od 2018
Projekty: FLOTIupp, MES, De Heus, Blachotrapez
- Kalina Zena
w Kotrak od 2019
Projekty: De Heus
- Michał Kordys
w Kotrak od 2019
Projekty: De Heus, MES, ERP Integrator, Comarch, Maxcom, Hemarpol
- Kacper Matuszek
w Kotrak od 2019
Projekty: De Heus, FLOTIupp, GBA Polska (Jars)
- Łukasz Siedlaczek
w Kotrak od 2019
Projekty: De Heus, Mowi, MES, Solutions.Rent
- Dominik Lorke
w Kotrak od 2022
Projekty: De Heus
- Krzysztof Kostka
w Kotrak od 2022
Projekty: FLOTIupp, DHPlant 3.0
Czym się zajmujemy
Metodyka pracy
Proces analizy rozpoczyna się od określenia metod i narzędzi, które będą stosowane w ramach projektu. Wybór ten oparty jest o nasze doświadczenia, jednocześnie uwzględniając potrzeby klienta i skalę projektu. Po dokonaniu wyboru metod analizy i narzędzi, przechodzimy do fazy definiowania wymagań. Polega ona na przeprowadzaniu spotkań i sesji, w trakcie których klient uświadamia i precyzyjnie definiuje swoje potrzeby biznesowe. Często, wspólnie z posostałymi zespołami, korzystamy z metodyki event storming, która umożliwia szerokie omówienie poszczególnych procesów realizowanych w organizacji, a wyniki sesji przedstawiane są w czytelnych schematach.
Po zdefiniowaniu wymagań, są one przedstawiane w postaci diagramów, co ułatwia zarządzanie nimi oraz kontrolę, czy każde z nich zostało uwzględnione w funkcjonalnościach systemu. Opis funkcjonalności jest tworzony za pomocą wybranych metod. Są to między innymi:
Opisy oparte na schematach,
User stories,
Use cases,
Diagramy, takie jak BPNM, UML, SysML.
W celu przygotowania opisów korzystamy z narzędzi, takich jak Confluence, Enterprise Architect, Miro, Bizagi, Jira. Dla każdej funkcjonalności, oprócz jej wielopoziomowego opisu, określamy kryteria akceptacji. Dzięki temu, już na etapie modelowania rozwiązania, definiujemy obszary, które zespół ds. utrzymania jakości powinien sprawdzić, aby stwierdzić, czy dana funkcjonalność działa zgodnie z założeniami.
Poprawna analiza pozwala określić sens tworzonego systemu oraz kontrolować, czy realizacja poszczególnych składników jest zgodna z przyjętą logiką.
Metodyka pracy
Zespół deweloperski realizuje zadania w krótkich sprintach, wykorzystując hybrydowe metodyki takie jak Scrum, Kanban i PMBOK. Funkcjonalności są przygotowane w oparciu o wnikliwą analizę oraz prototyp interfejsu użytkownika. Stale pogłębiamy swoje kwalifikacje, by zgodnie z obecnymi trendami realizować złożone systemy informatyczne uwzględniając holistyczne podejście do klienta.
Realizacja
W naszych rozwiązaniach propagujemy budowę komponentową z zastosowaniem atomic design, co pozwala na wysoką testowalność i dobrą organizację poszczególnych komponentów. Podczas implementacji zespół dba o jakość, zachowując wysokie pokrycie testami implementowanych rozwiązań.
Skalowalność i bezpieczeństwo
Zespoły doskonale rozumieją, jak ważne jest zapewnienie optymalnego doświadczenia użytkownika na stronach internetowych. Dlatego na każdym etapie wytwarzania oprogramowania dbamy o metryki Google Core Web Vitals, zestaw kluczowych miar efektywności strony internetowej, które wpływają na szybkość ładowania, interakcje i stabilność. Nasza pasja sprawia, że produkty nie tylko wyróżniają się estetyką, ale również zdobywają doskonałe oceny w metrykach Core Web Vitals. Nasz zespół wykorzystuje najnowsze narzędzia i technologie, aby mieć pewność, że nasze produkty są zoptymalizowane pod kątem wydajności i doskonale radzą sobie z wymaganiami nowoczesnych przeglądarek. Przez cały cykl życia produktu zespół działa proaktywnie, aby wykrywać i usuwać ewentualne podatności. W końcowym etapie realizacji wykonujemy kompleksowy audyt bezpieczeństwa, dzięki czemu nasi klienci mają pewność, że produkt jest chroniony przed ewentualnymi atakami i zagrożeniami cybernetycznymi.
Nowoczesne technologie
Dobór odpowiedniego rozwiązania jest indywidualny do potrzeb klienta. Nasze działania R&D oraz bogate doświadczenie gwarantują realizację wydajnych i skalowalnych projektów. Nasz sukces można mierzyć zadowoleniem wielu klientów, które potwierdzają, że stosowane przez nas podejścia projektowe są nie tylko trafne, ale również niezwykle efektywne.
Projekt
Początkiem każdego projektu IT jest faza projektowania. W naszej pracy wykorzystujemy podejście Domain-Driven Design, które opiera się na projektowaniu w oparciu o dziedzinę biznesową. Naszym celem jest stworzenie oprogramowania, które nie tylko spełnia postawione wymagania, ale także odzwierciedla rzeczywistość i jest łatwe w zrozumieniu zarówno dla użytkowników, jak i dla twórców. Zależy nam na tym, aby nasze rozwiązania były łatwe w utrzymaniu i rozwoju, ponieważ projekty często rozwijane są przez długie lata.
Nasz udział w projekcie rozpoczynamy od Strategic Design podczas którego (wspólnie z pozostałymi działami) dokładnie poznajemy charakterystykę klienta – zbieramy nie tylko „suche” wymagania, ale również zasady rządzące jego działalnością. Następnie przechodzimy do Tactical Design, gdzie przenosimy zgromadzoną wiedzę na model domeny, analizujemy scenariusze i przypadki użycia, projektujemy poszczególne części systemu i spisujemy dokumentację. Podczas tego etapu korzystamy z różnych narzędzi, takich jak diagramy UML i model C4.
Realizacja
Kolejnym krokiem jest realizacja, podczas której stawiamy na odpowiedni balans między sprawdzonymi rozwiązaniami a nowymi technologiami. Dobór technologii jest uzależniony od wielu czynników jak np. typ aplikacji, bezpieczeństwo czy wydajność. Końcowe rozwiązanie powinno być przede wszystkim stabilne, ale też łatwe w utrzymaniu i rozwoju.
Pomocne jest tutaj portfolio naszych poprzednich projektów, które pozwala nam na szybką analizę i wyszukanie rozwiązań dla problemów podobnej klasy. Projekty staramy się realizować iteracyjnie, kolejno dostarczając działające funkcjonalności, dzięki czemu możemy je weryfikować i testować na każdym etapie realizacji. Podczas tego procesu wykorzystujemy podejście Agile, co umożliwia wprowadzanie zmian i dostosowywanie priorytetów w trakcie pracy.
Wdrożenie i utrzymanie
Gotowe rozwiązanie wdrażamy w sposób dostosowany do wymagań i specyfiki oprogramowania. Stawiamy na konteneryzację aplikacji, co ułatwia oddzielenie jej od infrastruktury i zapewnia uniezależnienie od konkretnego dostawcy. Dbałość o infrastrukturę realizujemy przy użyciu Infrastructure as Code i narzędzia Terraform. Posiłkujemy się również skryptami SQL, Powershell i Shell.
Odpowiednie monitorowanie i analiza logów i danych metrycznych pozwalają nam na bieżąco wykrywać i reagować na ewentualne problemy. Stale rozwijamy nasze projekty, dbając o zapewnienie optymalnego doświadczenia użytkownika.
Strategia i projekt
Wszystkie nasze produkty projektujemy, wykorzystując metodykę Design Thinking, tak aby rozwiązania by Kotrak Software były łatwe w użyciu, atrakcyjne wizualnie oraz spełniały potrzeby biznesowe i oczekiwania użytkowników. Cele te realizujemy w następujących po sobie etapach:
Identyfikacja potrzeb – to pierwszy i kluczowy etap procesu projektowania produktu lub usługi w którym razem z pozostałymi zespołami, staramy się zebrać jak najwięcej informacji o oczekiwaniach użytkowników oraz celach biznesowych, aby w pełni zrozumieć kontekst, w jakim produkt lub usługa będzie używana.
Definiowanie person – tworzymy wirtualne postaci, które reprezentują grupy docelowe użytkowników. Lepsze zrozumienie zachowań odbiorców umożliwia nam tworzenie bardziej dopasowanych rozwiązań. Persony wykorzystujemy również do oceny funkcjonalności i użyteczności projektowanych produktów oraz do tworzenia scenariuszy testów użyteczności.
Badania rynku i użytkowników – to proces podczas którego zbieramy i analizujemy informacje na temat użytkowników oraz trendy w branży. Naszym celem jest uzyskanie wglądu w to, jakie produkty i usługi są potrzebne na rynku, jakie problemy mają użytkownicy i jakie są ich preferencje. Na tej podstawie określamy zakres funkcjonalności, które są kluczowe dla sukcesu projektu.
Tworzenie koncepcji – po analizie wyników badań, tworzymy koncepcję produktu, która uwzględnia cele biznesowe oraz oczekiwania użytkowników. Na tym etapie stosujemy różne techniki kreatywnego myślenia, takie jak burza mózgów czy mind mapping, aby wygenerować jak najwięcej pomysłów. Następnie zespół dokonuje selekcji i wybiera te pomysły, które najlepiej spełniają ww. wymagania.
Prototypowanie i testowanie – to kolejny istotny etap w procesie projektowania doświadczeń użytkownika. Po zaprojektowaniu koncepcji projektu i wykonaniu pierwszych szkiców, realizujemy prototyp. Następnie przeprowadzamy na nim testy z wybranymi użytkownikami, aby zebrać informacje zwrotne i wykryć potencjalne problemy. Testy te pozwalają na poprawienie projektu zanim zostanie ostatecznie uruchomiony produkt.
Monitorowanie i optymalizacja – ostatni etap projektowania, podczas którego zbieramy dane, aby ocenić, czy projekt spełnia oczekiwania użytkowników i cele biznesowe. W razie potrzeby wprowadzamy zmiany lub ulepszenia.
Testy użyteczności
Dla zapewnienia optymalnych doświadczeń użytkownikom, regularnie przeprowadzamy testy i oceniamy zaprojektowane rozwiązania.
Nasz proces rozpoczyna się od określenia celów testu oraz kryteriów sukcesu. Następnie projektujemy scenariusze testowe, które uwzględniają różne sposoby interakcji z interfejsem i różne konteksty użytkowania.
Testy użyteczności przeprowadzane są na różnych etapach projektu, zwykle w fazie prototypowania lub na wstępnych wersjach produktu. Użytkownicy wykonują wcześniej przygotowane zadania, a ich interakcje są monitorowane i rejestrowane.
Po przeprowadzeniu testów analizujemy zebrane dane, aby zidentyfikować problemy lub wyzwania, z jakimi użytkownicy spotykają się podczas interakcji z interfejsem. Na podstawie tych informacji podejmujemy decyzje dotyczące dalszych kroków projektowych, takie jak wprowadzenie zmian lub dodanie nowych funkcjonalności.
Testy użyteczności są kluczowym elementem procesu projektowania UX/UI, dającym pewność, że zaprojektowane przez nas rozwiązania odpowiadają potrzebom i oczekiwaniom użytkowników oraz są łatwe w użyciu i zrozumieniu.
Integracja i dostępność
Przy tworzeniu rozwiązań IT kierujemy się wytycznymi, aby zapewnić większą dostępność produktu dla różnych użytkowników. Zależnie od wymagań projektu, stosujemy:
Wsparcie dla technologii asystujących, takich jak programy do rozpoznawania mowy, syntezatory głosu i urządzenia umożliwiające sterowanie komputerem za pomocą gestów.
Uproszczenie języka i interfejsu, aby był zrozumiały dla różnych grup użytkowników.
Kontrast kolorów, aby treści były lepiej widoczne dla osób z problemami ze wzrokiem.
Alternatywne teksty dla elementów multimedialnych, takich jak zdjęcia i filmy, które umożliwiają użytkownikom niedowidzącym korzystanie z produktu.
Wykorzystanie semantycznego kodu, czyli odpowiednie oznaczenie elementów na stronie, aby były zrozumiałe dla czytników ekranowych.
Zapewnienie kontroli za pomocą klawiatury, umożliwiając użytkownikom korzystanie z produktu bez konieczności używania myszy.
Przestrzeganie zasad WCAG (Web Content Accessibility Guidelines), pozwala na tworzenie bardziej dostępnych produktów IT, jednocześnie budując pozytywny wizerunek firmy jako marki dbającej o potrzeby różnorodnych grup użytkowników.
Metodyka pracy
Testy aplikacji stanowią końcowy etap wytwarzania oprogramowania, jednak nasza aktywność rozpoczyna się już na początku projektu. Na podstawie przeprowadzonej analizy biznesowej i wybranej architektury systemowej, nasi testerzy dobierają odpowiednie metody i narzędzia testowe. Kluczowym czynnikiem jest również metodyka prowadzenia projektu. W tym etapie stawiamy sobie pytania:
Czy potrzebujemy pełnej dokumentacji przypadków testowych?
Czy możemy zaimplementować testy automatyzujące?
Czy będą wymagane testy wydajnościowe?
Czy będziemy musieli przeprowadzić testy penetracyjne?
Jak podejdziemy do planowania testów, uwzględniając metodykę projektu?
Na podstawie uzyskanych odpowiedzi, dobieramy odpowiedni skład projektowy dla części odpowiedzialnej za jakość. Z naszego doświadczenia wiemy, że każdy projekt ma swoje własne specyfiki, dlatego podczas podejścia do testowania staramy się być elastyczni wobec wymagań projektowych i harmonogramu, jednocześnie przestrzegając ustalonych standardów, takich jak:
Odpowiednie planowanie testów.
Dokumentacja testowa.
Transparentne raportowanie wyników.
Metodyka pracy
Zarządzanie projektami, to dziedzina w której można łatwo mierzyć skuteczność. Miara tej skuteczności wyraża się poprzez satysfakcję wszystkich stron zaangażowanych w projekt. Istnieje wiele książek, publikacji i poradników dotyczących zarządzania projektami, z których każda stara się przekonać do swojej metodyki. Nasza filozofia jest nieco odmienna – jako praktycy, zawsze patrzymy na zarządzanie projektem i oczekiwania klienta w sposób holistyczny. Wiemy, że każdy kolejny projekt różni się od poprzedniego, więc ścisłe trzymanie się ram danej metodyki często zawodzi. Dlatego też zawsze dostosowujemy się do potrzeb wynikających z charakteru danego projektu oraz dobieramy odpowiednie narzędzia i procesy, które wspomagają pracę w projekcie. Istnieje wiele czynników, które wpływają na końcowy sukces projektu, ale naszym zdaniem kluczowe są:
Zdefiniowanie zakresu projektu.
Odpowiedzialne zarządzanie zmianami.
Zarządzanie ryzykiem.
Transparentność działań i komunikacja.
Oczywiście, nie ograniczamy się do wiedzy wewnętrznej i obserwujemy trendy panujące na rynku. Stale poszerzamy horyzonty i rozwijamy się w zakresie zarządzania projektami. Regularnie organizujemy szkolenia dla naszych project managerów i wspieramy ich w uzyskiwaniu certyfikacji, takich jak Agile PM, Scrum, Agile Product Owner, SAFe.