How to Organize an Engineering Department

I’ve spent a lot of time leading and being led in engineering departments, it’s the easiest thing in the world to have complaints about how things are run. I try to follow the idea of not making a complaint without a solution. Not having a job currently, I find myself in an unfamiliar situation to think about this: I have no structure bothering me at the moment. So, as I look for my dream job, I’ve decided to design my dream department. I will do my best to not make this the class president speech of a fourth-grader, declaring double recess and ice cream Fridays.

First, consider not actually having an engineering department. Engineers should be part of a team, not a team doing the bidding of some other team. The exception would be a small software company where the engineering team makes all of the decisions about the product, but even then, it’s probably better to call it product development, to account for growth. Before you rage close this tab, there should still be some engineering leadership defined, it’s just that it should be more of a sidecar than a container.

Diagram of Contents

  ---
config:
  look: handDrawn
  theme: neutral
---
stateDiagram-v2
    state "CEO" as ceo
    state "Head of Product Development" as product
    state "Head of Other..." as other
    state "Staff Testing Engineer" as stest
    state "Principal Engineer" as pe1
    state "Principal Engineer" as pe2
    state "Team Manager" as me1
    state "Team" as team1
    state "Team" as team2
    state "Staff Engineer" as staff
    state "Staff Product Owner" as spo

%% engineering board
    state "Engineering Board" as board
    state "Staff Engineer" as board
    state "Principal Engineer" as board
    state "Principal Engineer" as board
    state "Staff Testing Engineer" as board

%% product board
    state "Product Board" as pboard
    state "Staff Product Owner" as pboard
    state "Staff Engineer" as pboard
    state "Staff Product Owner" as pboard

    ceo --> product
    product --> board
    product --> pboard
    product --> staff
    product --> stest
    product --> spo

%% in case you didn't know the ceo has other departments
    ceo --> other
    other --> ?
    other --> ??
    other --> ???

Engineering Board

The engineering board has the following responsibilities: