PHP, Node.js, C#
Czy istnieją jakieś zasady, które sprawią, że łatwiej będzie nam żyć z Legacy Code? Dokładnie nad tym zastanawialiśmy się ostatnio. Okazało się, że w swoim rękawie, jako programiści posiadamy trochę nabytych nawyków, które w sposób świadomy ułatwiają nam rozwój kodu. Nawet tego, który cuchnie stęchlizną. Jakie dobre praktyki warto stosować w Legacy Code? Podczas odcinka mówimy o swoich zasadach "Minimal Development Quality", które staramy się wdrażać tam, gdzie się pojawiamy. Oczywiście – z wiedzą, że nie zawsze mogą pasować one do sytuacji. Krzysztof zarzucił również ciekawą tezą, że to w Legacy Code najwięcej się można nauczyć? Zgadzasz się z tym? Gotowy na podzielenie się swoimi spostrzeżeniami? Zatem: ➡️ Lubisz kopać w starym kodzie nadając mu nowy kształt? ➡️ Masz zestaw swoich praktyk, które starasz się stosować podczas tworzenia oprogramowania? ➡️ Brownfield czy Greenfield? Zachęcam Cię do pozostawienia swojej odpowiedzi w komentarzu – dziękuję 👍
Event Storming pomaga skomunikować zespół techniczny i część biznesową. Dzięki pewnym założeniom możemy opisać występujące procesy tak, aby obie strony w pełni je rozumiały. Tablica, kolorowe karteczki – czy to pomysł na rozwiązywanie problemów komunikacyjnych? No i inne pytanie, które coraz częściej sobie zadajemy jako świadomi programiści… Kiedy Event Storming przyniesie nam wartość? O podstawach Event Storming, Mariusz bardzo dużo opowiedział w podcaście Maćka Aniserowicza – DevTalk #110. Zachęcam do jego przesłuchania, bo tam usłyszycie o świetnie omówionych podstawach. My natomiast skupiliśmy na dalszych rozważaniach. Jakie wartości jako programiści możemy wyciągnąć z sesji Event Stormingowej, co może być artefaktem takie sesji oraz kiedy ES się nie sprawdza. Gotowy na podzielenie się swoimi spostrzeżeniami? Zatem: ➡️ Czy spotkałeś się wcześniej z Event Stormingiem? ➡️ Czy miałeś okazję wypróbować w praktyce sesje Event Storming? ➡️ Jeśli tak, to czy spełniła wasze oczekiwania? Zachęcam Cię do pozostawienia swojej odpowiedzi w komentarzu – dziękuję 👍
Z chmury wielu z nas programistów korzysta na co dzień. Wdrażamy swoje aplikacje w ramach mikroserwisów, w środowiska skonteneryzowanych. Jest kilka zasad, które musimy przestrzegać aby było to możliwe. Czasem podążamy za wytycznymi z dokumentacji danego rozwiązania. Natomiast istnieje metodologia tworzenia aplikacji o nazwie Twelve-Factor App, która definiuje pewne założenia dla naszej aplikacji. Dzięki temu będziemy mogli z łatwością nie tylko uruchamiać aplikacje w chmurach tj. AWS, Azure, GCP, ale także wykorzystywać możliwość skalowania. Jakie są plusy 12 Factor App? Podczas odcinka dyskutujemy o tym kiedy warto zastosować metodologię Twelve-Factor App, czego nam brakuje w definicji oraz co nie zawsze się sprawdza. Gotowy na podzielenie się swoimi spostrzeżeniami? Zatem: ➡️ Czy spotkałeś się z 12 Factor App? ➡️ Czy stosowałeś 12 Factor App podczas tworzenia aplikacji? ➡️ Jakie widzisz problemy z stosowaniem tej metodologii? Zachęcam Cię do pozostawienia swojej odpowiedzi w komentarzu – dziękuję 👍
Każdy lub prawie każdy w życiu miał taki moment, że dostawał takie zadanie, że chciał rzucić wszystko i wyjechać w Bieszczady. Pojawiały się myśli, że to nie jest dla mnie, że jestem po prostu za słaby. Takie sytuacja pojawiają się i będą się pojawiać zarówno w życiu młodego jak i bardzo doświadczonego programisty. W pewnym momencie utkniesz nad jakimś zadaniem i będziesz musiał sobie z nim jakoś poradzić. Moglibyśmy to spuentować stwierdzeniem „Sorry taki mamy klimat” albo „Takie jest życie! Handluj z tym„, ale my wolimy inaczej podejść do sprawy. Jak realizować zadania na pierwszy rzut oka nierealizowalne? W tym podcaście dzielimy się swoimi sprawdzonymi sposobami po jakie można sięgnąć w takich momentach. Sposobami pozwalającymi Tobie, poradzić sobie psychicznie z ciężkimi zadaniami, które mogą wydawać się przeszkodą nie do przejścia. Gotowy na podzielenie się swoimi spostrzeżeniami? Zatem: ➡️ Jak radzisz sobie z przemęczeniem w pracy nad jednym zadaniem? ➡️ W jaki sposób dekomponujesz swoją pracę? ➡️ Co było kiedyś dla Ciebie zbyt ciężkim zadaniem do ogarnięcia? Zachęcam Cię do pozostawienia swojej odpowiedzi w komentarzu – dziękuję 👍
Podczas organizacji swojej pracy i życia co dziennego coraz częściej sięgamy po oprogramowanie. Są i tacy (cześć, mam na imię Adrian 😎), którzy porzucili zeszyty z notatkami, standardowe kalendarze czy nawet papierowe książki, na rzecz elektronicznych rozwiązań. Teoretycznie i praktycznie lepszych, bardziej dostosowanych z większymi możliwościami. Gdy zaczynamy badać teren okazuje się, że mamy potężny wachlarz oprogramowania do wyboru. Z czego korzystać? Co wybrać? Być może nasze historie pomogą Ci w dokonaniu odpowiedniego wyboru lub chociaż zachęcą do testowania innych rozwiązań. Jakich narzędzi używają na co dzień autorzy DevEnv? W tym odcinku dzielimy się narzędziami bez których ciężko byłoby nam funkcjonować w wirtualnej rzeczywistości, uzupełniającej tą normalną. Gotowy na podzielenie się swoimi spostrzeżeniami? Zatem: ➡️ Jakie oprogramowanie wykorzystujesz na co dzień? ➡️ Które z narzędzi najbardziej usprawnia Twoją pracę? ➡️ Czy można żyć bez smartfona? Zachęcam Cię do pozostawienia swojej odpowiedzi w komentarzu – dziękuję 👍
UWAGA! DevEnv YouTube => http://bit.ly/devenv-yt Programowanie funkcyjne w ostatnim czasie mocno zaznaczyło swoją pozycję w świecie developmentu. Pojawiają się takie języki jak m.in. F#, które fascynują. Programiści języka Java coraz chętniej spoglądają w kierunku języka Scala. Ekstremalni natomiast próbują Erlanga czy Elixira. Dlatego tym razem postanowiłem sprowadzić do podcastu osobę, która na co dzień programuje w języku uważanym za funkcyjny, aby zdradziła mi więcej szczegółów. Co powinieneś wiedzieć o programowaniu funkcyjnym? Podczas podcastu wypytuję Krzysztofa o najważniejsze elementy związane z programowaniem funkcyjnym. Pytam, czy na co dzień spotykamy się z rozwiązaniami funkcyjnymi w innych językach, czy istnieją wzorce projektowe podobne do tych znanych z OOP oraz jakie są różnice między tzw. obiektówką? Gotowy na podzielenie się swoimi spostrzeżeniami? Zatem: ➡️ Czy wykorzystujesz paradygmat programowania funkcyjnego na codzień? ➡️ Co Ci się podoba, a co nie w programowaniu funkcyjnym? ➡️ Erlang, Haskel, Clojure, Scala, Elixir? Zachęcam Cię do pozostawienia swojej odpowiedzi w komentarzu – dziękuję 👍
Jakość wytwarzanego oprogramowania zależy od wielu, często zmieniających się czynników. Na jakość wpływa – ilość posiadanego czasu na wytworzenie programu, jego skomplikowanie, doświadczenie zespołu czy też procesy sterujące pracą. W 38 odcinku podcastu DevEnv skupiliśmy się dosłownie na jednym elemencie. Odpowiadaliśmy na pytanie: Czy kompetencje QA potrzebne są w projekcie? Dyskutujemy na temat naszego zrozumienia roli Quality Assurance Specialist. Mówimy o tym, czy programiści i duże pokrycie testami automatycznymi może zastąpić QA. Zmagamy się z naszymi doświadczeniami kiedy musieliśmy wziąć na swoje barki obowiązki QA. Gotowy na podzielenie się swoimi spostrzeżeniami? Zatem: ➡️ Czy w Twoim zespole pracuje QA? ➡️ Czym zajmuje się QA w Twoim projekcie? ➡️ Czy wyobrażasz sobie pracę bez QA? Dlaczego tak/nie? Zachęcam Cię do pozostawienia swojej odpowiedzi w komentarzu – dziękuję 👍
Rozpoczynanie swojej pierwszej pracy jest trudnym zadaniem. Łatwo popełnić podstawowe błędy czy też nieświadomie wkopać się w zobowiązania wynikające z podpisanej umowy. Wielokrotnie zdarzyło się nam, praktykować zachowania, które omawiamy. Dziś, z perspektywy czasu widzimy, że nie do końca było to dobre. Czasem uparcie dążyliśmy do rozwiązywania problemów w pojedynkę, a czasem wręcz przeciwnie – wymagaliśmy olbrzymiej cierpliwości i uwagi od bardziej doświadczonych kolegów. Jakie błędy popełniliśmy jako początkujący programiści? Podczas tego odcinka staramy się przybliżyć te elementy, które zapadły nam w pamięci ale także takie, które ciągle obserwujemy u osób zaczynających pracę jako programista. Gotowy na podzielenie się swoimi spostrzeżeniami? Zatem: ➡️ Jakie Ty błędy popełniłeś na początku swojej kariery? ➡️ Jakie błędy obserwujesz u nowych osób w IT? ➡️ Według Ciebie na co zwracać szczególną uwagę? Zachęcam Cię do pozostawienia swojej odpowiedzi w komentarzu – dziękuję 👍
Podczas ostatniego odcinka podcastu rozmawialiśmy o tym kiedy warto rozważać architekturę opartą o mikroserwisy. Tym razem skupiliśmy się jednak na problemach i błędach z którymi mieliśmy styczność podczas pracy z mirkoserwisami. Niestety ale często swoje nawyki wynikające z tworzenia większych, monolitowych projektów przenosimy, taka nasza natura – wykorzystujemy znane nam rozwiązania. Staramy się wypunktować najpowszechniejsze problemy, a dokładniej – problemy występujące w zespołach, które po raz pierwszy starają się stworzyć oprogramowanie oparte o mikroserwisy. W jaki sposób podchodzić do komunikacji pomiędzy mikroserwisami? To tylko jeden z przykładów poruszanych podczas rozmowy. Elementów wartych uwagi i przemyślenia natomiast jest znacznie więcej i dokładnie o nich rozmawiamy w tym odcinku. Gotowy na podzielenie się swoimi spostrzeżeniami? Zatem: ➡️ Jak radziłeś sobie z problemami komunikacyjnymi w mikroserwiach? ➡️ Jak dobrze podejść do wyznaczania Bounded Contextu? ➡️ Co Tobie przeszkadzało w pracy z mikroserwisami? Zachęcam Cię do pozostawienia swojej odpowiedzi w komentarzu – dziękuję 👍
O mikroserwisach czytamy i słyszymy dużo. Sugerowane są podczas budowy rozwiązań Cloud Native oraz chwalą się nimi duże firmy jak Netflix czy Amazon. Gdzie tkwi jednak ich siła? Czy mikroserwisy są dobre dla każdego problemu? Wybór natomiast tego rozwiązania (zresztą jak każdego innego) wiąże się z pewnymi benefitami ale także problemami. W tym odcinku staramy się odpowiedzieć na pytanie kiedy wybrać podejście do budowy rozwiązania informatycznego w oparciu o mikroserwisy. Mikroserwisy czy to na prawdę lek na całe zło? Wspominamy także o początkowych problemach z którymi sami spotkaliśmy się podczas rozpoczynania przygody z architekturą mikroserwisów. Wiele z tych aspektów nie pojawiały się nad jednym większym, monolitowym systemem. Gotowy na podzielenie się swoimi spostrzeżeniami? Zatem: ➡️ Czy pracowałeś kiedyś w systemie opartym w 100% na podejściu mikroserwisowym? ➡️ Jak radzicie sobie z zarządzaniem mikroserwisami na produkcji? ➡️ Kiedy Twoim zdaniem mikroserwisy mają sens? Zachęcam Cię do pozostawienia swojej odpowiedzi w komentarzu – dziękuję 👍
Podczas utrzymywania aplikacji z leciwym i zarazem ciężkim do utrzymania kodem, często myślimy o wprowadzaniu testów automatycznych. Na konferencjach słyszmy – Pisz testy jednostkowe! Nawet gdy rozwijasz stary kod. Natomiast rzeczywistość bywa brutalna i często taka forma testów nie dość, że jest skomplikowana (lub niemożliwa) do wprowadzenia to w praktyce okazuje się, że niewiele wniosła. Dlatego też automatyzacja testów w takich aplikacjach nie jest czymś prostym. Należy zidentyfikować miejsca, które warte są wprowadzenia takich testów oraz te, które należy pozostawić ciągle w sferze testów manualnych. Dyskutujemy o tym gdzie i jakie testy automatyczne warto wprowadzić. Gotowy na podzielenie się swoimi spostrzeżeniami? Zatem: ➡️ Czy kiedykolwiek wprowadzałeś testy automatycznej w Legacy Code? ➡️ Co jest największym wyzwaniem w automatyzacji takiej aplikacji? ➡️ Lepiej utrzymywać czy zaorać wszystko i zacząć od nowa? 😉 Zachęcam Cię do pozostawienia swojej odpowiedzi w komentarzu – dziękuję 👍
Gościem występującym w 33 odcinku podcastu jest Artur Trzęsiok, specjalista na co dzień zajmujący się Machine Learning m.in. w interesującym projekcie medycznym. Rozmawiamy o podstawach oraz zastosowaniach Machine Learning, poruszając najważniejsze elementy, ale także dyskutując o tym: - Jakie problemy mogą być rozwiązywane przez Machine Learning? - W jaki sposób wygląda praca/proces z Machine Learning? - Od czego warto zacząć naukę? - Na ile istotna jest wiedza na temat algorytmów, statystyki, matematyki? - Jak wygląda rynek pracy dla MLowca? - Jakie części naszego życia mogą zostać usprawnione przez Machine Learning? - Czy są i jeśli tak, to jakie niebezpieczeństwa niesie za sobą Machine Learning? Gotowy na podzielenie się swoimi spostrzeżeniami? Zatem: ➡️ Czy badałeś kiedyś czym jest to słynne uczenie maszynowe? ➡️ Czy miałeś do czynienia w projekcie z Machine Learning? ➡️ Czy Machine Learning może zastąpić programistów w określonym zakresie? Zachęcam Cię do pozostawienia swojej odpowiedzi w komentarzu – dziękuję 👍
Problemy w projekcie pojawiają się często. Staramy się je rozwiązywać, aby ułatwiać sobie pracę. Część z nich niestety świadomie pozostawiamy i nieco udajemy, że ich nie ma. Dotyczą one różnych aspektów – od problemów technicznych po organizacyjne. Tym razem staramy się ominąć problemy techniczne i skupić się na tych około projektowych, najczęściej przez nas spotykanych problemach. Brak informacji o tym jak uruchomić projekt, znużenie projektem, wykonywanie skomplikowanych czynności manualnych, to tylko część tematów, które poruszyliśmy w tym odcinku podcastu. Gotowy na podzielenie się swoimi spostrzeżeniami? Zatem: ➡️ Co najczęściej denerwuje Cię w projektach? ➡️ Czy istnieją problemy, których nie rozwiązujecie? ➡️ Jakie problemy sam wygenerowałeś i musiałeś się potem z nimi zmagać? Zachęcam Cię do pozostawienia swojej odpowiedzi w komentarzu – dziękuję 👍
Gościem występującym w 31 odcinku podcastu jest Andrzej Krzywda, na co dzień programista oraz CEO firmy Arkency. Rozmawiamy o CQRS (Command Query Responsibility Segregation), poruszając najważniejsze podstawy, ale także dyskutując o: - CQRSie jako sposobie na walkę z legacy code, szczególnie w kontekście aplikacji opartych o Ruby on Rails, - wykorzystaniu widoków bazodanowych w read modelach, czyli „CQRS po białostocku”, - dużych formularzach, które mogą wywołać kilka akcji domenowych, - Eventual Consistency. Gotowy na podzielenie się swoimi spostrzeżeniami? Zatem: ➡️ Czy wykorzystywałeś w praktyce wzorzec CQRS? ➡️ Jakie inne zalety dostrzegasz w wykorzystywaniu CQRS? ➡️ Czy jest coś na temat DDD/CQRS-ES co chciałbyś wiedzieć? Zachęcam Cię do pozostawienia swojej odpowiedzi w komentarzu – dziękuję 👍
Wybór kierunków swojego programistycznego rozwoju nie jest łatwy. W gąszczu technologii, metodyk, bibliotek łatwo się zagubić i główkować co będzie dla nas lepsze. Wielokrotnie przechodziliśmy z Bartkiem przez dokładnie ten sam problem. Lepiej, będziemy do niego wracać co jakiś czas, ponieważ zawsze możemy usprawnić swoje działania, efektywniej wykonywać co dzienną pracę. Co nam pomogło w staniu się lepszym programistą? Podczas podcastu staraliśmy się odpowiedzieć na powyższe pytanie, definiując najważniejsze z naszego punktu widzenia elementy, wpływające na stanie się lepszym programistą ale także na stanie się lepszym współpracownikiem. Poruszamy podstawowe elementy na które warto zwrócić uwagę, aby nie tylko poprawić swoje umiejętności techniczne ale także te związane z współpracą, która jest tak ważna w naszej pracy.
PHP, Node.js, C#
Na co dzień Software Engineer. Fascynat programowania, architektury, metodyk zwinnych i dobrych praktyk w szerokim ujęciu.
Polyglot Programer kochający poznawać nowe języki jednocześnie wykorzystując ich najlepsze strony. Założyciel DevEnv i współautor podcastu Dev:Cast.
After Hours czyli gdy nie pracuje i nie robi czegoś na DevEnv - podróżnik w miejsca zapomniane, pasjonat lokalnej historii. Mocno zajarany survivalem, urbexem i militariami. Jest jednym z opiekunów schronu bojowego WAWOK w Rybniku.