Od Kodera przez Developera do Lidera

Podobne dokumenty
HumanTechnology. Projektowanie interakcji. czyli łatanie dziury w procesie produkcji


NAJLEPSZE STRATEGIE SKUTECZNYCH PROGRAMISTÓW. TECHNIKI PRACY Z KODEM KOD: NSKOD

Ewolucyjna architektura

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

Programowanie Zespołowe

KILKA SŁÓW O ROLI PRODUCT MANAGERA

Metody Metody, parametry, zwracanie wartości

Wewnątrzszkolne Doskonalenie Nauczycieli Nowatorskie metody nauczania

Lp. Kompetencja Poziom operacyjny Opis kompetencji

Programowanie zespołowe

Wprowadzenie do Behaviordriven

Jak motywować młodzież do planowania kariery i rozwoju zawodowego

Kurs z technik sprzedaży

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming

Wszystkie problemy leżą w testach. ForProgress spółka z ograniczoną odpowiedzialnością sp.k.

Naturalny Porządek Refaktoryzacji Java Developer Days 2012

Komunikacja nastawiona na współpracę indywidualną i zespołową

Efektywność headhuntera znaczenie projektów direct& executivesearch w polityce rekrutacyjnej organizacji

Zwinna współpraca programistów i testerów z wykorzystaniem BDD i. by Example (JBehave/Spock/SpecFlow)

AKADEMIA MENAGERA CZYLI ZARZĄDZAJ PO MISTRZOWSKU

Zasługujesz na szacunek! Bądź pewny siebie i asertywny.

Poradnik opracowany przez Julitę Dąbrowską.

MANIPULACJA W COACHINGU

Podejście tradycyjne. plan wykonanie sekwencyjna natura wykonywanych zadań

OCENA 360. Diagnoza kompetencji zawodowych. Considero Consulting Warszawa luty 2013

Narzędzia coachingowe w edukacji dzieci

Liczą się proste rozwiązania wizyta w warsztacie

narzędzia Użyteczne Customer Cup Daj się zauważyć

Program Coachingu dla młodych osób

szkolenia dla biznesu

Wzór na rozwój. Karty pracy. Kurs internetowy. Nauki ścisłe odpowiadają na wyzwania współczesności. Moduł 3. Data rozpoczęcia kursu

oferta dla Agencji Szkolenia eksperckie Klient-Agencja. Szkolenia kompetencyjne dla Agencji.

AKADEMIA DLA MŁODYCH PRZEWODNIK TRENERA. PRACA ŻYCIE UMIEJĘTNOŚCI

Domain-specific Languages. Języki dziedzinowe. Adam Robaszyński-Janiec

Sposoby sprawdzania osiągnięć edukacyjnych uczniów

Program New Way of Working (NWoW) źródłem motywacji do zmiany postaw. innogy Polska Dorota Kuprianowicz-Legutko

Całościowe podejście do testowania automatycznego dla programistów. (TDD, BDD, Spec. by Example, wzorce, narzędzia)

Społecznie odpowiedzialne zarządzanie w organizacjach publicznych. Teza cele konstrukcja realizacja

X-DRIVEN DESIGN, Y-DRIVEN DEVELOPMENT NICZEGO NIE ZMIENIĄ

Co umieścić na stronie www, by klienci zostawiali nam swoje adresy i numery telefonów

Projekt. Młodzi dla Środowiska

Boomerang 360 ID: Demo. Ensize AB Peter Karlsson. 17 z 20 analiz zostało ukończonych (85 %) Data analizy: Data wydruku:

Brakujący element Agile: Świadomy zespół

Coaching Zespołu. Podstawowa oferta procesu Team Coachingu dla Organizacji

Wzór na rozwój. Nauki ścisłe odpowiadają na wyzwania współczesności

Promuj swój biznes... samodzielnie! StartAP Akademia Przedsiębiorczości, 19 marca 2014

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.

Skuteczność => Efekty => Sukces

Akademia ADB Wykład I Praca w grupie i jakość kodu

PROPONOWANE MODUŁY SZKOLENIOWE - TEMATYKA. przedstawienie się;

ING to my wszyscy. A nasz cel to: wspieranie i inspirowanie ludzi do bycia o krok do przodu w życiu i w biznesie.

Java pierwszy program w Eclipse «Grzegorz Góralski strona własna

ZAKODUJ SWOJĄ PRZYSZŁOŚĆ. Zostań programistą i zacznij dobrze zarabiać w IT, jednej z najlepiej rozwijających się branży w Polsce i na Świecie!

Boomerang 360 ID: 2. Ensize International AB (dev) Henrik Wigh Sofielundsvägen Sollentuna

Szkolenie: Zarządzanie cyklem projektu w Jednostkach Samorządu Terytorialnego

COACHING OFERTA CENTRUM SZKOLENIOWEGO. SASMA EUROPE Warsaw, Poland SASMA Make your world a safer place

Poniższy program może być skrócony do 1 dnia lub kilkugodzinnej prezentacji.

Punkt 2: Stwórz listę Twoich celów finansowych na kolejne 12 miesięcy

VII. SZKOLENIA MIĘKKIE

Program szkolenia: Receptury testowania automatycznego - problemy, strategie, taktyki, techniki, narzędzia

L.p. Pytanie Słowa kluczowe Gotowe!

Acceptance Test Driven Development wspierane przez narzędzie ROBOT Framework. Edyta Tomalik Grzegorz Ziemiecki

WARSZTATY IPMA YOUNG CREW POLSKA

Zarządzanie projektami

Strategia parasolowa

Szablony funkcji i szablony klas

Zarządzanie i realizacja projektów systemu Microsoft SharePoint 2010

Środki Unijne TRWALE WSPIERAJĄCE ROZWÓJ PRZEDSIĘBIORSTWA ( )

Prowadzący: Bartosz Górczyński, CTPartners S.A, itsmf Polska. Miedzeszyn, wrzesień 2010

CZYNNIKI SUKCESU PPG

VII. SZKOLENIA MIĘKKIE

Podstawy programowania. Wykład 3 Konstrukcje sterujące. Krzysztof Banaś Podstawy programowania 1

PROJEKT W CZTERECH KROKACH. Danuta Bajor Urszula Wojtkiewicz Marek Zalewski

Ocena okresowa jeden z filarów kultury efektywnej organizacji - na przykładzie wdrożenia narzędzi Elevato w Velvet CARE Sp. z o.o.

"LIDER ZESPOŁU SPRZEDAŻOWEGO "

Zakręceni na punkcie IT. Dołącz!

Zaawansowane programowanie w języku C++

Od inżyniera do menedżera : tajniki lidera zespołów technicznych / Camille Fournier. Gliwice, Spis treści

Efektywny back-office. Warszawa, r.

MATERIAŁY Z KURSU KWALIFIKACYJNEGO

Wprowadzenie do programowania aplikacji mobilnych

Projektowanie strategii HR

Przywództwo sytuacyjne

DLA SEKTORA INFORMATYCZNEGO W POLSCE

Poziom 5 EQF Starszy trener

Zarządzaj doświadczeniami gościa i zyskaj jego lojalność. Rozwiązania wspierające hotelarstwo i branżę turystyczną

STRATEGIA LEAN. 5 kroków do wygrywania Leanpassion

2016 CONSULTING DLA MŚP. Badanie zapotrzebowania na usługi doradcze

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

projekt biznesowy Mini-podręcznik z ćwiczeniami

Wzorce Strukturalne. Adapter: opis. Tomasz Borzyszkowski

Metoda łańcucha krytycznego w zarządzaniu projektem. Dorota Kuchta

Laboratorium nr 12. Temat: Struktury, klasy. Zakres laboratorium:

Dzisiejszy wykład. Wzorce projektowe. Visitor Client-Server Factory Singleton

MODEL KOMPETENCYJNY DYREKTORA

Informacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;

KOMPLEKSOWE ZARZĄDZANIE JAKOŚCIĄ MODELOWANIE PROCESÓW

Wdrożenie infrastruktury Cisco Spark w kancelarii DGP w Krakowie

Transkrypt:

Od Kodera przez Developera do Lidera BNS IT

Po co się spotkaliśmy? # Dlaczego klienci chętniej wolą pracować z deweloperami niż z koderami? # W jaki sposób zmienić kodera w dewelopera? # Czy każdy deweloper musi zostać liderem? # Jakie możliwości rozwoju poza opanowaniem kolejnej technologii można dostarczyć programistom? # Jak radzić sobie z problemem przerostu kompetencji w zespole? # Jak skutecznie rozwijać umiejętności programistów, którzy wszystko już wiedzą? # Czym właściwie są najlepsze strategie skutecznych programistów? Strefa Wiedzy Lidera IT 2

Stereotypy i nieporozumienia Od Kodera przez Developera do Lidera

Programiści nie myślą biznesowo # Programiści nie myślą biznesowo Strefa Wiedzy Lidera IT 4

Historia pewnego projektu Strefa Wiedzy Lidera IT 5

Nonszalancja programistów Nazwa, którą ja się posługiwałem Nazwa, której użyli programiści Moja kinoteka Dodaj serial Dodaj odcinek Opłacony/nieopłacony Etykiety Czas trwania: h 35 min. Dr Home. Sezon 1 odcinek 29 Strefa Wiedzy Lidera IT 6

Nonszalancja programistów Nazwa, którą ja się posługiwałem Moja kinoteka Nazwa, której użyli programiści Lista filmów Dodaj serial Dodaj odcinek Opłacony/nieopłacony Etykiety Czas trwania: h 35 min. Dr Home. Sezon 1 odcinek 29 Strefa Wiedzy Lidera IT 7

Nonszalancja programistów Nazwa, którą ja się posługiwałem Moja kinoteka Dodaj serial Nazwa, której użyli programiści Lista filmów Dodaj kategorię Dodaj odcinek Opłacony/nieopłacony Etykiety Czas trwania: h 35 min. Dr Home. Sezon 1 odcinek 29 Strefa Wiedzy Lidera IT 8

Nonszalancja programistów Nazwa, którą ja się posługiwałem Moja kinoteka Dodaj serial Dodaj odcinek Nazwa, której użyli programiści Lista filmów Dodaj kategorię Dodaj plik flv Opłacony/nieopłacony Etykiety Czas trwania: h 35 min. Dr Home. Sezon 1 odcinek 29 Strefa Wiedzy Lidera IT 9

Nonszalancja programistów Nazwa, którą ja się posługiwałem Moja kinoteka Dodaj serial Dodaj odcinek Opłacony/nieopłacony Nazwa, której użyli programiści Lista filmów Dodaj kategorię Dodaj plik flv Status [checkbox] Etykiety Czas trwania: h 35 min. Dr Home. Sezon 1 odcinek 29 Strefa Wiedzy Lidera IT 10

Nonszalancja programistów Nazwa, którą ja się posługiwałem Moja kinoteka Dodaj serial Dodaj odcinek Opłacony/nieopłacony Etykiety Nazwa, której użyli programiści Lista filmów Dodaj kategorię Dodaj plik flv Status [checkbox] Chmura tagów Czas trwania: h 35 min. Dr Home. Sezon 1 odcinek 29 Strefa Wiedzy Lidera IT 11

Nonszalancja programistów Nazwa, którą ja się posługiwałem Moja kinoteka Dodaj serial Dodaj odcinek Opłacony/nieopłacony Etykiety Czas trwania: h 35 min. Nazwa, której użyli programiści Lista filmów Dodaj kategorię Dodaj plik flv Status [checkbox] Chmura tagów Długość: 2 100 000 ms Dr Home. Sezon 1 odcinek 29 Strefa Wiedzy Lidera IT 12

Nonszalancja programistów Nazwa, którą ja się posługiwałem Moja kinoteka Dodaj serial Dodaj odcinek Opłacony/nieopłacony Etykiety Czas trwania: h 35 min. Dr Home. Sezon 1 odcinek 29 Nazwa, której użyli programiści Lista filmów Dodaj kategorię Dodaj plik flv Status [checkbox] Chmura tagów Długość: 2 100 000 ms 87a1b230ff910912.flv Strefa Wiedzy Lidera IT 13

Słowa tworzą oczekiwania Strefa Wiedzy Lidera IT 14

Konsekwencje słów w projekcie Strefa Wiedzy Lidera IT 15

Konsekwencje słów w projekcie Strefa Wiedzy Lidera IT 16

Klient, czy dłużnik? Strefa Wiedzy Lidera IT 17

Zrozumienie biznesu jest kluczem # Zrozumienie( Biznes ) => Architektura # Dlaczego taka mała rzecz zajmie 3 miesiące? # Dlaczego wymagania wciąż się zmieniają? Strefa Wiedzy Lidera IT 18

Ile %% wymagań naprawdę się zmienia? Strefa Wiedzy Lidera IT 19

Z jakimi programistami chcą pracować klienci? # Ja jestem programistą, oczekuję konkretnych danych Strefa Wiedzy Lidera IT 20

Z jakimi programistami chcą pracować klienci? Strefa Wiedzy Lidera IT 21

Z jakimi programistami chcą pracować klienci? Strefa Wiedzy Lidera IT 22

Gdzie ta różnica? # Właściwie chodzi o zmianę zachowania, choć to nie takie proste Strefa Wiedzy Lidera IT 23

Różnica, która robi różnicę Od Kodera przez Developera do Lidera

Przykład z zespołu wzięty # Stanowisko 1 Obowiązek 1.1 Obowiązek 1.2 Obowiązek 1.3 # Stanowisko 2 Obowiązek 2.1 Obowiązek 2.2 Obowiązek 2.3 Strefa Wiedzy Lidera IT 25

Przykład z zespołu wzięty # Efekt Tracisz najlepszego specjalistę Zyskujesz niezbyt dobrego kierownika Strefa Wiedzy Lidera IT 26

Jakie są powody? # Nie potrafi Można dostarczyć umiejętności # Nie chce Z reguły kłopot leży dużo głębiej Strefa Wiedzy Lidera IT 27

Tożsamość i zachowania # Stanowisko definiuje rolę w organizacji albo ściślej tożsamość # Tożsamość definiuje kim jestem? Strefa Wiedzy Lidera IT 28

Przekonania strażnicy tożsamości # Dają przyzwolenie na zidentyfikowanie się z tożsamością # Dają przyzwolenie na zachowywanie się w określony sposób # Od Kodera przez Developera do Lidera Strefa Wiedzy Lidera IT 29

Jak przekonania sabotują nową rolę # Przekonanie: Efektywność to szybkie rozwiązywanie problemów technicznych Strefa Wiedzy Lidera IT 30

Przykład drastyczny # Przekonania są użyteczne tylko w danym kontekście Strefa Wiedzy Lidera IT 31

Wnioski # Mianowanie nie jest wystarczające, aby osoba dobrze wykonywała swoje obowiązki Musi umieć dostarczyć odpowiednie umiejętności pełny wpływ organizacji Musi chcieć dostarczyć odpowiednie przekonania ograniczony wpływ organizacji = Identyfikacja z nową tożsamością Strefa Wiedzy Lidera IT 32

Najpierw chcieć, potem umieć # Chcę => umiem Konieczne wsparcie ze strony organizacji # Nie chcę => Strefa Wiedzy Lidera IT 33

Koder, Developer, Lider Od Kodera przez Developera do Lidera

Warstwy programisty Strefa Wiedzy Lidera IT 35

Warstwy a tożsamość programisty Strefa Wiedzy Lidera IT 36

Kim jest Koder? # Tożsamość Koder Strefa Wiedzy Lidera IT 37

Kim jest Koder? # Tożsamość Koder # Przekonania Jeśli funkcjonalność działa, to wykonałem zadanie Zmiana w wymaganiach oznacza, że klient, nie wie, czego chce Jeśli klient się nie odzywa, to znaczy, że wszystko jest w porządku Strefa Wiedzy Lidera IT 38

Kim jest Koder? # Tożsamość Koder # Przekonania Jeśli funkcjonalność działa, to wykonałem zadanie Zmiana w wymaganiach oznacza, że klient, nie wie, czego chce Jeśli klient się nie odzywa, to znaczy, że wszystko jest w porządku # Zachowania Czeka, aż otrzyma zlecenie Zamyka zadanie, gdy wszystko działa od strony kodu Uważa kod za zrozumiały, gdy jest zrozumiały dla niego/niej Stosuje zasadę: Jeśli nie było w SRS, to nie istnieje Strefa Wiedzy Lidera IT 39

Zalety i wady koderów # Zalety Wykonują powtarzalne zadania Poruszają się w sztywno wyznaczonych ramach architektury Są łatwo zastępowalni # Wady Wymagają stałej kontroli Powierzanie luźno zdefiniowanych zadań może być ryzykowne Strefa Wiedzy Lidera IT 40

Różnica na poziomie przekonań Strefa Wiedzy Lidera IT 41

Klient nie wie, czego chce? Strefa Wiedzy Lidera IT 42

Przypadek #1 Najlepsze GUI Strefa Wiedzy Lidera IT 43

Różnica na poziomie strategii Strefa Wiedzy Lidera IT 44

Przypadek #2 Jak pisać czysty kod? # Niektórzy programiści potrafią tworzyć prosty i czytelny dla innych kod # Niektórzy programiści z biegiem lat nabierają tej umiejętności # Na czym polega różnica? Strefa Wiedzy Lidera IT 45

Przypadek #2 Jak pisać czysty kod? # Krok 1 eksperymentu Zaimplementuj równanie kwadratowe Symulujemy warunki w projekcie # Efekt Przypadkowa złożoność Zupełnie różne rozwiązania u różnych osób Strefa Wiedzy Lidera IT 46

Przypadek #2 Jak pisać czysty kod? public class Calculator { public static void main(string[] args) { Calculator calc = new Calculator(); double a = calc.geta(); double b = calc.getb(); double c = calc.getc(); calc.calc(a, b); calc.calc2(a, b, c); } public void calc(double a, double b){ double x = -b/a; System.out.println("x = " + x); } public void calc2(double a, double b, double c) { double delta = delta(a,b,c); if (delta == 0) { System.out.println("x = " + -b/2*a); } else if (delta > 0) { double x1 = (-b - Math.sqrt(delta)) / (2*a); double x2 = (-b + Math.sqrt(delta)) / (2*a); System.out.println("x1 = " + x1); System.out.println("x2 = " + x2); } Strefa Wiedzy Lidera IT 47

Przypadek #2 Jak pisać czysty kod? # Krok 2 eksperymentu Napisz na kartce kroki algorytmu Przepisz dosłownie kroki w IDE Skonkretyzuj pseudokod Strefa Wiedzy Lidera IT 48

Przypadek #2 Jak pisać czysty kod? //1. Wczytaj a //2. Wczytaj b //3. Wczytaj c //4. Jeśli a == 0 to jedno rozwiązanie -c/b //5. Oblicz deltę //6. Jeśli delta == 0 to pierwiastek podwójny -b/(2*a) //7. Jeśli delta > 0 to dwa pierwiastki rzeczywiste // a. x1 = -b/( 2*a ) - Math.sqrt( delta )/( 2*a ) // b. x2 = -b/( 2*a ) + Math.sqrt( delta )/( 2*a ) //8. Jeśli delta < 0 to dwa pierwiastki zespolone // a. -b/( 2*a ) - imath.sqrt( Math.abs( delta ) )/ ( 2*a ) // b. -b/( 2*a ) + imath.sqrt( Math.abs( delta ) )/ ( 2*a ) Strefa Wiedzy Lidera IT 49

Opory przed stosowaniem strategii # To zbyt banalne # Prawdziwe programowanie to frameworki # Technologie rozwiązują problemy # Jeśli coś jest skomplikowane, to na pewno jest mądre # Jak pokazać programiście zaletę stosowania strategii? Strefa Wiedzy Lidera IT 50

Mała zmiana z wielkimi skutkami Piszę od razu w kodzie Przypadkowa złożoność Piszę najpierw kroki algorytmu Prosty kod Strefa Wiedzy Lidera IT 51

Kim jest Developer? # Tożsamość Developer # Przekonania Jeśli dobrze wykonam zadanie, to klient będzie zadowolony Kod, który piszę jest przede wszystkim dla innych Jeśli są problemy w projekcie, to jestem odpowiedzialny za udzielenie pomocy # Zachowania Przeprowadza code review W miarę możliwości, z własnej inicjatywy, kontaktuje się z klientem Pomaga innym osobom w zespole Aktywnie poszukuje nowych zadań dla swoich umiejętności Strefa Wiedzy Lidera IT 52

Przypadek #3 Gdzie jest mój błąd? # Przekonanie: Błąd tkwi na zewnątrz: we frameworku, w innym module Strefa Wiedzy Lidera IT 53

Przypadek #3 Gdzie jest mój błąd? # Przekonanie Jeśli pojawił się błąd, to zrobiłem coś lub nie zrobiłem czegoś, co ma bezpośredni związek z błędem # Zachowanie W pierwszej kolejności szukam przyczyn błędu najpierw w swoim kodzie Strefa Wiedzy Lidera IT 54

Przypadek #4 Brak pomysłów na rozwiązanie # Czy najlepsze pomysły, przychodzą programiście do głowy przed komputerem? Strefa Wiedzy Lidera IT 55

Przypadek #4 Brak pomysłów na rozwiązanie # Warunkowanie klasyczne Bodziec => stan psychofizyczny => skupienie na konkretnym problemie # Strategia: Gdy brakuje ci pomysłów na rozwiązanie: Fizycznie zmień miejsce, otoczenie Zacznij inaczej się poruszać Strefa Wiedzy Lidera IT 56

Kim jest Lider? # Tożsamość Lider # Przekonania Sukces zespołu jest moim sukcesem Muszę dbać przede wszystkim o to, aby ludzie mogli sprawnie wykonywać swoją pracę # Zachowania Stale monitoruje postępy prac Pyta o problemy Zachęca zamiast wyręczać Poznaje swoich ludzi Strefa Wiedzy Lidera IT 57

Przypadek #5 Zespół inne niż wszystkie Lider 1, Lider 2, Lider3, Lider 4 Lider 5 Są skupieni na szybkim zakończeniu swoich zadań Nie przeprowadzają spotkań zespołowych lub są one sporadyczne Przeprowadza regularne spotkania zespołowe Omawiane są nowe pomysły Wprowadzane są w życie nowe idee Zespoły 1, 2, 3, 4 Zespół 5 Nieciekawe zadania Brak motywacji Duża rotacja Wszyscy chcą tam pracować Jest źródłem zmian Ten sam skład od dłuższego czasu Strefa Wiedzy Lidera IT 58

Przypadek #6 Programujący lider Strefa Wiedzy Lidera IT 59

Wnioski # Różnica tkwi w Przekonaniach Strategiach postępowania Strefa Wiedzy Lidera IT 60

Promowanie tożsamości w zespole Od Kodera przez Developera do Lidera

Promowanie tożsamości Kodera # Rola przełożonego Nauczyciel # Działania Szkolenie techniczne Włączanie do zespołu Przydzielanie coraz bardziej złożonych zadań # Motywowanie Kolejne technologie, frameworki Finansowe Różnicowanie projektów i zadań Strefa Wiedzy Lidera IT 62

Promowanie tożsamości Dewelopera # Rola przełożonego Coach # Działania Tworzenie warunków, w których ludzie wiedzą, że robią coś ważnego Nieustanne zadawanie pytania Co proponujesz Przesuwanie w stronę klienta # Motywowanie Nowe narzędzia mentalne TDD, DDD, Wzorce projektowe, Techniki Pracy z kodem Wprowadzanie ról mentorów, coachów technicznych Refaktoryzacja Strategiczny rozwój architektury Utylizowanie energii np. zadania specjalne Strefa Wiedzy Lidera IT 63

Promowanie tożsamości Lidera # Rola przełożonego Przewodnik # Działania Nieustanne zadawanie pytania: Co trzeba zrobić, aby zespół pracował lepiej # Motywowanie Odrywanie od zadań technicznych Eksplorowanie strefy miękkiej Strefa Wiedzy Lidera IT 64