Product Engineering — od dewelopera do budowniczego produktów
TL;DR: Product Engineering to naturalne rozszerzenie roli fullstack developera o kompetencje produktowe: rozumienie użytkowników, analizę feedbacku, pricing i strategię. AI dramatycznie obniża próg wejścia, a zasada 80/20 pozwala szybko nabywać nowe umiejętności bez głębokiej specjalizacji. W materiale trzy konkretne umiejętności AI: radar na pomysły (agenci skanujący Reddit), AI code review i Notebook LM do feedbacku.
TL;DR
Product Engineering to naturalne rozszerzenie roli fullstack developera o kompetencje produktowe: rozumienie użytkowników, analiza feedbacku, pricing, strategia. AI dramatycznie obniża prog wejścia -- zasada 80/20 pozwala szybko nabywać nowe umiejętności bez głębokiego specjalizowania się. (Staff TLM w Waymo, ex-Allegro, founder Couple Room ze 150K instalacji) pokazuje trzy konkretne AI skille: radar na pomysły (agenci skanujący Reddit), AI code review i Notebook LM do feedbacku.
Kluczowe koncepcje
Kim jest Product Engineer?
Tradycyjny inżynier fokusuje się na kodzie -- skalowalność, architektura, algorytmy, frameworki. Product Engineer robi to wszystko, ale DODATKOWO:
"Fokusuje się na użytkownikach, dostarcza value. Kod jest narzędziem, ale nie jest celem samym w sobie. Rozumie w ogóle dlaczego my to budujemy. To bardzo zmniejsza szanse, że zbudujemy coś, co nie jest nikomu potrzebne." -- Kluczowe kompetencje Product Engineera poza kodem:
- Analiza danych -- nie tylko metryki techniczne, ale analiza feedbacku od ludzi
- Rozumienie strategii produktowej -- pricing, pozycjonowanie, roadmapa
- Rozumienie biznesu -- dlaczego budujemy, dla kogo, jaki jest ROI
- Rozmowa z użytkownikami -- wywiady, ankiety, analiza opinii
"Analiza danych jest w spektrum inżynieringu, ale na przykład analiza feedbacku od ludzi już mniej. Albo rozumienie pricingu -- to są rzeczy, które nie są oczywiste, a są krytyczne w product engineeringu." -- ### Trzy AI skille Product Engineera
Skill 1: Radar na pomysły -- agent skanujący Reddit (LangChain)
Sebastian zbudował agenta w LangChain do researchu rynku dla swojej aplikacji Couple Room (gra dla par, 150K instalacji):
"Naszym problemem było to, że chcieliśmy jak najlepiej dostosować content do par -- odkryć jakie te pary mogą mieć problemy, jakie mogą mieć chęci o czym rozmawiać. Naturalnym miejscem, gdzie dużo osób zadaje pytania często anonimowe, jest Reddit."
Jak działa agent:
# 1. Definiujemy model LLM
llm = ChatOpenAI(model="gpt-4")
# 2. Definiujemy narzędzia (tools)
tools = [
DuckDuckGoSearchTool, # wyszukiwarka (darmowa)
FileWriteTool # zapis wyników
]
# 3. System prompt
prompt = """Jesteś doświadczonym analitykiem rynku SaaS
i ekspertem w wyszukiwaniu innowacyjnych pomysłów.
Przeszukaj Reddita, szukaj startup ideas,
skup się na realnych problemach."""
# 4. Budujemy agenta z executorem
agent = create_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools)
Jak to działa w praktyce:
- Agent sam decyduje jakie zapytania wpisać w wyszukiwarkę
- Np. "personal finance problems reddit", "small business challenges"
- Przeszukuje internet aż uzna, że ma wystarczająco contentu
- Generuje listę pomysłów/inspiracji
- Output: lista powtarzających się problemów i wzorców
"Przeczesywaliśmy duże zbiory danych i staraliśmy się z tego wyłuszczać jakieś powtarzające się wzorce." -- Use case'y dla inżynierów:
- Skanowanie issues/discussions na GitHubie dla konkretnych frameworków
- Szukanie problemów w ekosystemie React/state management
- Walidacja pomysłów: "Fajnie, jeśli ten swój problem też jest potwierdzony, że 100 innych osób zadało to samo pytanie na Reddicie"
LangChain -- platforma do budowania agentów:
- Gotowe konektory (tools) do: wyszukiwarek, GitHuba, Gmaila, baz danych, MCP
- Wektorowe bazy danych do embeddingów
- LangSmith do observability i monitorowania agentów
- Agent loop: cel -> planowanie kroków -> wykonanie -> obserwacja -> powtórz/zakończ
Skill 2: AI Code Review -- kursor/Code Rabbit w CI/CD
Problem solo foundera/małego zespołu:
"W momencie kiedy jesteś jedyna osoba, która widzi kod i chcesz szybko iterować, często zdarza się debug code w repo, zakomentowany kod, który nie powinien być komitowany. Normalnie adresujemy to w zespołach code review, ale czekanie na code review tygodniami to duży problem." -- Narzędzia:
- Cursor Bot -- aplikacja GitHub, automatyczny review po każdym PR
- Code Rabbit -- alternatywa, też dobre rezultaty
- Integracja w pipeline CI/CD -- ten sam step co testy unitowe
Co wyłapuje AI code review:
- Hasła zapisane plain text w local storage
- Bypass login method (obejście autentykacji)
- Zakomentowany/odkomentowany debug code
- Race conditions w useEffect
- Odwołania do null
- Nieprawidłowe użycie API (np. Firebase signup)
"W przypadku Cursor Bot, w komentarzach jest link, który otwiera Cursora z promptem do naprawienia tego błędu."
Ważne zastrzeżenie:
"Nie wiem, czy bym się odważył [merdzyowac bez ludzkiego review]. W momencie kiedy to jest jedyna opcja, to uważam że lepszy jest AI code review niż zero code review. Ale traktuję to jako tylko dodatek." -- Przykład z Couple Room:
- Kilka razy spadki konwersji z powodu błędów, które AI code review wyłapałby
- Przy aplikacjach mobilnych dodatkowy review Google/Apple, ale na to nie można polegać
Skill 3: Notebook LM -- jedno źródło prawdy z feedbacku
Problem: feedback jest rozproszony i chaotyczny:
- Reviewsy na Apple Store i Google Store
- DM-y na Facebooku
- Maile
- Wywiady z użytkownikami
- Ankiety i eventowe dane z aplikacji (BigQuery)
- Recency bias -- negatywny komentarz powoduje, że chcesz rzucić wszystko i naprawiać
"Coś co najbardziej mnie przeszkadzało to był trochę recency bias. Jak widzę negatywny komentarz, to nagle chcę rzucić wszystko i naprawiać te jedna rzecz. Wykorzystanie LLMów do szerszego rozumienia różnych źródeł feedbacku pozwala to wypłaszczyć." -- Jak Sebastian używa Notebook LM:
- Źródła danych:
- Apple Store reviewsy -- link do podstrony z opiniami (always green, aktualne)
- Google Store -- zeskrapowane przez API, wklejone copy-paste
- Eventy z aplikacji -- zrzut z BigQuery, nawet w surowej formie
- Notatki z wywiadów z użytkownikami
- Kluczowa różnica vs ChatGPT:
- Notebook LM odpowiada TYLKO z wrzuconych źródeł
- Każda odpowiedź jest zlinkowana z konkretnym komentarzem/źródłem
- Brak halucynacji -- nie wymyśla feedbacku
- Przykładowe prompty:
- "Jaki ogólny sentyment użytkowników? Zacytuj dwa najbardziej entuzjastyczne i dwie najbardziej krytyczne opinie"
- "Jakie są powtarzające się problemy?"
- "Co użytkownicy mówią o pricingu?"
- Ważny insight z Couple Room:
- Feedback z wywiadów jest raczej pozytywny (ludzie chcą pomoc)
- Komentarze w Google/Apple są raczej negatywne z definicji
- Notebook LM pomaga zbalansować te perspektywy
"LLMy są też calkiem dobre w impersonifikowaniu, wcielaniu się w użytkownika i mówieniu w jego imieniu. Oczywiście wywiady są niezastąpione i musimy je robić." -- Biznesowy impact w Couple Room:
- 150 000 instalacji w 2 lata
- MRR przekraczający 10 000 PLN w piku
- Kluczowa decyzja produktowa wyciągnięta z feedbacku: ludzie chcą GRY, nie terapii par
"Im dalej analizowaliśmy ten feedback, tym bardziej nam wychodziło, że ludzie chcą po prostu gry. Więc to chyba był taki największy moment." -- ### Ścieżka kariery: od juniora do Product Engineera
Piotr z eksperci zmapował ścieżkę rozwoju inżyniera:
Junior -> Mid -> Senior -> [rozwidlenie]
|
+---------+---------+
| |
Specjalistyczna Menedżerska
(Staff, Principal) (EM, Head, VP, CTO)
Kluczowy insight: Kompetencje produktowe ("zielone mięśnie") są przydatne na KAŻDEJ ścieżce od poziomu Senior wzwyż:
"Niezależnie od tego, która ścieżkę wybierzemy, te mięśnie produktowe są mniej lub bardziej przydatne i nie są uniwersalnie dostępne na rynku. Wcale nie jest ich tak łatwo dostać." -- Piotr (eksperci)
Product Engineering w big tech:
"Inżynierowie, którzy są bliżej produktu, naturalnie stają się coraz bardziej -- dawane im są coraz bardziej odpowiedzialne rzeczy, coraz bardziej wchodzą w rolę lidowania, a nie tylko followowania." -- Sebastian potwierdził to z doświadczenia w Waymo, Allegro, GOGU -- te skille były kluczowe w każdym miejscu.
Cursor -- pro-tipy dla Product Engineerów
Pro-tip 1: Nie deleguj architektury
"Miałem bardzo źle doświadczenia, kiedy delegowałem wszystko. Kiedy miałem puste repo i powiedziałem mu 'zrób mi API' -- bardzo szybko dochodziłem do momentu, kiedy sam nie wiedziałem co się dzieje w repo. I LLM nie wiedział." -- Zasada: Ty nadajesz wizje i architekturę, AI pomaga w implementacji.
Pro-tip 2: Cursor Rules = onboarding dla LLM
# .cursorrules
- Używaj spacji zamiast tabów
- TanStack Query do requestów HTTP
- Zustand do state management
- Komentarze po angielsku
"Jak coś mi nie pasuje w danym outputcie, to bardzo często dodaję do rules: hej, nie rób mi tego w ten sposób. I następnym razem się nie powtarza." -- Repozytorium z gotowymi rules: awesome-cursor-rules na GitHubie.
Pro-tip 3: Dodawaj kontekst biznesowy
"Duży boost w jakości generowanych rzeczy miałem, kiedy byłem też PMem i dodawałem kontekst biznesowy. Zamiast 'zaimplementuj dark mode' -- 'Mam użytkowników, którzy chcą grać wieczorem i chcą mieć dark mode'." -- ## Jak to wdrożyć
- Zbudować agenta LangChain do skanowania Reddit/GitHub Issues pod potencjalne produkty SaaS dla e-commerce
- Wdrożyć AI code review (Code Rabbit lub Cursor Bot) w pipeline CI/CD dla wszystkich repozytoriów
- Stworzyć Notebook LM z feedbackiem klientów zespole -- opinie, tickety, notatki z callov
- Dodać Cursor Rules do każdego projektu z kontekstem stacku i standardów zespole
- Promować ścieżkę Product Engineera w zespole -- warsztaty z Product Discovery dla devów
- Zachęcać developerów do uczestnictwa w wywiadach z klientami (pair interviews z PMem)
Narzędzia i komendy
| Narzędzie | Zastosowanie | Poziom trudności |
|---|---|---|
| **LangChain** (Python) | Budowanie agentów do researchu | Średni (wymaga Pythona) |
| **DuckDuckGo Search Tool** | Darmowa wyszukiwarka dla agentów | Niski |
| **Notebook LM** (Google) | Agregacja feedbacku, rozmowa z danymi | Niski |
| **Cursor + Rules** | AI-assisted coding z kontekstem projektu | Niski |
| **Code Rabbit** | Automatyczny code review na PR | Niski (integracja GitHub) |
| **Cursor Bot** | Code review + linki do fixów w Cursorze | Niski (integracja GitHub) |
| **awesome-cursor-rules** | Gotowe cursor rules dla różnych stacków | -- |
LangChain -- szybki start
pip install langchain langchain-openai duckduckgo-search
# Wymagane: OPENAI_API_KEY w .env
Konfiguracja Code Rabbit
- Dodaj aplikację Code Rabbit do repozytorium GitHub
- Każdy PR automatycznie otrzymuje AI review
- Komentarze z linkami do problematycznych linii kodu
Powiązane tematy
- 01-ai-product-sprint -- Pełny workflow AI Product Sprint
- 03-feedback-i-walidacja -- Szczegóły zbierania feedbacku z AI
- langchain-agenci -- Budowanie agentów w LangChain
- cursor-rules -- Zaawansowane Cursor Rules
- role-w-zespole -- Product Builder vs tradycyjne role