Pragmatyczny developer
ARKADIUSZ KONDAS
Backend Team Leader
@ Da Vinci Studio
Zend Certified Engineer
Code Craftsman
Blogger
Ultra Runner
@ ArkadiuszKondas


itcraftsman.pl


Zend Certified Architect

Agenda:
- Ja
- Zespół
- Społeczność
Ja
Pragmatyczna filozofia
Pragmatyzm – system filozoficzny, którego podstawowym elementem jest pragmatyczna teoria prawdy, uzależniająca prawdziwość tez od praktycznych skutków, przyjmująca praktyczność za kryterium prawdy. Pragmatyzm przyjmuje wynikające z przyjmowania tez skutki i ich użyteczność za kryterium prawdy.
Potocznie pragmatyzmem nazywana jest także postawa, polegająca na realistycznej ocenie rzeczywistości, liczeniu się z konkretnymi możliwościami i podejmowaniu działań, które gwarantują skuteczność.
Co to znaczy być pragmatycznym ?
- Dociekliwość
- Krytyczne myślenie
- Reagowanie na nowości (zmiana warsztatu)
- Realizm
- Nowe wyzwania
- Ciągły rozwój i nauka
Narzędzia

Mózg to twoje jedyne wartościowe narzędzie
Daniel Suarez
Narzędzia
System operacyjny
Powłoka
find . -name '*.c' -newer Makefile -print
scp user@host:remote/path local/path
mysqldump --user=john -p books > books.sql
find -size -100c -type f -printf "%p %s B\n"
Narzędzia
IDE - Integrated Development Environment

Narzędzia
Język

Narzędzia
Framework






Wiedza
Inwestycja w wiedzę zawsze przynosi największe zyski.
Benjamin Franklin
Wiedza - książki
- Pragmatyczny programista
- Mityczny osobomiesiąc
- Wzorce projektowe (Gang of Four)
- TDD. Sztuka tworzenia dobrego kodu
- Mistrz czystego kodu
- Software Craftsmanship
- Refaktoryzacja
- Czysty kod
- Pułapki myślenia. O myśleniu szybkim i wolnym
Klasyka:
Wiedza - blogi
- http://blog.cleancoder.com/
- http://blog.codinghorror.com/
- https://davidwalsh.name/
- http://www.martinfowler.com/
- http://www.joelonsoftware.com/
- https://www.toptal.com/blog
- http://blog.agiledeveloper.com/
- http://devstyle.pl/
- http://gynvael.coldwind.pl/?blog=1&lang=pl


feedly.com
Wiedza - Social Media

@unclebobmartin
@KentBeck
@coderabbi
@martinfowler
@codinghorror
@spolsky
@mollydotcom
@rosstuck
@shanselman
@s_bergmann
@mariuszgil
@andrzejkrzywda
@_ericelliott
@venkat_s
Grupy na FB
Praktyka

Praktyka - Kata

- codingkata.org
- codekata.pragprog.com
- codekata.com
- codewars.com
- codefights.com
- codingame.com
Praktyka - Własny projekt



Praktyka - Kontrybucja

Czas

Znajdowanie czasu
- znajdź cel
- śledź swój harmonogram
- ogranicz "pustą" rozrywkę
- 30 minut przed snem
- Kindle, iPad, Smartphone
- audiobooki i podcasty
- spotkania z community
- świeże powietrze (a.k.a. rusz tyłek)
Zespół
Zespół
W grupie L Stoffel nadzoruje pracę sześciu doskonałych programistów
— to dla menedżera wyzwanie porównywalne do pilnowania grupy kotów.
The Washington Post Magazine,
9 czerwca 1985
Stand-up / daily
- 
	Co robiłem ?
- 
	Co będę dziś robił ?
- 
	Czy coś mnie blokuje ?
Maksymalnie 15 minut !
Stand-up / daily
- 
	Stała pora
- 
	Kary za spóźnienia
- 
	Nie odpuszczamy
- 
	Nawyk
Retrospektywa
- 
	Co poszło dobrze
- 
	Co poszło źle
- 
	Co poprawiamy
- 
	Konkretne taski
Retrospektywa

Code review

Code review
Przeglądanie lekkie:
 
do 200-400 wierszy kodu
do 300-500 wierszy na godzinę
do 30-60 minut
nie ma za małych zmian
Programowanie w parach
- nie ma sztywnych zasad
- lepsza jakość kodu
- częsta zmiana "nawigatora" (attention span)
- mieszanie poziomów doświadczenia (motywacja)
Programowanie w parach
- strefa intymna (45 cm)
- wspólne narzędzia (hardware i software)
- słabnąca synergia
- nie każde zadanie
- brak przekonania (złe nastawienie)
Baza wiedzy
strona/blog/gitlab
Certyfikaty i szkolenia
| Ruby on Rails | Certified Ruby Programmer | 
| PHP | Zend Certified Engineer | 
| JavaScript | CIW Web Development Series, W3Schools | 
| NodeJS | ATG Certified | 
| Python | O'Reilly School of Technology | 
| Java | Oracle Certified Professional Java SE Programmer | 
| ASP.Net MVC | Microsoft's MCTS: Web Applications Development with Microsoft .NET Framework 4 | 
| Objective-C | Brain Measures, Expert Rating | 
Certyfikaty i szkolenia
MOOC - Massive Online Open Courses
Udacity
Coursera
Społeczność
Konferencje i meetupy
sporo w naszym regionie, najczęściej darmowe

Warsztaty

Warsztaty
- 
	wewnętrzne
- 
	na zamówienie
- 
	konferencje
Hackathon

Hackathon
https://challengerocket.com

Zacznij i przekonaj innych
Od czego zacząć ?
- Zdobądź zaufanie
- Nabierz doświadczenia
- Zachęcaj innych własnym przykładem
- Jeden front na raz
- Kolejna iteracja
Pytania ?

Dziękuję za uwagę
@ ArkadiuszKondas
itcraftsman.pl



https://slides.com/arkadiuszkondas
Pragmatyczny developer
By Arkadiusz Kondas
Pragmatyczny developer
Co to jest pragmatyzm i jak można być pragmatycznym programistą. Przegląd narzędzi, technik i metodyk jakie każdy developer może i powinien znać. Zakres prezentacji obejmuje jednostkę, zespół i społeczność.
- 1,893
 
   
   
  