#Engineering Code: Starting a New Project/Feature
#Engineers make complex systems simple
- Reduce complexity
- Becareful about increasing/introducing complexity
#Identify the funnel
#Identify each step in the funnel
#Within each step, identify the inputs, processes, and outputs
#See if the process can be broken down
#See if the process can be done in parallel
If you can't measure it. You can't improve it.
Build it into a chart.
#Funnel Data Structure
Having such a table means you can generate a graph.
Search online: Representing a graph in a database
#Steps can change, moved, and removed
#Steps can be parallized
#Tests, Monitoring, Alerts
Build these in.
Make it easy to do so.
#Reduce Technical Debt
Cons of Technical Debt
- Slows you down
- Slows down the team
- Harder to clean up the longer it exists
- Non standardization
- Death by a thousand commits
- Poor foresight
- Poor encapsulation
The road to hell is paved with good intentions
#Maintaining/Managing States is a PITA
Maintaining/managing states is a PITA.
When there are more states to maintain, it increases the complexity of the project.
#What slows down momentum