Organization, Estimations & Methodology
- Complex problems might lead to over engineering
- Discovery requires time
- Premature optimization is procrastination
- Fully implementing unknown tasks can be bad
- Task stages can be known or unknown
- There are two types of work
- One can only estimate imagined work
- Aggressive timekeeping in meetings reduces meeting time
- Glue work
- glue work is often underappreciated
- Building in public
- Learning in public
Software Design Philosophy & Simplicity
- Banana software
- Duck Features
- Don’t strive for perfect
- Cutting scope can ensures software quality
- Content history is a core feature
- Employability is mostly about your experiences
- Llms bring skill atrophy to programmers
- Schrödinger Backups
Boring software
- Software should be delightfully boring
- Principle of least surprise
- The principle of least surprise frees up mental load
- ideas to create boring software
- Last responsible moment
- Frighteningly interesting software
- Micro services should not be the default
- Keeping things simple is a skill
- Over engineering is bad for a project
Growth work
- growth work
- growth work should not interfere with base work
- growth work broadens your experiences
- growth work is compounding
- growth work should be optional and be freeing
Incremental development
Product design & UX
- Button state vs Button action
- Be resilient against feature requests
- Cutting features can improve a product
- A product should be simple and easy to use
- Features are either valuable or waste
Observability
- Logs
- Traces
- Traces are sequences of logs
- Traces can slow down a program
- logs and traces can contain PII
Structured and unstructured logging
- Structured logging
- Semi structured logs
- Tools unleashes the power of structured logging
- structured logs are hard to read as a human
- Structured logs explode in size
Architectures
Data & Data structures
- Personal Identifiable information (PII)
- Data pagination
- Offset Pagination
- Keyset pagination
- data informed, not data driven, in regards to metrics
Devops
- A successful infrastructure is one you forget about
- Self documenting systems
- Basic documentation is a must for system administration