• Spotkanie PJUG - Sketchy Structures oraz testy regresyjne z wykorzystaniem ML

    Po wakacyjnej przerwie zapraszamy wszystkich na kolejne spotkanie Polish Java User Group. Tym razem będziemy mogli usłyszeć o Sketchy Structures jako alternatywie do BigData oraz o testach regresyjnych z wykorzystaniem Machine Learning. Spotkanie odbędzie się w poniedziałek 7 października od godz. 18:00 na Barce (https://www.facebook.com/barkakrakow/). Tym razem naszymi prelegentami będą Miłosz Polak (https://www.linkedin.com/in/milpol/) oraz Paweł Dyrek (https://www.linkedin.com/in/pawe%C5%82-dyrek-09227671/). Podczas spotkania przewidzieliśmy czas na networking, a na zakończenie spotkania będzie można wygrać bilet na kolejną edycję konferencji GeeCON w Pradze (http://geecon.cz), która odbędzie się już 17-18 października, a także kilka licencji oraz książkę. Poniżej kilka zdań o prezentacjach. Miłosz Polak - "Probabilistyczne struktury danych w praktyce" W codziennym programowaniu, jeśli dodamy element do kolekcji to, pytając czy się tam znajduje, otrzymamy jednoznaczną odpowiedź, a jak policzymy ile takich elementów jest w zbiorze oczekujemy konkretnej wartości. W trakcie prelekcji chciałbym przedstawić takie struktury danych, które, kosztem wysokiej optymalizacji miejsca, na wcześniejsze pytania odpowiedzą: "być może znajduje się w zbiorze" i "wystąpił około N razy". Dodatkowo pokażę gdzie już z nich korzystamy w Javie, oraz jakie są moje doświadczenia z nimi związane. (Nie będzie matematyki, za to trochę algorytmiki) Paweł Dyrek - "Machine Learning powered regression" How can we make a full regression of our platform before each of the releases, to be sure we have not damaged something unexpected when making our changes? Full regression of any web platform is a process which requires tremendous effort and is error-prone. It can be automated in a classical way, covered with test cases and scenarios, but it is extremely hard to cover the application in literal 100%. Doing the full regression manually is not a solution due to the effort needed and spending a few days of work doing so before each release would be an extreme waste of workforce. Our idea? Use a screenshot comparator, with a bit of data science flavour. First of all, we need to store a valid state of an application to assert if there have been any changes. As covering the whole application with test cases is time-consuming, we have thought about a different document covering the whole application - the sitemap. To ensure that we will use the proper version as a model, we should test the application manually, which will take some time, but we plan to do it only once. Afterwards, we can store the state of the application by making screenshots of every page. As we have a sitemap we can go through every subpage and make a screenshot of it displayed on different browsers. When we have a base we can compare to - every time we would like to make a regression, we can make new screenshots of the application, and compare those with the base ones and if we spot a difference, we know that something is happening. This non-standard approach should be the most efficient as the applications tend to change very often and managing and replacing the screenshots is the easiest way to keep the apps up to date.

    4
  • Ticket raffle: GeeCON Prague 2019

    Online

    This is not a physical meeting. Sign up to participate in a draw of a free tickets for GeeCON Prague 2019 (https://2019.geecon.cz/) (17-18 October 2019 in Prague, Czech Republic). The winner will be picked at random. To enter simply RSVP to this event. If you already have a ticket you can use it in the future or get a refund. Good luck!

    1
  • Spotkanie PJUG - Kafka Streams oraz jOOQ

    HEVRE Bar & Restaurant

    We współpracy z firmą Nexocode (https://www.nexocode.com/) zapraszamy na nasze kolejne (i ostatnie przed wakacjami!) spotkanie, które odbędzie się 13 czerwca od godz. 18:00 w Hevre (poziom -1, Meiselsa 18). Tym razem naszymi prelegentami będą Wojciech Marusarz oraz Łukasz Krauzowicz. Wojtek opowie nam o Kafce jako strumieniu, a Łukasz spróbuje nas przekonać, że nie samym ORM człowiek żyje. Podczas spotkania przewidzieliśmy czas na networking, a na zakończenie spotkania rozlosujemy licencje na oprogramowanie firmy JetBrains oraz książkę. Poniżej kilka zdań o naszym sponsorze oraz prezentacjach. Nexocode (https://www.nexocode.com/) to przede wszystkim zgrany zespół programistów i projektantów tworzących zaawansowane systemy informatyczne. Każdy w Nexocode wnosi do swojej roli prawdziwą kreatywność codziennie decydując o kształcie projektowanych aplikacji, wykorzystywanych technologiach, a nawet kierunku działania i rozwoju firmy. Dzięki takiemu podejściu firma z sukcesami dostarcza dedykowane rozwiązania dla zewnętrznych klientów oraz tworzy własne produkty. Wojciech Marusarz - "Kafka jako strumień i co się z tym wiąże" Stream Processing staje się coraz bardziej popularnym paradygmatem przetwarzania danych. Na przykładzie mobilnej gry w klocki, pokażę Wam na jakie ciekawe problemy ze świata przetwarzania strumieni możemy się natkąć, na czym one polegają i jak je rozwiązać. Opowiem czym jest Apache Kafka i Kafka Streams oraz jak przy ich pomocy tworzyć systemy reaktywne. Wojciech: Jestem programistą Javy z wielką pasją do pisania kodu, dlatego zamieniłem korporację na zgrany zespół gdzie mogę się wyszaleć przy tworzenie aplikacji webowych. Lubię poznawać buzzwordy, staram się jednak zrozumieć skąd wynika ich popularność. Ostatnio zgłębiam świat programowania reaktywnego. Łukasz Krauzowicz - "Nie samym ORMem żyje człowiek - słów kilka o jOOQu" W dobie gdy od wystawienia operacji na bazie danych przy użyciu ORMa przez RESTa dzieli nas tylko jeden interfejs (dzięki Springu za @RepositoryRestResource!) wydawać by się mogło, że pisanie natywnych zapytań SQLowych nie jest specjalnie potrzebne (a przynajmniej nie jest sexy), ale życie każe temu przeczyć - istnieje przecież wiele sytuacji (takich jak tworzenie skomplikowanych raportów, używanie natywnych funkcji naszego silnika RDBMS) gdzie jest to niemalże krytyczne. W takich miejscach zazwyczaj trzeba posiłkować się zapytaniami skleconymi w pięknych i niebezpiecznych literałach tekstowych, o które trzeba dbać bardzo uważnie i je odpowiednio pielęgnować, szczególnie przy jakichkolwiek zmianach na poziomie schematu bazy danych, ale też nie tylko - w dużych systemach, gdzie takowych zapytań robi się dużo jest to niemałe wyzwanie. I w takich sytuacjach wchodzi jOOQ cały na biało - w czasie tej prelekcji zajmiemy się możliwościami, zaletami, ale również ograniczeniami tego jakże ciekawego projektu firmowanego takimi hasłami jak "Database First" czy "Typesafe SQL", który wprowadzi nas w trochę inny, nie-ORMowy świat. Łukasz: Miłośnik niekończącego się eksplorowania GitHuba (ale też nie tylko) z programistycznym zacięciem i doświadczeniem głównie w monolitycznej branży finansowej, szukający porywających wyzwań również w archeologicznych projektach, gdzie nie zawsze można spotkać czysty i piękny kod. Obecnie znajduje radość w kierowaniu pracą małego i zwinnego zespołu w Ailleronie. Ponieważ liczba miejsc jest ograniczona bardzo prosimy o zapisy faktycznie osoby zainteresowane :)

    5
  • Spotkanie PJUG - słów kilka o jOOQu oraz lotny start z testami kontraktowymi

    Przy współpracy z firmą Symphony Solutions (https://www.symphony-solutions.eu/) zapraszamy na nasze kolejne spotkanie, które odbędzie się 11-go kwietnia na Barce (ul. Podgórska 16, https://www.facebook.com/barkakrakow) od godz. 18:00. Tym razem prelegentami będą Łukasz Krauzowicz oraz Piotr Kubowicz. Łukasz opowie nam o jOOQu, czyli że nie samym ORMem żyje człowiek, a następnie Piotr o tym jak to jest z testami kontraktowymi. Podczas spotkania przewidzieliśmy czas na networking, a na zakończenie spotkania rozlosujemy licencje na oprogramowanie firmy JetBrains. Poniżej kilka słów o naszym sponsorze i prezentacjach. Symphony Solutions (https://www.symphony-solutions.eu/) - We are an agile driven company delivering digital solutions to our clients. We are an international organization with our headquarters in Amsterdam and delivery centers in the Netherlands, Ukraine, Macedonia and Poland. Our skilled Symphonians are developing custom software for web and mobile devices, with expertise in human centered UX/UI design. We are offering full cycle solutions starting from ideation, proof of concept and business analysis, to IT solutions engineering, quality assurance, service desk support and digital marketing services. Since 2008, we have helped our clients ranging from SMBs to large corporations from Western Europe, USA, Canada and throughout the world achieve their business and technology goals by providing solutions that are tailored to their needs. Łukasz Krauzowicz- Nie samym ORMem żyje człowiek - słów kilka o jOOQu W dobie gdy od wystawienia operacji na bazie danych przy użyciu ORMa przez RESTa dzieli nas tylko jeden interfejs (dzięki Springu za @RepositoryRestResource!) wydawać by się mogło, że pisanie natywnych zapytań SQLowych nie jest specjalnie potrzebne (a przynajmniej nie jest sexy), ale życie każe temu przeczyć - istnieje przecież wiele sytuacji (takich jak tworzenie skomplikowanych raportów, używanie natywnych funkcji naszego silnika RDBMS) gdzie jest to niemalże krytyczne. W takich miejscach zazwyczaj trzeba posiłkować się zapytaniami skleconymi w pięknych i niebezpiecznych literałach tekstowych, o które trzeba dbać bardzo uważnie i je odpowiednio pielęgnować, szczególnie przy jakichkolwiek zmianach na poziomie schematu bazy danych, ale też nie tylko - w dużych systemach, gdzie takowych zapytań robi się dużo jest to niemałe wyzwanie. I w takich sytuacjach wchodzi jOOQ cały na biało - w czasie tej prelekcji zajmiemy się możliwościami, zaletami, ale również ograniczeniami tego jakże ciekawego projektu firmowanego takimi hasłami jak "Database First" czy "Typesafe SQL", który wprowadzi nas w trochę inny, nie-ORMowy świat. Piotr Kubowicz - Lotny start z testami kontraktowymi Chcąc zapewnić poprawną współpracę mikroserwisów, wpadamy często w pułapkę testów, którym nie ufamy lub które są zbyt trudne w utrzymaniu. Testy kontraktowe to alternatywne podejście oferujące z jednej strony szybką informację zwrotną a z drugiej strony poziom pewności niedostępny dla testów izolowanych. To nie jedyne korzyści: z ich wykorzystaniem możemy przyspieszyć nasz cykl pracy oraz lepiej zrozumieć, jak połączone są nasze systemy. W trakcie prezentacji zobaczymy minimalny działający przykład napisany w Kotlinie przy użyciu frameworku Pact, prześledzimy, co możemy zyskać w zależności od nakładu pracy oraz spojrzymy szerzej na ekosystem testów kontraktowych, porównując Pact z biblioteką Spring Cloud Contract. Piotr is a software engineer with more than 10 years experience in Java, currently helping Ocado Technology grow an online grocery backed up by highly automated warehouses. Being incorrigibly lazy and impatient, he focuses on automating repeatable work and fast feedback loops. Seeing the rise and fall of many projects, he became immune to silver bullets and started valuing human interactions. Likes to learn new ways of thinking through different languages, but prefers modern Java in professional software development.

    5
  • Spotkanie PJUG - doskonała jakość kodu oraz testy wydajnościowe

    Przy współpracy z firmą Infolet (https://infolet.pl/) zapraszamy na nasze kolejne spotkanie, które odbędzie się 20-go marca na Barce (ul. Podgórska 16, https://www.facebook.com/barkakrakow) od godz. 18:00. Tym razem prelegentami będą Michał Kordas oraz Sebastian Korczyk. Michał opowie nam o narzędziach, które pomagają utrzymywać doskonałą jakości kodu, a następnie Sebastian o tym na co zwrócić uwagę przy pisaniu testów wydajnościowych. Podczas spotkania przewidzieliśmy czas na networking, a na zakończenie spotkania rozlosujemy licencje na oprogramowanie firmy JetBrains. Poniżej kilka zdań o naszym sponsorze, a także o prezentacjach. Infolet (https://infolet.pl/) - od 2005 roku świadczymy usługi outsourcingu IT w branżach bankowość i finanse, telekomunikacja, turystyka, nowe media. Nasi Klienci doceniają naszą wiedzę i doświadczenie w branży, czego najlepszym dowodem jest długotrwała i owocna współpraca z wieloma z nich. Do naszych projektów poszukujemy specjalistów Java, C embedded, C++, PHP, specjalistów od mobile, testerów oprogramowania, administratorów sieci i systemów i wielu innych. Michał Kordas - "Baking in superb code quality into the Java World" Undoubtedly, there is one to one correlation between code quality and maintainability of a product. There are many examples of poorly written code causing disasters or bringing down entire companies. Therefore, we all know that we should “always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where we live.” However, writing clean code is really hard and prone to human mistakes… There are two possibilities. Best, would be to have no code at all: “the code easiest to maintain is the code that was never written.” For the rest of the cases there are new tools on the market that can teach and guide us to always improve and make feedback about quality blazingly fast. On my talk you’ll learn about such tools for Java, Groovy, GitHub, Gradle and IntelliJ IDEA environments. Michał: I’m a quality maniac with passion for Java, Groovy, JVM and fancy tools that automatically enforce quality and help test code in smart, fluent, and expressive ways. I love bringing feedback loops to the micro-level, and my main area of interest is agile testing. For last 5 years I have been working for UBS as a fully cross-functional member of a strongly agile team as a “quality guardian” with a particular focus on well-written code, solid requirements, and efficient processes. I believe that being a truly good QA is not only about having testing-related skills. It’s also about being software engineer with all the knowledge necessary to deliver production code of the highest possible quality. Besides day work I’m also a contributor to the open-source tools related to code style and I train people in Java and Agile. Sebastian Korczyk - "Testy wydajnościowe - to proste (*)" Mój wykładowca od Wstępu do Matematyki mówił: jeśli ktoś rozumie czego nie wie i potrafi o to zapytać to już jest dobrze. Podobnie jest z testami wydajnościowymi. Wykonując je o wielu rzeczach nie wiemy lub dowiadujemy się o nich w bolesny sposób. Dlatego opowiem o tym na co warto zwrócić uwagę żeby później nie bolało lub bolało mniej. W końcu lepiej uczyć się na błędach innych bo możemy nie mieć dość czasu by je wszystkie samemu popełnić. Prezentacja techniczna, przekrojowa. Sebastian: Przeżyłem przejście od Atari 2600 i C64 do współczesnych PC i Clouda. Doświadczając po drodze całego spektrum technologii i wielopoziomowych problemów z tym związanych. Pracowałem zarówno jako QA jak i DEV więc wiem już, że trawa ma taki sam kolor po obu stronach. Obecnie łącze te działki zajmując się testami wydajnościowymi i performance tuningiem. Gdy dzieci już śpią bawię się w gamedev lub gram w CTFy. Ponieważ liczba miejsc jest ograniczona bardzo prosimy o zapisy faktycznie osoby zainteresowane :)

  • Ticket raffle: Devoxx UK 2019

    Online

    Mamy do rozlosowania wejściówkę na konferencję Devoxx UK (8-10 maja w Londynie). Przelot i zakwaterowanie we własnym zakresie. Poniżej informacja od organizatorów: Let's do it asap so we can give a code to anyone that doesn't win before early bird ends. Maybe we can run from today until Tuesday and then do discount code from Wednesday? Here's some wording of you to use Win a ticket to Devoxx UK 2019 Devoxx UK has recently announced its initial lineup of speakers, with more to be announced in the coming weeks. So far they've got the likes of Venkat Subramaniam, Audrey Neveu, Arun Gupta, Christina Aldan, Heather Wilde, Jennifer Reif, Bert Jan Schrijver, Heinz Kabutz, Josh Long, Mark Heckler & Chris Thalinger all confirmed to speak - and that is just a small sample. In addition to the regular conference sessions, the event will also host a range of Hands-on labs, Deep Dive sessions, lunchtime Byte Size sessions, a new Coding Cafe, evening BOFs and the not-to-be-missed DevRoxx party. With sessions planned across 10 content themes, there is something for everyone. For a full round-up of confirmed talks so far, check out https://devoxxuk19.confinabox.com/talks/conf We hope to see you in London in May!

    7
  • Spotkanie PJUG - Podejmowanie decyzji architektonicznych oraz podatności w Javie

    We współpracy z SignalFx (https://www.signalfx.com/) zapraszamy na nasze kolejne spotkanie, które odbędzie się 21-go lutego w pubie Betel (Plac Szczepański 3) od godz. 18:00. Tym razem gościć będziemy Kamila Szymańskiego oraz Mateusza Niezabitowskiego. Kamil opowie o podejmowaniu decyzji w projekcie, a następnie Mateusz o możliwych podatnościach podczas deserializacji obiektów. Oto szczegóły wystąpień: 1. "Architecture decision making" - Kamil Szymański During this session we're gonna kick start work on a requirement that calls for making an architecture decision. We'll see how shallow and problematic a simplified approach to the decision process can be. Then we're gonna go through much more detailed, holistic approach to making such decision. This will allow us to see what things are often not taken into consideration while making such decisions and how omitting them can limit adequateness and completeness of decision made. 2. "Why So Serial? Object deserialization (injection) vulnerabilities in Java" - Mateusz Niezabitowski Object deserialization vulnerabilities in Java are not exactly new, but only recently they got some attention. They are very dangerous, and they are format agnostic - which I will demonstrate in this demo-heavy talk. Podczas spotkania przewidzieliśmy czas na networking, a na zakończenie spotkania rozlosujemy licencje na oprogramowanie firmy JetBrains. Ponieważ liczba miejsc jest ograniczona bardzo prosimy o zapisy faktycznie osoby zainteresowane :)

    1
  • Spotkanie PJUG & SmartRecruiters - CI/CD oraz Systemy rozproszone

    SmartRecruiters - ul. Fabryczna 20A - 3 piętro

    We współpracy z SmartRecruiters (https://www.smartrecruiters.com/) zapraszamy na nasze kolejne spotkanie, które odbędzie się 11tego grudnia w siedzibie firmy SmartRecruiters przy ul. Fabrycznej 20A od godz. 18:00. Tym razem gościć będziemy Michała Nowaka oraz Jakuba Kubryńskiego. Michał opowie jak zakończyły się 3 lata inwestycji w CI/CD w SmartRecruiters, a następnie Kuba opowie o systemach rozproszonych - droga do i życie na produkcji. Oto szczegóły wystapień: 1. "Shipping fast when the world wants to slow you down" - Michał Nowak Startupy są trudne! Startupy B2B są trudne podwójnie. Z jednej strony musisz ciągle iterować nad produktem i dostarczać nowe funkcjonalności ekstremalnie szybko, z drugiej strony musisz chronić wrażliwe dane swoich klientów, utrzymywać perfekcyjny uptime i walczyć z pokusą aby customizować produkt dla największych klientów. Jak chronić się przed tą gigantyczną presją? Jak projektować narzędzia i praktyki które pozwalają każdemu na szybki deployment i dynamiczną iteracje, nawet na bardzo wrażliwym kodzie (np autoryzacja lub modele finansowe). W swoim talku, Michał opowie jak zespół SmartRecruiters przeskalował tempo deploymentu od 4 do 800 razy na miesiąc i zaadoptował Continuous Delivery / Deployment. Opowiemy o wprowadzeniu modelu deploymentu używanego w firmie GitHub (GitHub Flow), o automatycznym zarządzaniu dependencjami, o shadow releases i parallel code paths i ostatnich usprawnieniach: consumer-driven contracts. A wszystko to podczas iteracji nad wrażliwymi danymi i współpracując z niektórymi z największych światowych korporacji. 2. "Systemy rozproszone - droga do i życie na produkcji" - Jakub Kubryński O systemach rozproszonych czy też szczególnie popularnej ostatnio ich odmianie mikroserwisowej słyszał chyba każdy. Prawie każdy nawet uruchomił taki system na swoim laptopie. Co różni taki proof-of-concept od systemu production-ready? Kiedy stworzyliśmy mikroserwisy a kiedy jedynie rozproszony monolit? Jakie wyzwania niesie za sobą utrzymanie na ich produkcji? Właśnie na te pytania odpowiedzi poznacie podczas prelekcji. Podczas spotkania przewidzieliśmy czas na networking przy pizzy, a na zakończenie spotkania rozlosujemy licencje i książkę "Clean Architecture". Spotkanie w siedzibie firmy SmartRecruiters ul. Fabryczna 20A - 3 piętro. Możliwość zaparkowania pod biurem - wjazd od ulicy Fabrycznej lub Mogilskiej. Ponieważ liczba miejsc jest ograniczona bardzo prosimy o zapisy faktycznie osoby zainteresowane :)

    3
  • Spotkanie PJUG & Sabre Polska - What might cause JVM to pause & People Skills

    Sabre Polska offices in Buma Square building,

    We współpracy z Sabre Polska (https://www.sabre.pl/) zapraszamy na nasze kolejne spotkanie, które odbędzie się 5-tego grudnia s siedzibie firmy Sabre przy ul. Wadowickiej 6D (wejście nr 9, piętro 1, sale Kraków/Warszawa). Tym razem gościć będziemy 2 prelegentów - Bartosza Markockiego oraz Michała Parkołę. Oto szczegóły wystapień: 1. "What (might) cause JVM to pause (apart from GC)" Everybody knows Java has automatic memory management. Everybody knows Java has Garbage Collectors. Everybody knows Java GC stops your application. Everybody knows your application is slow because of GC. But is it true? The talk will discuss all other, unknown or unspoken sources of stops the JVM might impose on your application. Additionally, we will address what it takes JVM to stop and how to observe all of those. Bartosz Markocki Od 19 lat w IT na pozycjach tak różnych jak developer, tester, team lead, project manager, product manager, konsultant. Na przestrzeni lat Bartek pracował w kilku firmach z wieloma systemami i technologiami, ale to Java i JVM są jego specjalnością. Od 12 lat Bartek pracuje w Sabre. Był odpowiedzialny za rozwój krytycznych systemów wysokiej dostępności i wydajności, przetwarzających tysiące transakcji na sekundę. Zajmuje się też analizą i rozwiązywaniem najtrudniejszych, a zarazem najciekawszych problemów wydajnościowych we wszystkich systemach Sabre. 2. "People Skills for Geeks, czyli co warto umieć oprócz kodowania, żeby być skutecznym i szczęśliwym" Tworzenie oprogramowania to sport zespołowy, tymczasem na codzień zdecydowanie za mało nacisku kładziemy na umiejętności ludzkie, które często decydują o sukcesie lub porażce współpracy. Oto trzy problemy, które zaatakujemy podczas prezentacji: - Jak lepiej rozumieć co się naprawdę dzieje? - Jak być szczęśliwszym i mniej się samo-ograniczać? - Jak być skuteczniejszym we współpracy z innymi? Stosując zasadę Pareto chcemy znaleźć te 20% umiejętności, które przynosi 80% efektów, żeby każdy był w stanie w pełni wykorzystać swój pełen potencjał. Michał Parkoła Michał jest współzałożycielem People Skills for Geeks gdzie pomaga geekom uczyć się umiejętności ludzkich bez ściemy typowej dla wielu źródeł w tym obszarze. W wolnym czasie pomaga przedsiębiorcom lepiej dopasować ich produkty do potrzeb użytkowników i rynku w ramach studia produktowego Fluid Circle. Wcześniej jako Agile Coach pomagał zespołom (m.in. w Sabre w Krakowie) czerpać z pracy jak najwięcej satysfakcji.

    2
  • Spotkanie PJUG - debugging at production and building flexible apps with JLupin

    Thanks to our sponsor - https://www.egnyte.com/ - we would like to invite you to our next meetup which will be held on 15th November in Betel at pl. Szczepański 3 You will have a chance to listen Andriy Zaretsky and Bartłomiej Kuczyński with the following topics. 1. How do we debug production at Egnyte? Learn about the tools we use for monitoring, error tracking and profiling large distributed Java applications. Andriy Zaretsky Senior Software Engineer at Egnyte with 10+ years in software development working normally working on the edge of reality. Privately - mountains addict. 2. How to build flexible applications with JLupin JLupin is solution for people who would like to create nice and easy JVM based applications. In one hand we have all tools that we like (Spring, JPA, Spring Boot), in the other we can manage and scale our applications like simple system processes. In this presentation I will show you how to work with JLupin, how to create simple services and I will try to convince you to play with this tool. Bartłomiej Kuczyński Bartek started his adventure with computers in 1988 when he rewrote his first game from „Bajtek” magazine. That was Paratoopers for ZX Spectrum, then in 90's he spent lot of time by hacking game saves for X-COM and SimCity and programming simple games (cards, shot to target etc.). In 2006 he started his professional career as front end and java developer (was fullstack dev before that was cool). Now works as a consultant and trainer.

    1