Partia nr 0047, rozlew październik 2026
Kod długo dojrzewający w naszych głowach.
Jedyny taki software house w Polsce.
sprawdzaliśmy ręcznie, w Panoramie Firm z 2009 roku
Warzymy oprogramowanie ręcznie, w małych partiach, z lokalnych składników. Bez sztucznej inteligencji. Bez sztucznych terminów. Właściwie bez żadnych terminów.
Zaufali nam Zaufają nam
Te firmy jeszcze nie są naszymi klientami. Zostaną nimi, jak tylko zrozumieją, że AI to był błąd. Czekamy cierpliwie, jak na dobry kod.
- Apple
- Microsoft
- Amazon
- NVIDIA
- Meta
- Tesla
- Samsung
- IBM
- Netflix
- Oracle
- Intel
- Printu
- Patronite
Nazwy firm użyte bez ich wiedzy i zgody. Prawdziwe logo narysujemy, jak podpiszą umowę.
Każdy średnik stawiamy ręcznie.
Nasi programiści nie korzystają z autouzupełniania, podpowiedzi ani podświetlania składni. Kolory odwracają uwagę od smaku. Kod najpierw powstaje w zeszycie, potem przepisujemy go do Notatnika, a potem jeszcze raz, bo Notatnik się zawiesił.
Pętla obok ma błąd o jeden. Zostawiliśmy go celowo. To nasza sygnatura, jak osad na dnie butelki.
// pisane 14.03, po drugiej kawie
function policzFakture(klient) {
let suma = 0; // TODO zapytać Zacheusza
for (let i = 0; i <= klient.pozycje.length; i++) {
suma += klient.pozycje[i]?.cena ?? 0
}
const ai = new Copilot() NIGDY!!
return suma * 1.23 // VAT, chyba
}
Spisany ręcznie w nocy z 3 na 4 marca, przy jednej świeczce
Manifest przeciw sztucznej inteligencji
Kod z AI jest jak piwo z koncernu. Równy, tani, wszędzie smakuje tak samo i nikt nie pamięta, kto go zrobił. My wierzymy w kod mętny, nierówny i za każdym razem trochę inny, nawet z tego samego commita.
| Koncernowy kod z AI | Kraftowy kod | |
|---|---|---|
| Czas powstania | 4 sekundy | 4 kwartały |
| Kto pisze | model językowy w Kalifornii | Tadeusz, w swetrze |
| Komentarze | poprawne gramatycznie | // NIE RUSZAĆ!!! działa i nie wiem czemu |
| Testy | generowane automatycznie | modlitwa przed wdrożeniem |
| Błędy | przypadkowe | autorskie, numerowane, sygnowane |
| Ślad węglowy | centrum danych wielkości miasta | lampka biurkowa i czajnik |
| Smak | brak | wyraźny, lekko spalony |
-
I.
AI pisze funkcję w cztery sekundy. My w cztery miesiące. Zgadnij, którą bardziej docenisz.
-
II.
AI nie pamięta, co napisało wczoraj. My pamiętamy każdą linijkę od 2014 roku i wspominamy ją z żalem.
-
III.
AI wymyśla biblioteki, które nie istnieją. My używamy wyłącznie takich, które przestały istnieć.
-
IV.
AI pisze kod bez literówek. Gdzie w tym dusza? Gdzie ręka mistrza, która drży nad średnikiem?
-
V.
AI nigdy nie zostaje po godzinach. Tadeusz został po godzinach w 2017 roku i jeszcze nie wyszedł.
-
VI.
AI odbiera pracę programistom. My ją dajemy: po każdym naszym projekcie klient zatrudnia dwóch kolejnych, do poprawek.
-
VII.
Kiedy AI się myli, przeprasza. My nie przepraszamy nigdy. To nie bug, to terroir.
-
VIII.
AI uczyło się na cudzym kodzie. My też, ale przepisaliśmy go ręcznie, więc to się liczy.
Podpisano własnoręcznie:
Tadeusz
Zacheusz
Mateusz (w imieniu stażystów)
Jak warzymy kod
Tradycyjna metoda, przekazywana z seniora na juniora. Junior zwykle odchodzi po trzecim etapie.
-
1
Słodowanie wymagań
Klient mówi, czego chce. Odkładamy to na dwa tygodnie, żeby wymagania nabrały głębi.
-
2
Zacieranie
Trzygodzinne spotkanie, które mogło być mailem. Z tego powstaje brzeczka, czyli backlog.
-
3
Chmielenie
Dodajemy frameworki JavaScript w trzech etapach: na goryczkę, na smak i na aromat node_modules.
-
4
Fermentacja otwarta
Kod leży w branchu feature/final-final-v2, aż sam zacznie działać.
-
5
Leżakowanie
Code review trwa sześć tygodni. Recenzent czyta każdą linijkę na głos, w odpowiedniej temperaturze.
-
6
Rozlew na produkcję
W piątek o 16:45. Tradycja zobowiązuje.
Na produkcji
Ceny za roboczogodzinę. Roboczogodzina trwa tyle, ile trzeba.
-
Monolit Porter380 zł/h
Ciemny, gęsty, nie da się go podzielić. Jeden plik, 48 000 linii.
-
Microservices Sour47 × 90 zł/h
Kwaśny i orzeźwiający. 47 serwisów, żeby wyświetlić „Hello World”.
-
Legacy Lagerwycena po obejrzeniu
PHP 5.3, klasyka gatunku. Nikt nie pamięta, kto go uwarzył.
-
Spaghetti Stout290 zł/h
Z wyczuwalną nutą makaronu i goto. Podawany z sosem z globalnych zmiennych.
-
Agile Hazyryczałt, który rośnie
Mętny jak zakres projektu. Każdy łyk to nowy sprint.
Dodatki
- Wydruk kodu na papierze czerpanym+0,40 zł/linia
- Komentarze pisane kaligrafią+15%
- Dokumentacjanie prowadzimy
- Kod na dyskietce (kaucja zwrotna)0,50 zł
- Zmiana koloru przycisku120 rbh
- EFT za kodwliczony w cenę
Co mówią degustatorzy
„Projekt miał trwać trzy miesiące. Trwa czwarty rok. Ten aromat czuć w całym biurze.”
„Zamówiliśmy wydruk kodu. 4 000 stron. Ociepliliśmy nim magazyn.”
„Poprosiłem o poprawkę literówki. Dostałem wycenę i list o etosie rzemieślnika.”
Specyfikacja techniczna, spisana długopisem
Stack technologiczny. Ręcznie warzony.
Pełna lista technologii, w których realizujemy projekty. Każdą opanowaliśmy z dokumentacji w wersji drukowanej, bo kursy online polecał nam algorytm. Na pytanie, czy znamy daną technologię, zawsze odpowiadamy twierdząco.
Kompetencje zespołu
Poziom umiejętności w skali od 0 do 5 szyszek chmielu. Każdy ocenił się sam, bez code review.
Najpierw poznaj nasz zespół, zanim zobaczysz, co potrafi
Tadeusz
Mistrz Warzenia Kodu
- Architektura monolitów●●●●●
- COBOL z pamięci●●●●●
- PHP, wszystkie wersje naraz●●●●●
- Pisanie kodu bez komputera●●●●●
- Wszystkie 23 wzorce projektowe w jednej klasie●●●●●
- Procedury składowane na 3 000 linii●●●●●
- Kompilowanie w głowie●●●●●
- Przepisywanie wszystkiego od zera●●●●●
- Szacowanie czasu pracy●●●●●
- Nawiasy klamrowe●●●●●
Zacheusz
Sommelier Bugów
- Degustacja stack trace'ów●●●●●
- Opisywanie bugów (nuty, bukiet, finisz)●●●●●
- Debugowanie przez console.log●●●●●
- Testy manualne na produkcji●●●●●
- Czytanie logów jak fusów●●●●●
- Klasyfikacja bugów według rocznika●●●●●
- Raporty o błędach na 12 stron A4●●●●●
- Odróżnianie buga od ficzera●●●●●
- Odtwarzanie bugów klienta („u mnie działa”)●●●●●
- Naprawianie bugów●●●●●
Mateusz
Stażysta od 2014
- Wdrożenia w piątek o 16:45●●●●●
- git push --force●●●●●
- Restartowanie serwera●●●●●
- Tłumaczenie się z git blame●●●●●
- Centrowanie diva (12. rok prób)●●●●●
- DELETE bez WHERE na produkcji●●●●●
- Rozwiązywanie konfliktów merge przez usunięcie cudzego kodu●●●●●
- Regexy, których nie rozumie nikt, łącznie z nim●●●●●
- Backup na pendrivie z breloczkiem●●●●●
- chmod 777, na wszelki wypadek●●●●●
Zależności
Wszystkie technologie pochodzą z lokalnego rejestru, czyli z dysku Tadeusza. Wersje przypięte na stałe, aktualizacje raz na sezon.
Języki programowania
baza słodowa
- JavaScript
- ES5 z domieszką ES2022. Typowanie dynamiczne, fermentacja w silniku V8, każde undefined deklarowane ręcznie.
- TypeScript
- Tryb strict wyłączony dla lepszej klarowności. Typy dodajemy na etapie rozlewu, najczęściej any.
- PHP
- Wersje od 5.3 do 8.3 równolegle na jednym serwerze. Leżakowany na Apache'u od 2004 roku.
- Python
- Wersja 2.7, rocznik limitowany. Wcięcia kalibrowane linijką: 4 spacje, plus minus nastrój.
- Java
- JDK 8, długie dojrzewanie w JVM. Flagowy AbstractSingletonProxyFactoryBean leżakowany trzy lata.
- C i C++
- Ręczne zarządzanie pamięcią: malloc przy zacieraniu, free, kiedy sobie przypomnimy. Wycieki traktujemy jak naturalny ubytek z beczki.
- Rust
- Borrow checker pełni funkcję kontroli jakości. Od 2021 roku nie przepuścił żadnej kompilacji.
- Go
- Goroutines uruchamiane równolegle, jak kilka kadzi naraz. if err != nil średnio 400 razy na plik.
- COBOL
- Receptura po dziadku Tadeusza, mainframe w piwnicy. Dokumentacja wyłącznie ustna.
- Asembler x86
- Dla koneserów niskiego poziomu. Podawany w rejestrach procesora, nie w kuflach.
- SQL
- Zawsze SELECT *, pełne spektrum kolumn. JOIN-y do siedmiu tabel w jednym zapytaniu.
- HTML
- Jest językiem programowania. Temat zamknięty, pull request z dyskusją odrzucony.
Frameworki i biblioteki
chmielenie
- React
- Wersja 16, komponenty klasowe. Każdy re-render wyzwalany ręcznie przez forceUpdate().
- AngularJS
- Gałąź 1.x, wsparcie zakończone w 2022 roku. Z wiekiem nabrał charakteru i cykli digest.
- Vue
- Options API, lekki profil. Dobry na start dla klientów bez doświadczenia z aplikacjami SPA.
- Svelte
- Kompiluje się do czystego JavaScriptu bez runtime'u. Minimalizm, który szanujemy, choć nie do końca rozumiemy.
- jQuery
- Wersja 1.12, ładowana trzykrotnie z trzech różnych CDN-ów dla pełni smaku.
- Next.js
- Aktualizowany co tydzień, bo co tydzień wychodzi nowa wersja główna i nowy router.
- Laravel i Symfony
- Ten sam ekosystem PHP, inne opakowanie. Migracje bazy uruchamiane ręcznie, po jednej.
- Django
- Panel admina w zestawie, ORM po filtracji. Pozostałe prace rozliczane godzinowo.
- Spring
- Konfiguracja w XML: 2 300 linii z własną dokumentacją. Czas startu aplikacji to jedna kawa.
- Tailwind CSS
- Klasy pisane ręcznie, jedna po drugiej. Bez @apply, bez łączenia, bez skracania.
- Bootstrap 3
- Siatka 12-kolumnowa, glyphicony w komplecie. Wiemy o wersji 5, ale trójka miała lepszą piankę.
Bazy danych
kultury drożdży
- PostgreSQL
- Szlachetny szczep relacyjny. Indeksy zakładamy po pierwszym zgłoszeniu wolnego zapytania.
- MySQL
- Kodowanie latin1, porównywanie znaków z czasów założenia firmy. Polskie litery traktujemy jak przyprawę.
- MongoDB
- Fermentacja bezschematowa. Struktura dokumentów stabilizuje się sama, z czasem.
- Redis
- Cache w pamięci na dane, które trzeba szybko schłodzić. TTL ustawiany na wyczucie.
- SQLite
- Jednoplikowa baza danych na produkcji. Kopia zapasowa przez skopiowanie pliku na pendrive.
- Oracle
- Wyłącznie na zamówienie specjalne. Licencja kosztuje więcej niż cała warzelnia.
- Excel
- Produkcyjna baza danych naszego największego klienta od 2011 roku. 1 048 576 wierszy, wszystkie zajęte.
Infrastruktura i DevOps
woda i linia rozlewnicza
- Docker
- Obrazy po 4 GB, budowane bez cache'a dla pełnej świeżości. Kontenery dojrzewają jak w dębowych beczkach.
- Kubernetes
- 47 podów obsługuje jedną stronę wizytówkę. Klaster pod nadzorem Mateusza.
- AWS, Azure, GCP
- Multi-cloud, wszystkie trzy naraz. Faktury drukujemy i oprawiamy w ramki.
- Serwer on-premise
- Stoi pod biurkiem Tadeusza, chłodzony wiatrakiem biurkowym. Uptime 99,9%, poza sezonem grzewczym.
- FTP
- Wdrożenia przez przeciąganie plików, ręcznie. Rollback tak samo, tylko w drugą stronę.
- Jenkins
- Serwer CI, ostatni build w 2019 roku. Nie wyłączamy go, bo nie wiemy, co jeszcze od niego zależy.
- GitHub Actions
- Jedyna dopuszczona automatyzacja. Nazywa się „akcje”, a akcja to czyn ludzki.
Narzędzia deweloperskie
sprzęt warzelniczy
- Vim
- Główny edytor zespołu. Nikt nie wie, jak z niego wyjść, więc sesja trwa od 2016 roku.
- Emacs
- Środowisko pracy Tadeusza. Nie zadajemy pytań.
- Notatnik
- IDE bez rozszerzeń, bez podświetlania składni i bez rozproszeń. Kodowanie ANSI.
- Git
- Każdy commit z komunikatem „fix”. Historia nieliniowa, merge'e we wszystkich kierunkach.
- Jira
- Workflow z 23 statusami. 1 400 zadań w kolumnie „Do zrobienia” i jedno w „Zrobione”.
- Stack Overflow
- Odpowiedzi przepisujemy ręcznie, znak po znaku, więc licencyjnie to nasz kod.
- Zeszyt w kratkę
- Główne repozytorium kodu. Replikacja do drugiego zeszytu raz w tygodniu.
Zablokowane zależności
- GitHub Copilot pisze za szybko
- ChatGPT, Claude, Gemini nie znają smaku
- Cursor mamy własny, od myszki
- Autouzupełnianie AI dla tchórzy
- Linter sami wiemy, co jest źle
- Prettier formatowanie to wyraz osobowości
- Testy jednostkowe podważają zaufanie
Warzelnia na Pradze, piwnica, drugie drzwi po lewej
Programujemy tak, jak robił to dziadek.
Dziadek nie programował. Ale gdyby programował, robiłby to ręcznie, w swetrze, przy świetle lampki i bez żadnego czatu. Kraftowy Kod powstał w 2014 roku w garażu, z miłości do dobrego kodu i niechęci do odpowiadania na maile.
Nie skalujemy się. Nie pivotujemy. Nie robimy disruptu. Robimy jedną partię kodu naraz i pozwalamy jej dojrzewać, dopóki klient nie przestanie dzwonić.
Mistrzowie warzenia
Trzy imiona, jedna końcówka. Zespół się nie powiększa, bo kandydat musiałby mieć imię na -eusz, a Piotr odpadł na rozmowie.
Tadeusz
Mistrz Warzenia Kodu
Pisze kod od 1997 roku. Wszystkie znaki zna na pamięć, oprócz nawiasów klamrowych.
Zacheusz
Sommelier Bugów
Po samym zapachu stack trace'a rozpozna rocznik frameworka. Bugów nie naprawia, opisuje ich bukiet.
Mateusz
Stażysta od 2014
Odpowiada za wszystko, co się zepsuło. Na umowie o dzieło, dzieło jeszcze trwa.
Kronika warzelni
- 2014
Zakładamy firmę w garażu. Pierwszy tydzień schodzi na wybór czcionki do logo.
- 2016
Pierwszy commit. Wiadomość: „init”. Do dziś najczytelniejszy fragment repozytorium.
- 2019
Pierwszy klient.
- 2021
Drugi klient. Ten sam co pierwszy, wrócił po poprawki.
- 2023
Odmawiamy instalacji ChatGPT. Odłączamy też Clippy'ego, na wszelki wypadek.
- 2025
Zaczynamy ręcznie przepisywać node_modules. 847 312 plików, gotowe 12%.
Certyfikaty i nagrody
- Certyfikat „Bez AI”, wydany przez nas samych
- Złoty Średnik 2022, kategoria: najdłuższa linia kodu (1 840 znaków)
- Wyróżnienie za najdłużej otwarty pull request w Europie Środkowej
- ISO 9001 w trakcie, wniosek piszemy ręcznie
Odpowiadamy, gdy pomysł dojrzeje
Zamów degustację.
Opisz swój projekt. Przeczytamy go na głos, odłożymy do piwnicy i wrócimy do niego, kiedy nabierze charakteru. Zwykle trwa to od sześciu do ośmiu tygodni.
- Adres warzelni
- ul. Chmielna 404, 00-404 Warszawa
piwnica, zapukać trzy razy - Telefon
- +48 000 000 000
- dzwonić tylko w pełnię księżyca
- warzelnia@kraftowykod.pl
- drukujemy wszystkie maile i odpisujemy listownie
- Godziny otwarcia
- Pon–Czw: 10:00–14:00
- Piątek: deploy, prosimy nie dzwonić
Nie odpowiadamy na zapytania napisane przez AI. Poznamy po myślnikach.