a
a
aizatto.com
Build.my
GitHub
Linkedin
Notion
Search…
aizatto.com
Table of Contents
Portfolio, Projects, Tools, Toys
Interview Guide
Engineering Code
Communication
Different Types of Coding
Commit Messages
Reviewing Code
Writing Code
Engineering Code
Engineering Data
Pipelines
Configuration Files
Site Reliability Engineering (SRE)
Best Engineers
Engineering Management
Why GitBook?
Getting into Tech
Personal Goals
Daily Drivers
Contacting Me
Notes
AWS
JavaScript
Node.js
Software Engineering
Technical Due Diligence
Web Development
Archive
More on Notion
Powered By
GitBook
Engineering Code
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
Build tools to measure the funnel
If you can't measure it. You can't improve it.
Build it into a chart.
See
Pipelines
​
Funnel Data Structure
Table
Source
Destination
Time
1
2
2015-11-05 12:33:41
1a
2
​
1b
2
​
2
3
​
2
4
​
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
Frustrating
Burns out people
Introduced as:
Complexities
Inconsistencies
Non standardization
Gotchas
Surprises
Patches
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
Processes
We should engineer the processes out. Automate them. That is what engineering does best.
Communication Overhead
We should engineer reducing communication overhead.
Non Reproducible Steps
We should engineer reproducible steps.
Synchronous Knowledge Sharing
We should engineer asynchronous knowledge sharing.
Previous
Other rules
Next
Engineering Data
Last modified
3yr ago
Copy link
Contents
Engineers make complex systems simple
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
Build tools to measure the funnel
Funnel Data Structure
Steps can change, moved, and removed
Steps can be parallized
Tests, Monitoring, Alerts
Reduce Technical Debt
Maintaining/Managing States is a PITA
What slows down momentum