aizatto.com
  • aizatto.com
  • Table of Contents
  • Portfolio, Projects, Tools, Toys
  • Interview Guide
    • Choosing A Company
    • Job Boards
    • Practice
    • Technical Interview Cheatsheet
    • Interview Process
      • Questions to Ask
      • Coding
      • Soft Skills
      • Rejection
      • Negotiation / Deciding
      • Accepting, Joining
    • FAQ
  • Engineering Code
    • Communication
    • Different Types of Coding
    • Commit Messages
    • Reviewing Code
      • Requesting Changes
    • Writing Code
      • Consistency
      • Writing for a code base of 1,000,000+ Lines
      • Write Code Knowing It Will Be Refactored
      • Naming
        • Versioning
        • Create Searchable Names
      • Commenting
        • Don't commit commented code
      • Make It Easy To Reproduce
      • Scripts
      • 80 character limit
      • Exit Early
      • Be careful of enum in switch statements
      • Be careful about chaining conditions
      • Be careful of chaining ternary operators
      • Write Code Knowing You Will be Blamed
      • Hacks
      • Bad Practices
      • Logs
      • Time
      • Other rules
    • Engineering Code
    • Engineering Data
    • Pipelines
    • Configuration Files
    • Site Reliability Engineering (SRE)
    • Best Engineers
  • Engineering Management
    • Hiring
    • New Reports
    • 1:1s
      • Calibration
      • Expectations
      • Mentorship / Learning / Growing
      • Task Management
      • Teams
    • Interviewing Candidates
    • Messenger Groups
    • Resources
  • Why GitBook?
  • Getting into Tech
    • Terminology
  • Personal Goals
  • Daily Drivers
  • Contacting Me
  • Notes
    • JavaScript
      • Array
      • Async & Await / Promises
      • Booleans
      • Collections
      • Cons/Dislikes
      • fetch
      • Map
      • Modules
      • Object
      • Regex
      • Set
      • Style Guides
      • Versions
    • Node.js
      • Best Practices
      • DraftJS
      • eslint
      • GraphQL
      • Relay
      • Hapi
      • Knex
      • Koa
      • TypeScript
      • Webservers
    • Technical Due Diligence
    • Archive
      • Amazon Echo Dot (3rd Gen) with clock
      • Apple
        • AirPods Pro
        • Apple Notes
        • Apple Watch Series 4
        • iPad Pro 11" 2018
        • MacBook Pro 15" 2017
        • macOS
      • Audible
      • Balance
        • Growth vs Contentment
        • Leading vs Following
        • Mindful vs Mindless
        • New vs Old
      • Bags
      • Bandwidth Requirements
      • B2B/B2C
      • Blockchain
      • Board Games
        • Bang
      • Broadway
      • Cheap, Good, Fast
      • CLI
        • git
        • ufw
        • xargs
      • Cloud Providers
        • GCP
      • Communication
        • Asking Questions / Making Requests
        • Making Edits
        • Synchronous vs Asynchronous
        • Change Management
        • Problem Definition
      • Company
        • All Hands
        • The Problematic CTO
        • Organizational Structure
      • Content Creation
      • COVID 19/Corona Virus
      • Coworking Spaces
      • Daily Routine
      • Dating
      • Displays / Monitors
      • DNS
      • Domain Registrars
      • Driving
      • eCommerce
      • Empire Building
      • Facebook for Developers
      • Fever
      • Fiverr
      • Flights
      • Gaming Tablet
      • GitHub
      • GTD
      • Go Lang
      • Headsets
      • Hiking
        • Chamang Waterfalls
        • Kanching Waterfalls
        • Kota Damansara Community Forest Reserve
        • Sungai Chilling
      • Home Device Calling
      • iCalendar
      • Keyboards
        • Ergodox Ez
      • Malaysia Insurance
      • Mental Health Malaysia
      • Multiroom Wireless Speaker System
      • Musicals
      • Mouse
      • Movies
      • Password Managers
      • Phabricator
      • Physical Health
        • Cardio
      • Podcasts
      • Programming Bootcamps
      • Property
      • Productivity
        • Note Taking
      • Redang
      • Relationships
      • Referral Codes
      • Remote Calls
      • Remote Work
        • Comparison
      • Road Trips
      • Ruby / Ruby on Rails
      • Scraping
      • Slack
      • Stripe
      • Singapore
      • UX
      • Venture Builder
      • Video Games
      • Virtual Personal Assistant
      • VPN
      • WebDAV / CalDAV
      • WebSocket
      • Withings
      • Xiaomi Roborock Mijia
      • Old Hardware
        • Netgear R7000P
      • Web Development
        • React
        • SSO Providers
      • Software Engineering
        • Software Architectures
          • Monolithic
          • Non-Monolithic
            • Microservice
            • FaaS (Functions as a Service) or Serverless
        • Repository Management
  • More on Notion
Powered by GitBook
On this page
  • 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

Was this helpful?

  1. Engineering Code

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.

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.

PreviousOther rulesNextEngineering Data

Last updated 6 years ago

Was this helpful?

See

Pipelines