Warsztat | | CC0 Public Domain | https://pxhere.com/pl/photo/623880

Software Craftsmanship w zespole technicznym

Dwa lata temu pisałem o pojęciu Software Craftsmanship i książce Sandro Mancuso która opisuje to pojęcie. Wtedy było dla mnie jeszcze nieco abstrakcyjne, więc nie opisałem praktycznych przykładów z własnego doświadczenia. Ostatnio, dzięki dołączeniu do istniejącego zespołu utrzymaniowego, miałem możliwość weryfikacji „rzemieślniczego” podejścia do używanych narzędzi i organizacji pracy. Specyfika pracy przy ponad 10 projektach w różnych fazach życia, z których najstarszy działa nieprzerwanie od 2005 (!) roku, wymaga od zespołu bardzo zdyscyplinowanego podejścia. W tym wpisie przedstawię 15 elementów które powinny być przestrzegane aby zespół techniczny sprawnie pracował.

Czytaj dalej
Onboarding checklist

„Checklista” przyjęcia nowej osoby do zespołu technicznego

W każdym zespole jest lista czynności, które trzeba wykonać żeby umożliwić pracę nowemu członkowi zespołu. Oczywiście może być ona tylko „w głowach” starszych kolegów (i koleżanek). Wtedy poszczególne czynności są wykonywane gdy któraś z tych osób sobie o czymś przypomni, albo zainteresowany się o coś upomni. Ale znacząco wygodniej jest taką listę przygotować i wykonać wcześniej, jeszcze zanim nowy kolega (lub koleżanka) pojawi się pierwszy raz w naszym pokoju. Unikałbym określenia „procedura”, bo brzmi korporacyjnie, ale w sumie do tego wszystko się sprowadza.

Czytaj dalej
JavaScript logo (openclipart.org)

Jak zostać programistą JavaScript?

Na początku 2015 roku (ponad 4 lata temu) starałem się w moim poście odpowiedzieć na pytanie Jak zostać programistą Java? Niedawno zostałem wywołany do odpowiedzi na podobne pytanie, tylko dotyczące języka JavaScript. I muszę przyznać, znalazłem się w sporym kłopocie…

Stało się tak z kilku powodów. Po pierwsze JavaScript na początku swojego istnienia traktowany był jak uproszczona „wersja” języka Java, przeznaczony tylko do „ożywiania” statycznych stron w języku HTML. Jednak obecnie zakres jego zastosowań może już przewyższać zastosowania Javy, łącznie z implementacją systemów serwerowych (tzw. backend). Dzisiejsze bardzo wygodne działanie popularnych dużych serwisów internetowych (np. FaceBook) czy aplikacji WWW (np. Gmail) zawdzięczamy właśnie JavaScript’owi.

Po drugie, obecna forma wyrazu języka JavaScript i wsparcie podejścia funkcyjnego dorównała, a nawet wyprzedziła na pewien czas Javę, która z opóźnieniem dodała te elementy do swojej składni (dopiero w wersji 8).

Po trzecie, mnogość frameworków, systemów budowania i innych bibliotek przytłacza ilością, w szczególności w stosunku do najpopularniejszego i prostego stosu w Javie: Spring, Hibernate i Gradle lub Maven.

Po czwarte, i to jest przedmiotem tego artykułu, ta cała mnogość wersji i narzędzi sprawa że ciężko określić zestaw wiedzy, dzięki której można by powiedzieć że zna się cały JavaScript…

Czytaj dalej
SegFault 2019 Gdańsk - identyfikator

SegFault 2019 Gdańsk – taka inna konferencja

W zeszłym tygodniu razem z reprezentacją e-point wzięliśmy udział w dwudniowej konferencji technicznej SegFault. Impreza była inna od popularnych krakowskich JDD, Geecon czy warszawskiego 4Developers, bo była bardziej kameralna (tylko dwie ścieżki), miała także warsztaty (pierwszego dnia). Na prezentacjach było poruszanych wiele tematów ogólniejszych niż same języki programowania czy konkretne biblioteki, raczej bliżej architektury i projektowania. Do wybory były 2 spośród 14 warsztatów, w grupach 16-25 osób.

Czytaj dalej
Hipotetyczny programista | CC0 Public Domain

Kiedy polscy programiści będą zarabiać tyle co na Zachodzie?

Pytanie z tytułu to temat z którym wielokrotnie spotykałem się w różnych rozmowach ze swoimi kolegami z pracy, kandydatami do naszej firmy oraz ze znajomymi z innych branż. Niniejszy artykuł nie jest podsumowaniem wyczerpujących badań naukowych, tylko prostym wprowadzeniem z podstaw ekonomii i gospodarki globalnej w IT dla początkujących :-). W praktyce jest to spisanie kilku dyskusji, które przeprowadziłem z kolegami i uznaliśmy za warte rozpowszechnienia, także po to żeby obalić niektóre mity.

Czytaj dalej
Strona główna scrum.org

Certyfikacja „Professional Scrum Master I”

W ramach rozwoju (lub raczej potwierdzenia ;-)) własnych kompetencji w zakresie zarządzania zespołem zdałem egzamin na certyfikat Professional Scrum Master I (pierwszy i najpopularniejszy z trzech możliwych stopni). Bardziej przyziemnym powodami była złożona kolegom obietnica „przetarcia ścieżki” i możliwość wykorzystania budżetu szkoleniowego w kończącym się roku… Poniżej szybkie how-to i czy warto.

Czytaj dalej
Glass building

Dlaczego software-house ma sens?

Software-house to typ firmy, która nie prowadzi własnego realnego biznesu, jak produkcja, handel czy usługi „dla ludności”, a zamiast tego dostarcza usługi tworzenia i utrzymania oprogramowania dla innych firm. Od kilkunastu lat pracuję w takiej firmie (e-point S.A.) i obserwuję jak działają zespoły programistyczne i jak dostarczają wartość dla klientów. Celem niniejszego artykułu jest przedstawienie dwóch perspektyw: dla klientów (firm) oraz dla pracowników software-house’u, czyli najczęściej programistów. Nie twierdzę że każdy software-house, ani że firma w której pracuję tak idealnie działa, to jest to pożądany stan docelowy :-).

Czytaj dalej
CC0 Public Domain https://pxhere.com/en/photo/723648

10 zasad profesjonalisty

20 lat pracy zawodowej skłoniło mnie do zebrania zbioru cech, które nazwałem roboczo „zasadami profesjonalisty”. Pracowałem już w bardzo różnych rolach i w różnych relacjach z innymi osobami: począwszy od przełożonych, poprzez współpracowników i przedstawicieli klientów, a skończywszy na pracownikach i podwykonawcach, także mój zbiór obserwacji wydaje się szeroki i wart zainteresowania.

Czytaj dalej