DevEnv - O programowaniu bez kaca

Adrian Piętka, Bartłomiej Michalski
DevEnv - O programowaniu bez kaca

Tworzenie oprogramowania w szerokim horyzoncie. Podejmujemy tematy związane z dobrymi praktykami, metodykami oraz procesami, które towarzyszą na co dzień programistom. Masz pomysł na temat odcinka? Może chcesz zostać sponsorem odcinka? Wyślij e-mail na adres: kontakt@devenv.pl

  1. 07/12/2023

    #68 Własny produkt czy czyjeś legacy - co nas bawi, co nas męczy?

    Zastanawialiśmy się niedawno, co tak naprawdę wpływa na nasze dobre samopoczucie podczas wykonywania obowiązków zawodowych. Sprawa niby błaha, ale tak naprawdę, bez dobrego miejsca pracy, które nam odpowiada, ciężko dobrze realizować powierzone nam zadania. Dlatego postanowiliśmy porozmawiać, jak wygląda miejsce naszej pracy, czego oczekiwalibyśmy gdybyśmy byli zmuszeni do jej zmienienia i co nas tak naprawdę motywuje. ✅ Jak rozgraniczamy Legacy / Startup / Produkt z perspektywy programisty? ✅ Czy odpowiedzialność za pracę jest dla nas motywująca? ✅ Jak bardzo kod musi być dobry i czy czasem “DZIAŁA” jest wystarczające? ✅ Czy po 15 latach programowania zawodowego dalej się ma z tego frajdę? ✅ Co klocki LEGO mają wspólnego z tworzeniem oprogramowania? Jeżeli chcesz dowiedzieć się, na co po tylu latach pracy zwracamy uwagę i co jest dla nas ważne w miejscu pracy, to zapraszam Cię do tego odcinka. --- Najważniejsze linki: - Serwer Discord DevEnv - https://bit.ly/devenv-discord - Najnowsze materiały DevEnv - https://bit.ly/m/devenv --- W tym odcinku rozmawialiśmy o: (00:32) Wstęp do tematu odcinka (01:32) Różnice pomiędzy samymi startupami (02:44) Produkt, czy coś innego? (05:00) Granica pomiędzy startupem, a legacy (05:25) Poziom odpowiedzialności i motywacji podczas pracy (07:12) To co w kodzie jest ważne i to co może poczekać (08:24) W startupie często szybko coś musimy weryfikować (10:15) Nie zawsze jesteś zaangażowany full time (11:20) Dług technologiczny (11:58) Czas gra gigantyczną rolę (13:00) Czas jest ważny, pytanie, czy zawsze, czy czasem jest nieco inaczej? (14:44) Na co zwrócilibyśmy uwagę gdyby zmienialibyśmy dziś pracę? (19:40) Po 15 latach dalej można mieć frajdę z programowania (21:52) Co ma technologia do klocków Lego? (22:27) Rozwój i edukacja (23:49) Ludzie, komunikacja i współpraca (26:07) Odpowiedzialność (27:31) Zakończenie --- 💡 Masz pomysł na temat? Chcesz, abyśmy porozmawiali na jakiś konkretny temat lub chciałbyś wziąć udział w podcaście? Wyślij e-mail na adres: kontakt@devenv.pl

    29 min
  2. 05/18/2023

    #67 Czy mogę bezkarnie kopiować kod z Internetu?

    Podczas tworzenia oraz rozwijania kodu często sięgamy po typowe narzędzia, oraz przeglądamy różne kody źródłowe rozwiązań. Czasem czegoś potrzebujemy i ląduje metodą Copy&Pastiego w naszym finalnym kodzie, który dostarczamy do swoich produktów lub oprogramowania klienta. Kto pierwszy choć raz nie skopiował czegoś ze StackOverflow niech pierwszy rzuci kamień 🙂 Mamy taką możliwość, jednak czy z legalnego punktu widzenia mamy do tego prawo? Licencje w świecie oprogramowania to skomplikowana sprawa - ich mnogość, różnorodność oraz zawiłość słowna sprawia, że nawet nie chce nam się ich czytać. Dlatego w tym odcinku pytamy naszego gościa Łukasza Januszka o licencje w typowych przypadkach używania bibliotek oraz kodu zaczerpniętego z Internetu. Staramy się uzyskać odpowiedzi m.in. na pytania: ✅ Czy możemy skopiować kod ze StackOverflow? ✅ Czym jest licencja wirusująca? ✅ Jakie licencje są "bezpieczne" i kiedy? ✅ Co gdy nie ma pliku licencji? ✅ Co z kodem wygenerowanym przez AI? Jeżeli chcesz dowiedzieć się, w czym tkwią problemy i jakie szczegóły należy brać pod uwagę w kwestii legalności kodu, to zapraszam Cię serdecznie do przesłuchania tego odcinka. --- Najważniejsze linki: - Serwer Discord DevEnv - https://bit.ly/devenv-discord - Najnowsze materiały DevEnv - https://bit.ly/m/devenv - What are AI coding tool alternatives to GitHub Copilot - https://www.linkedin.com/posts/gergelyorosz_softwareengineering-copilot-github-activity-7054347290701930496-IWrH - Will you get in legal trouble for using GitHub Copilot for work? - https://www.vincit.com/blog/will-you-get-in-legal-trouble-for-using-github-copilot-for-work - StackOverflow Licensing - https://stackoverflow.com/help/licensing - Legally - https://www.npmjs.com/package/legally - License-Report - https://www.npmjs.com/package/license-report --- W tym odcinku rozmawialiśmy o: (00:32) Wstęp do tematu odcinka (01:10) Kilka słów na temat gościa odcinka Łukasza Januszka (02:00) Geneza problemu - StackOverflow, GitHub, AI (04:00) Kopiowanie kodu z StackOverflow (05:28) Czym jest licencja wirusująca? (09:40) Licencja wirusująca - kod vs biblioteka (11:35) Konsekwencje prawne (14:15) Jakie licencje są "bezpieczne" i kiedy? (19:04) Gdzie szukać pomocy czy mogę mieć problem z daną licencją? (21:34) Jak to jest, że na Linuxie może istnieć komercyjne oprogramowanie? (23:04) Co gdy nie ma pliku licencji? (25:38) Chat GPT odpowiada czy można korzystać z kodu, który wygenerował (29:20) Ograniczenia i zapisy w naszych umowach (30:25) Licencje narzędzi takich jak GitHub Copilot (32:36) 3 ważne punkty odnośnie własności kodu (34:00) Odpowiedzialność za złamanie licencji / praw autorskich (36:02) Typowe praktyki w rozwiązywaniu problemów za pomocą kodu (38:14) Podmiana licencji przez Copilota (39:23) 3 ważne rady na koniec (44:30) Zakończenie --- 💡 Masz pomysł na temat? Chcesz, abyśmy porozmawiali na jakiś konkretny temat lub chciałbyś wziąć...

    45 min
  3. 03/22/2023

    #65 Clean Code. Jak definiujemy czysty kod?

    Clean Code, czyli Czysty Kod. To tytuł książki, którą często polecamy młodym programistom. Ponieważ, jednym z etapów rozwoju rzemiosła programisty, jest tworzenie prostego w zrozumieniu kodu. Sztuka ta nie jest łatwa, jednak istnieje kilkanaście różnych reguł i podpowiedzi, których stosowanie może pozwolić na uzyskanie "wystarczająco czystego kodu". Pytanie tylko, które z nich wybrać i kiedy stosować? ✅ Czym jest Clean Code? ✅ Jak definiować i jakie reguły można zastosować przy Clean Code? ✅ Czy Clean Code może być uniwersalny i identyczny dla wszystkich naszych projektów? ✅ Jakie zasady stosujemy w projektach i na co uważamy? W tym odcinku podpowiadamy jak my patrzymy na Clean Code. Kiedy i po co stosujemy pewne zasady oraz dlaczego SOLID nie zawsze jest wymagany. --- Najważniejsze linki: - Serwer Discord DevEnv - https://bit.ly/devenv-discord - YouTube DevEnv - https://bit.ly/devenv-yt - Mapa Myśli Clean Code - https://devenv.pl/download/clean-code.pdf --- W tym odcinku rozmawialiśmy o: (00:32) Wstęp do tematu odcinka (00:45) Serwer Discord DevEnv (01:18) Kontekst aplikacji jest ważny (02:30) Implementacje na przyszłość (03:10) AHA Programming (04:08) Ustalenie poziomu “kod wystarczająco dobry” (06:55) Wszyscy powinni rozumieć wymagania względem kodu (07:20) Reguły Clean Code, które można zastosować (08:37) Gotowe reguły dla narzędzia SCA (09:02) Wspólny standard nazewnictwa (12:00) Standardy na wielu poziomach (15:05) Unikamy komentarzy bez uzasadnienia (16:02) Kiedy komentarze są zasadne (18:03) Zasada Skauta (19:22) Magic Numbers & String (21:47) Zasada DRY - Don't Repeat Yourself (24:05) Zasady SOLID* (25:45) Dług techniczny, zasady, a konsekwencje (26:32) W Definition of Done - “Zawsze Testy” (27:15) Nauka na błędach jako sposób na poprawę swojego kodu (27:55) Odpowiedni poziom satysfakcji (29:00) Jak mierzyć Clean Code? (35:17) Zakończenie + Najważniejsze miejsca DevEnv --- 💡 Masz pomysł na temat? Chcesz, abyśmy porozmawiali na jakiś konkretny temat lub chciałbyś wziąć udział w podcaście? Wyślij e-mail na adres: kontakt@devenv.pl

    37 min
  4. 02/23/2023

    #64 Dlaczego warto uczyć innych? Co daje dzielenie się wiedzą?

    Praktycznie każdy dzień pracy programisty to możliwość zdobycia nowej umiejętności. Wiele z wykonywanych zdań wymaga od nas poznania czegoś nowego, eksperymentowania czy rozmowy z kolegą z zespołu. Czasem to my stajemy się źródłem wiedzy, mentorem czy ewangelistą jakiegoś rozwiązania. Pamiętam jak postawiono mnie przed nie lada wyzwaniem - stworzeniem szkółki dla młodych adeptów programowania. Musiałem nie tylko nauczyć innych pewnych aspektów, ale także dobrze poznać swoje braki wiedzy i je uzupełnić. Nauka kogoś to dla mnie najlepszy sposób na rozwój także swoich umiejętności. ✅ Jak zatem zacząć z przekazywaniem wiedzy? ✅ Kiedy wymiana wiedzy ma sens? ✅ Czy uczenie innych może być sposobem na wypalenie zawodowe? ✅ Czy każdy nadaje się do nauki innych? ✅ Jakie techniki wykorzystujemy, aby lepiej uczyć innych? W tym odcinku podpowiadamy jak zacząć, po co to robić i na co uważać. Niech ta forma przekazywania wiedzy, będzie źródłem inspiracji i zachętą do dzielenia się wiedzą. --- W tym odcinku rozmawialiśmy o: (00:32) Wstęp do tematu odcinka (02:00) Stand-up jako forma wymiany wiedzy (03:18) Muszą chcieć dwie strony (03:42) Kiedy wymiana wiedzy ma sens? (07:28) Hype na nowe rzeczy (09:34) Jaki jest cel wymiany wiedzy? (10:47) Stosunek korzyści do kosztu (12:32) Egoizm, a samorealizacja (14:02) Wymiana wiedzy, a wypalenie zawodowe (15:20) Inspiracja innych (16:25) Nie każdy musi dzielić się wiedzą (17:08) Dodatkowe korzyści (18:34) Czy każdy nadaje się do nauki innych? (20:07) Można zacząć działać "lokalnie" (23:07) Aby działać trzeba mieć na to czas (23:40) Bus Factor (25:20) Jak robić to dobrze? Technika Richarda Feynmana (28:04) Tłumaczenie za pomocą analogii (30:04) Różne techniki uczenia (31:50) Zakończenie --- 💡 Masz pomysł na temat? Chcesz, abyśmy porozmawiali na jakiś konkretny temat lub chciałbyś wziąć udział w podcaście? Wyślij e-mail na adres: kontakt@devenv.pl

    33 min
  5. 02/08/2023

    #63 Debugowanie aplikacji w chmurze

    Chmura coraz częściej jest miejscem docelowym życia naszych aplikacji. Obsługujemy w niej wdrożenia testowe, stage i produkcyjne. Nie raz są to rozbudowane systemy składające się z wielu współpracujących ze sobą aplikacji. Byłem świadkiem sytuacji, gdzie aplikacja lokalnie działała bezbłędnie. Jednak po opublikowaniu nowej wersji użytkownikom, zaliczyliśmy wpadkę - przeglądarka użytkownika nie dostawała nawet odpowiedzi. Jak zatem radzić sobie z analizą błędów, które występują w takim środowisku? Czy wystarczy nam tzw. console.log na ekran i sprawa staje się prostsza? W tym odcinku poruszamy nasze doświadczenia i problemy, z jakimi spotkaliśmy się, pracując na co dzień z aplikacjami korzystającymi z usług chmurowych w każdej dostępnej postaci. --- W tym odcinku rozmawialiśmy o: (00:32) Wstęp do tematu odcinka (10:15) Unifikacja środowiska uruchomieniowego (03:30) Dlaczego podobne środowiska są ważne? (05:10) Końcowa infrastruktura też może być problemem (07:07) Aplikacja jest na końcu łańcucha wywołań (08:20) Debugowanie aplikacji w Docker (08:50) Chmura to nie zawsze Docker (09:28) Centralne logowanie i przeszukiwanie logów (10:30) Logi super, ale tu też musimy zadbać o porządek (11:57) Logi super, ale też mogą zakłócać działanie systemu (13:42) Wymagania i benefity narzędzi centralnego logowania (14:47) Monitoring oraz alerty (15:23) Reagowanie na nieprzewidziane - Sentry (16:50) Obsługa nieobsłużonych błędów (18:04) Narzędzia w chmurze wspomagające analizę problemów (19:40) Metryki techniczne (20:10) Testowanie na produkcji (21:00) Chmura uruchomiona lokalnie (21:36) Najpopularniejszy sposób debugowania wśród programistów (22:26) Odpowiedni dobór narzędzi do problemu (23:29) Szybkość rozwiązania błędu jest często najważniejsza (25:07) Podsumowanie --- 💡 Masz pomysł na temat? Chcesz, abyśmy porozmawiali na jakiś konkretny temat lub chciałbyś wziąć udział w podcaście? Wyślij e-mail na adres: kontakt@devenv.pl

    26 min

About

Tworzenie oprogramowania w szerokim horyzoncie. Podejmujemy tematy związane z dobrymi praktykami, metodykami oraz procesami, które towarzyszą na co dzień programistom. Masz pomysł na temat odcinka? Może chcesz zostać sponsorem odcinka? Wyślij e-mail na adres: kontakt@devenv.pl

You Might Also Like

To listen to explicit episodes, sign in.

Stay up to date with this show

Sign in or sign up to follow shows, save episodes, and get the latest updates.

Select a country or region

Africa, Middle East, and India

Asia Pacific

Europe

Latin America and the Caribbean

The United States and Canada