Zarządzanie złożonością - czyli jak budować, żeby nie żałować. Będzie to o strukturze aplikacji, narzędziach, metodologiach w zastosowaniu, czyli w sumie wszystkiego po trochu co trzeba wziąć pod uwagę rozpoczynając projekt.
Slajdy wspierające moją prezentację podczas wystąpienia na Agille Warsaw. Opowiedziałem o tym, w jaki sposób stosujemy zwinne podejście do zarządzania portfolio projektowym i całością prac w GoldenLine.
Dobra praca z portfolio projektowym daje sprawną realizację najważniejszych rzeczy, podnosi przejrzystość i przewidywalność oraz pozwala zrozumieć to co się dzieje i wpływać na to.
Warto stosować zwinne podejście, żeby ograniczyć ryzyko (polecam przekształcanie dużych projektów w ich MVP), zaangażować team i kończyć więcej projektów sukcesem.
Bycie programistą nie sprowadza się już jedynie do programowania. Mało tego, nie dość, że nie piszemy już tylko kodu, to bardzo często to od nas zależy powodzenie całego projektu. Już teraz mamy wiele nowych obowiązków i ciągle wymaga się od nas jeszcze więcej: bezpośredniego kontaktu z klientem, estymowania, ustalania priorytetów, doboru technologii. Oczywiście przez cały czas trwania projektu kod powienien być jak najwyższej jakości.
Jak się w tym wszystkim odnaleźć? W jaki sposób podejść do tych nowych obowiązków? Jak lepiej odpowiadać na potrzeby klientów i rynku? Podczas prezentacji spróbujemy odpowiedzieć sobie na te pytania oraz postaramy się zdefiniować profesjonalnego programistę.
Zarządzanie złożonością - czyli jak budować, żeby nie żałować. Będzie to o strukturze aplikacji, narzędziach, metodologiach w zastosowaniu, czyli w sumie wszystkiego po trochu co trzeba wziąć pod uwagę rozpoczynając projekt.
Slajdy wspierające moją prezentację podczas wystąpienia na Agille Warsaw. Opowiedziałem o tym, w jaki sposób stosujemy zwinne podejście do zarządzania portfolio projektowym i całością prac w GoldenLine.
Dobra praca z portfolio projektowym daje sprawną realizację najważniejszych rzeczy, podnosi przejrzystość i przewidywalność oraz pozwala zrozumieć to co się dzieje i wpływać na to.
Warto stosować zwinne podejście, żeby ograniczyć ryzyko (polecam przekształcanie dużych projektów w ich MVP), zaangażować team i kończyć więcej projektów sukcesem.
Bycie programistą nie sprowadza się już jedynie do programowania. Mało tego, nie dość, że nie piszemy już tylko kodu, to bardzo często to od nas zależy powodzenie całego projektu. Już teraz mamy wiele nowych obowiązków i ciągle wymaga się od nas jeszcze więcej: bezpośredniego kontaktu z klientem, estymowania, ustalania priorytetów, doboru technologii. Oczywiście przez cały czas trwania projektu kod powienien być jak najwyższej jakości.
Jak się w tym wszystkim odnaleźć? W jaki sposób podejść do tych nowych obowiązków? Jak lepiej odpowiadać na potrzeby klientów i rynku? Podczas prezentacji spróbujemy odpowiedzieć sobie na te pytania oraz postaramy się zdefiniować profesjonalnego programistę.
Jakość oprogramowania jest rozbudowaną dziedziną wiedzy, którą każdy programista zna doskonale, ale ilu tak naprawdę stosuje skutecznie? W prelekcji przedstawię zarówno najważniejsze, zweryfikowane praktycznie sposoby podnoszenia i utrzymywania jakości oprogramowania na założonym poziomie, jak również omówię kilka pułapek, w które nadzwyczaj łatwo wpadamy.
4Developers 2015: Jak przekonać managera, że czas na refaktoring jest potrzeb...PROIDEA
Sebastian Łaciak
Language: Polish
Jest tysiące powodów dla których nasze projekty mogłyby być lepsze a świat dzięki temu piękniejszy. Niestety często na drodze stoi manager i brak czasu na pielęgnowanie kodu. Podczas sesji postaram się przekonać Was, że nie stoimy na pozycji przegranej oraz podam wiele argumentów, których będziecie mogli użyć po powrocie do biura. Poruszony zostanie również temat roadmapy.
Przez kilkanaście lat pracy zawodowej wielokrotnie padłem ofiarą mitów i przejściowych trendów przemysłu IT. Bałem się wysłać CV na widok ściany wymagań. Wprowadzałem Scruma "na siłę", przepisywałem systemy od zera, budowałem wymyślną architekturę. Umknęło mi wiele ważnych rzeczy, na które dziś pragnę zwrócić Waszą uwagę. Opowiem jak możecie ruszyć swoją karierę "z kopyta" poprzez skupienie się na 20% rzeczy, które dadzą 80% rezultatów. Pokażę, jakie praktyki realnie pozwoliły mi osiągać duże sukcesy u klientów z całego świata.
Podzielę się z Wami zaobserwowanymi praktykami, które są kluczowe dla każdego zespołu dostarczającego produkt w oparciu o moje doświadczenia jako deweloper, system inżynier i leader zespołu.
O zagadnieniu:
Czy następuje taki moment w życiu programisty, kiedy może on stwierdzić, że jego warsztat jest już doskonały? Nie, jeżeli pracuje w technologiach internetowych. Ta dziedzina informatyki rozwija się w niesamowicie szybkim tempie, a stworzone wczoraj rozwiązania warto stosować już dziś!
Cel i korzyści spotkania:
Podczas spotkania słuchacze poznają aktualnie wykorzystywane technologie oraz kluczowe umiejętności w produkcji aplikacji internetowych, jak również metody programowania ekstremalnego i techniki zwinnego wytwarzania oprogramowania. Osobom, które dopiero zaczynają swoją przygodę z web development, zostanie przedstawiona propozycja działań, których sumienne podjęcie się gwarantuje odniesienie sukcesu zawodowego.
Konrad Gadzina: Test-Driven Gamedev - testy automatyczne a tworzenie gierGameDesire Academy
Celem prezentacji jest przedstawienie korzyści, jakie developerzy gier mogą wyciągnąć z tworzenia testów automatycznych i odpowiedź na kilka podstawowych pytań, m.in. czy gry są zbyt skomplikowane na automatyzacje testów? Co i jak testować - od testów jednostkowych po testy integracyjne. Czym jest "red-green-refactor mantra"? Jak Test-Driven Development wychodzi ze starcia z legacy code? Oraz jak coding dojo może pomóc wdrożyć zespół w TDD?
Prowadzący - Konrad Gadzina, Senior Software Engineer w Ganymede
Link do YT: https://youtu.be/5_af-R3WxdY
Piotr Guzia - Fermentacja jabłek a zmiany w kodzie, czyli TDD w iOS
http://www.tsh.io
Czy zastanawiałeś się kiedyś, jak kilka „drobnych” zmian może wpłynąć na działanie aplikacji? Czy zdarzyło Ci się, że nie byłeś pewny, czy po zmianach nadal cały system działa poprawnie? Czy chciałbyś temu zapobiec? A może znasz odpowiedzi na te pytania, ale wchodzisz w świat iOS i chciałbyś tę wiedzę wykorzystać w Swifcie i Xcode? Jeśli choć raz padła odpowiedź „tak", to ten temat na pewno Cię zainteresuje!
Prezentacja z Uszanowanka Programowanka #15 http://www.meetup.com/Uszanowanko-Programowanko/events/233585217/
Refactoring - Jak pozostać przy zdrowych zmysłach, redukując długMax Małecki
Pracowałem przy wielu projektach, które to miały specyfikę totalnie zadłużonych. W prezentacji podzielę się 14 latami moich doświadczeń i zmagań z długiem technicznym w projektach small & medium business. Odpowiem jak my sami się godzimy na wprowadzenie długu technicznego do projektu. Opowiem jak go trzymać w ryzach i monitorować. Dam przykłady narzędzi do monitorowania miejsc w kodzie, które są potencjalnymi nosicielami długu technicznego. Podam gotowy przepis jak wprowadzić do work-flow walkę z długiem technicznym.
InfoShare 2014: Skok na naderwanym bungee, czyli agile bez automatyzacjiJIT Solutions
Prezentacja z wykładu prowadzonego przez Witka Boła i Bartka Ziębę o automatyzacji procesów wytwórczych w zespołach softwareowych. Prezentacja odbyła się w ramach konferencji InfoShare 2014, 22.05.2014 w Gdańsku.
Skok na naderwanym bungee, czyli agile bez automatyzacjiWitold Bołt
Slajdy z prezentacji przeprowadzonej w ramach konferencji InfoShare 2014, 22 maja 2014 r. w Gdańsku. Prowadzący prezentacje: Witold Bołt i Bartłomiej Zięba.
Girls in It - Front-end & Back-end. Jak zacząćmonterail
“Girls in IT” to cykl spotkań dla kobiet, które mają na celu pokazać od kuchni jak wygląda praca w firmie technologicznej i pomóc im podjąć właściwą decyzję na temat kariery zawodowej.
W pierwszej części, przeznaczonej dla przyszłych Front-end Developerek, opowiemy na czym polega tworzenie strony internetowej i podzielimy się listą niezbędnych źródeł dla początkujących.
Druga część zawiera praktyczne informacje dotyczące Backend development'u. Przedstawimy specyfikę pracy na tym stanowisku, dobre praktyki, a także cenne wskazówki od naszych ekspertek.
https://www.youtube.com/watch?v=ww36brBuxU8
Jak zacząć przygodę z tworzeniem dużych produkcji? Co zrobić, żeby stać się częścią branży gier? Prezentacja pokazuje możliwe ścieżki rozwoju dla programistów, pokazując przy tym, że gry mają znacznie więcej wspólnego z "poważnym" oprogramowaniem niż się może wydawać.
Jakość oprogramowania jest rozbudowaną dziedziną wiedzy, którą każdy programista zna doskonale, ale ilu tak naprawdę stosuje skutecznie? W prelekcji przedstawię zarówno najważniejsze, zweryfikowane praktycznie sposoby podnoszenia i utrzymywania jakości oprogramowania na założonym poziomie, jak również omówię kilka pułapek, w które nadzwyczaj łatwo wpadamy.
4Developers 2015: Jak przekonać managera, że czas na refaktoring jest potrzeb...PROIDEA
Sebastian Łaciak
Language: Polish
Jest tysiące powodów dla których nasze projekty mogłyby być lepsze a świat dzięki temu piękniejszy. Niestety często na drodze stoi manager i brak czasu na pielęgnowanie kodu. Podczas sesji postaram się przekonać Was, że nie stoimy na pozycji przegranej oraz podam wiele argumentów, których będziecie mogli użyć po powrocie do biura. Poruszony zostanie również temat roadmapy.
Przez kilkanaście lat pracy zawodowej wielokrotnie padłem ofiarą mitów i przejściowych trendów przemysłu IT. Bałem się wysłać CV na widok ściany wymagań. Wprowadzałem Scruma "na siłę", przepisywałem systemy od zera, budowałem wymyślną architekturę. Umknęło mi wiele ważnych rzeczy, na które dziś pragnę zwrócić Waszą uwagę. Opowiem jak możecie ruszyć swoją karierę "z kopyta" poprzez skupienie się na 20% rzeczy, które dadzą 80% rezultatów. Pokażę, jakie praktyki realnie pozwoliły mi osiągać duże sukcesy u klientów z całego świata.
Podzielę się z Wami zaobserwowanymi praktykami, które są kluczowe dla każdego zespołu dostarczającego produkt w oparciu o moje doświadczenia jako deweloper, system inżynier i leader zespołu.
O zagadnieniu:
Czy następuje taki moment w życiu programisty, kiedy może on stwierdzić, że jego warsztat jest już doskonały? Nie, jeżeli pracuje w technologiach internetowych. Ta dziedzina informatyki rozwija się w niesamowicie szybkim tempie, a stworzone wczoraj rozwiązania warto stosować już dziś!
Cel i korzyści spotkania:
Podczas spotkania słuchacze poznają aktualnie wykorzystywane technologie oraz kluczowe umiejętności w produkcji aplikacji internetowych, jak również metody programowania ekstremalnego i techniki zwinnego wytwarzania oprogramowania. Osobom, które dopiero zaczynają swoją przygodę z web development, zostanie przedstawiona propozycja działań, których sumienne podjęcie się gwarantuje odniesienie sukcesu zawodowego.
Konrad Gadzina: Test-Driven Gamedev - testy automatyczne a tworzenie gierGameDesire Academy
Celem prezentacji jest przedstawienie korzyści, jakie developerzy gier mogą wyciągnąć z tworzenia testów automatycznych i odpowiedź na kilka podstawowych pytań, m.in. czy gry są zbyt skomplikowane na automatyzacje testów? Co i jak testować - od testów jednostkowych po testy integracyjne. Czym jest "red-green-refactor mantra"? Jak Test-Driven Development wychodzi ze starcia z legacy code? Oraz jak coding dojo może pomóc wdrożyć zespół w TDD?
Prowadzący - Konrad Gadzina, Senior Software Engineer w Ganymede
Link do YT: https://youtu.be/5_af-R3WxdY
Piotr Guzia - Fermentacja jabłek a zmiany w kodzie, czyli TDD w iOS
http://www.tsh.io
Czy zastanawiałeś się kiedyś, jak kilka „drobnych” zmian może wpłynąć na działanie aplikacji? Czy zdarzyło Ci się, że nie byłeś pewny, czy po zmianach nadal cały system działa poprawnie? Czy chciałbyś temu zapobiec? A może znasz odpowiedzi na te pytania, ale wchodzisz w świat iOS i chciałbyś tę wiedzę wykorzystać w Swifcie i Xcode? Jeśli choć raz padła odpowiedź „tak", to ten temat na pewno Cię zainteresuje!
Prezentacja z Uszanowanka Programowanka #15 http://www.meetup.com/Uszanowanko-Programowanko/events/233585217/
Refactoring - Jak pozostać przy zdrowych zmysłach, redukując długMax Małecki
Pracowałem przy wielu projektach, które to miały specyfikę totalnie zadłużonych. W prezentacji podzielę się 14 latami moich doświadczeń i zmagań z długiem technicznym w projektach small & medium business. Odpowiem jak my sami się godzimy na wprowadzenie długu technicznego do projektu. Opowiem jak go trzymać w ryzach i monitorować. Dam przykłady narzędzi do monitorowania miejsc w kodzie, które są potencjalnymi nosicielami długu technicznego. Podam gotowy przepis jak wprowadzić do work-flow walkę z długiem technicznym.
InfoShare 2014: Skok na naderwanym bungee, czyli agile bez automatyzacjiJIT Solutions
Prezentacja z wykładu prowadzonego przez Witka Boła i Bartka Ziębę o automatyzacji procesów wytwórczych w zespołach softwareowych. Prezentacja odbyła się w ramach konferencji InfoShare 2014, 22.05.2014 w Gdańsku.
Skok na naderwanym bungee, czyli agile bez automatyzacjiWitold Bołt
Slajdy z prezentacji przeprowadzonej w ramach konferencji InfoShare 2014, 22 maja 2014 r. w Gdańsku. Prowadzący prezentacje: Witold Bołt i Bartłomiej Zięba.
Girls in It - Front-end & Back-end. Jak zacząćmonterail
“Girls in IT” to cykl spotkań dla kobiet, które mają na celu pokazać od kuchni jak wygląda praca w firmie technologicznej i pomóc im podjąć właściwą decyzję na temat kariery zawodowej.
W pierwszej części, przeznaczonej dla przyszłych Front-end Developerek, opowiemy na czym polega tworzenie strony internetowej i podzielimy się listą niezbędnych źródeł dla początkujących.
Druga część zawiera praktyczne informacje dotyczące Backend development'u. Przedstawimy specyfikę pracy na tym stanowisku, dobre praktyki, a także cenne wskazówki od naszych ekspertek.
https://www.youtube.com/watch?v=ww36brBuxU8
Jak zacząć przygodę z tworzeniem dużych produkcji? Co zrobić, żeby stać się częścią branży gier? Prezentacja pokazuje możliwe ścieżki rozwoju dla programistów, pokazując przy tym, że gry mają znacznie więcej wspólnego z "poważnym" oprogramowaniem niż się może wydawać.
10. “
W rzeczywistości stosunek czasu czytania do
pisania jest znacznie wyższy niż 10 do 1. Wciąż
czytamy stary kod w ramach prób napisania nowego
kodu. ... [Dlatego] ułatwienie czytania ułatwia
pisanie
Robert Cecil Martin
13. Spotkaliście się z tym?
1. Nowy developer- super gwiazda
2. Po godzinie stwierdza, że wszystko jest do dupy
3. Forsuje “nowe” standardy
4. Odchodzi po pół roku
5. Nikt nie wie o co chodzi, projekt jest nie
utrzymywalny
16. DRY
don’t repeat yourself
KISS
keep it simple stupid
SOLID
single responsibility, open/closed, liskov substitution, interface segregation, dependency inversion
YAGNI
you aren’t gonna need it
Znane zasady
17. Mantra
1. Ty jesteś odpowiedzialny za kod.
2. Spójny styl formatowania.
3. Opisowe nazwy klas i metod.
4. Komentuje, ale nie rzeczy oczywiste!
5. Krótkie funkcje, klasy, metody.
6. Brak zagnieżdżeń, złożoności.
28. Jaka powinna być czysta architektura
1. Niezależna od frameworka
2. Testowalna
3. Niezależna od UI
4. Niezależna od DB
5. Słabo zależna od zewnętrznych API
6. Łopatologiczna
49. Software craftsmanship manifesto
Not only working software,
but also well-crafted software
Not only responding to change,
but also steadily adding value
Not only individuals and interactions,
but also a community of professionals
Not only customer collaboration,
but also productive partnerships
Utopia?
50. “
The primary task of a developer is not
the writing of code but to understand
a problem.
https://thephp.cc/news/2017/05/testing-keeps-me-from-get
ting-things-done
51. Rozważne żonglowanie długiem przy zachowaniu prostoty
rozwiązania pozwala osiągnać to optymalnym kosztem
Najważniejsze jest ciągle
móc dostarczać wartość