Product Development Guidelines
My personal & professional bookmarks, guidelines & documentation for modern product development
Engineering
🏗 DevOps
Git
- PRs (Pull Requests)
- Semantic Commits
- Git Workflow (basic)
- Gitflow: A successful Git branching model
- Git Tools - Rewriting History
Code Reviews
- Why review code?
- How to Do Code Reviews Like a Human (Part One)
- How to do a code review
- More Effective Code Reviews
- The (written) unwritten guide to pull requests
- Pull requests and code review
Heroku
⚙️ Backend
Ruby (on Rails)
Best Practices & Design Patterns
Service Objects
- A simple explanation of Service Objects for Ruby on Rails
- Using Services to Keep Your Rails Controllers Clean and DRY
- Rails Service Objects: A Comprehensive Guide
Controllers
- Memoizing
Testing
Migrations
REST APIs
Specifications
🖼 Frontend
Javascript
HTML & CSS
React
- Thinking in React
- Presentational and Container Components (Dan Abramov)
- React Cheat Sheet
- React Patterns
- How to fetch data in React
CSS-Modules
- CSS Modules
- CRA: Adding CSS Modules
- Getting started with CSS modules in React
- What are CSS Modules and why do we need them?
- What are CSS Modules? A visual introduction
State Management
- Hooks & Context API
- MobX
- Redux (react-redux)
- Leveling Up with React: Redux
- React Redux Tutorial for Beginners: The Definitive Guide (2019)
- Redux and React: An Introduction
- What Does Redux Do? (and when should you use it?)
- How Redux Works: A Counter-Example
- Redux Architecture and Best Practices
- Redux Ecosystem Links
- JSON:API resources for React + Redux
Testing
⭐️ Misc
📚 Books
Technical
- Refactoring (Martin Fowler)
- The Pragmatic Programmer
- Domain-Driven Design (Eric Evans)
- Domain-Driven Design Distilled
- Patterns of Enterprise Application Architecture (Martin Fowler)
- JavaScript: The Good Parts (Douglas Crockford)
- You Don't Know JS (Kyle Simpson)