Większość z Was pewnie wie doskonale co oznaczają trzy słowa w tytule. Pozostałych odsyłam tutaj. Prawie każdy programista na pewnym etapie swojego rozwoju (o którym świetnie piszę Procent tu, tu i tu) cierpi na chorobę pisania wszystkiego od nowa. Wydaje mi się, że wynika to z ogromnej pychy, która jest niezbywalną cechą programistów – “przecież ja zrobiłbym to lepiej!”. Łatwo potępiać takie postępowanie, kiedy patrzy się na nie z perspektywy wielu lat doświadczenia – że bez sensu, że szkoda czasu, że przecież są ludzie mądrzejsi.

Tu mała dygresja, żeby nie pozostawiać wątpliwości – szczerze nienawidzę syndromu “not invented here” w odniesieniu do inżynierii oprogramowania jako dziedziny przemysłu. NIH w firmach nie sprawdza się prawie nigdy.

Z drugiej strony jednak uważam, że podejście to ma swoje zalety i, odpowiednio zastosowane, może być wartościowe. Według mnie “not invented here” drzemiące gdzieś w zakamarkach duszy programisty zachęca go do podejmowania twórczych działań w celu zmiany otaczającego go świata. Być może delikwent taki nie napisze od postaw kolejnego framework-u Dependency Injection, ale zrobi coś, aby ten, którego używa był lepszy. A wszystko po to, aby uciszyć wyrzuty sumienia, w którym tkwi ziarno “not invented here”.

Kolejną zaletą wymyślania koła na nowo jest fakt, że jest to świetna metoda nauki nowych technologii i koncepcji. Żadna książka i żadne szkolenie nie zastąpi zaimplementowania dobrze znanej funkcjonalności za pomocą nowej technologii.

I tym optymistycznym akcentem chciałbym zaanonsować nowy cykl notek na tym blogu: moja własna szyna usług. Temat ten został ostatnio spopularyzowany przez Ayende Rahien, który pogardził nServiceBus Udiego Dahana oraz MassTransit-em i podjął się budowy własnej szyny. Idąc więc za ciosem, ja również będę miał własną szynę. A co!?!:)

VN:F [1.8.7_1070]
Rating: 0.0/5 (0 votes cast)