KAMIL SABATOWSKI Najczęstsze błędy junior devów i jak ich uniknąć?
Stwórzcie mi drugiego Facebooka tylko lepiej!
Deployment Development Kryzys na produkcji Planowanie sprintu QA Daily Standup Bug fixing (NIEOFICJALNE) FAZY W CYKLU ŻYCIA PROJEKTU
Planowanie sprintu FAZA 1
SPECYFIKACJA Błąd 1. Próba estymowania kompletnie niezdefiniowanych zadań. Rozwiązanie 1. Zadawaj pytania: od ogółu do szczegółu.
Proces definiowania produktu
SPECYFIKACJA Błąd 2. Zbyt optymistyczna wycena pracochłonności zadań. Rozwiązanie 2. Bądź szczery sam ze sobą w 100%. Przeanalizuj zadanie jeszcze zanim je wyestymujesz.
Development FAZA 2
DEVELOPMENT Błąd 3. Rabbit holes. Rozwiązanie 3. Poproś o wsparcie, kiedy krążysz zbyt długo wokół problemu.
DEVELOPMENT Błąd 4. Próba pracy nad wieloma zadaniami jednocześnie. Rozwiązanie 4. O ile zadania nie są ze sobą powiązane, najpierw skończ, to co zacząłeś.
Błąd 5. DEVELOPMENT Próba forsowania nowych technologii za wszelką cenę. Lub Próba wdrażania nowych technologii w projekcie o mocno ograniczonym budżecie. Rozwiązanie 5. Technologiczne decyzje strategiczne konsultuj z bardziej doświadczonym developerem.
DEVELOPMENT Błąd 6. Droga na skróty, unikanie pisania testów. Rozwiązanie 6. Uwzględniaj pisanie testów w estymacjach.
DEVELOPMENT Błąd 7. Zbyt dużo komentarzy / komentarze w języku polskim. Rozwiązanie 7. Komentarze powinny dokumentować kod, a nie go wyjaśniać.
Błąd 8. DEVELOPMENT Samodzielne próby refactoru ad hoc. Rozwiązanie 8. Skonsultuj swój pomysł na refactoring z bardziej doświadczonym developerem. przy dużych refactorach występują podobne problemy jak z wprowadzaniem nowych technologii najlepiej robić małe refactory inkrementacyjnie a nie duże big-bang i najlepiej refactory robić osobno do funkcjonalności i nie mieszać tego w taskach oraz pull requestach zgłaszaj pomysły na refactor PM om, pokazuj powody idące za tym i pozwól PMowi tym zarządzić w czasie i budżecie
DEVELOPMENT Błąd 9. Hardcodowanie wartości. Rozwiązanie 9. Myśl o tym, aby aplikacja była elastyczna i łatwa w skalowaniu w przyszłości.
Błąd 10. DEVELOPMENT Wymyślanie koła na nowo: tworzenie customowych rozwiązań = brak zastanowienia się nad korzystniejszymi biznesowo alternatywami. Rozwiązanie 10. Poszukaj gotowych rozwiązań z rzetelnego źródła. Pomyśl o tym, czy można skorzystać z reużywalnych komponentów.
DEVELOPMENT Błąd 11. Wybór technologii ze względów prywatnych, a nie biznesowych. Rozwiązanie 11. Dobieraj rozwiązania biorąc pod uwagę podejście,,good value for money.
Daily standup FAZA 3
DAILY STANDUP Błąd 12. Niekomunikowanie problemów. Rozwiązanie 12. Całkowita transparentność w zespole.
DAILY STANDUP Błąd 13. Niezadawanie pytań jak się czegoś nie wie. Rozwiązanie 13. Odwaga, pokora, ciekawość.
Deployment FAZA 4
Błąd 14. DEPLOYMENT Brak odpowiedniego przygotowania do rutynowych działań, takich jak np. proces deploymentu. Rozwiązanie 14. Zaproponuj checklistę zawierającą działania niezbędne do prawidłowego przebiegu procesu i omów ją z bardziej doświadczonym developerem.
Quality Assurance FAZA 5
QUALITY ASSURANCE Błąd 15. Brak empatii - podejście,,ale przecież u mnie działa. Rozwiązanie 15. Zastanów się, jak czuje się klient, dlaczego reaguje właśnie tak, a nie inaczej i co można zrobić już, aby zminimalizować skutki problemu.
Kryzys na produkcji FAZA 6
KRYZYS Błąd 17. Pomijanie rutyn Scrumowych. Rozwiązanie 17. W przypadku sytuacji kryzysowej, zatrzymaj się na chwilę, pomyśl i odpowiednio się przygotuj - Scrum tylko w tym pomaga.
Bug fixing FAZA 7
BUG FIXING Błąd 18. Panikowanie, gdy klient zgłasza błędy. Rozwiązanie 18. Nie odbieraj tego personalnie. Wspólnie z klientem ustalcie priorytety dla błędów i zaplanujcie pracę.
TOP 3 TOP 3 najgroźniejsze błędy: - niekomunikowanie problemów - niezadawanie pytań jak się czegoś nie wie - próby forsowania nowych technologii za wszelką cenę
Dzięki serdeczne! TOP TALENTS EMPOWERING CULTURE Kamil Sabatowski k.sabatowski@sunscrapers.com linkedin.com/in/kamilsabatowski/ PROFESSIONAL SERVICE We are looking for Python and JavaScript developers! Join us at sunscrapers.com/careers/