.. _prologue-five-ws: Prologue - The Five "W"s ======================== Let's quickly get some quick front matter out of the way, starting with the three less-important questions (*who*, *when*, *where*), before we tackle the juicy bits (*what*, & *why*). If you don't care about who wrote this, already trust, and/or just want to get to the good stuff, see :doc:`/01/a-seat-at-the-table`. Who Wrote This? --------------- Hi. I'm `Daniel Lindsley `_. * I tend to go by either ``@toastdriven`` or ``@daniellindsley`` most everywhere. * Professional software developer since 2005. * I've held titles like *"Founder"*, *"Principal Engineer"*, *"Staff Software Engineer"*, *"Senior Software Engineer"*, etc. (but don't put too much faith in titles...) * Long-time OSS contributor to a bunch of projects. * Speaker at `PyCon `_, `DjangoCon `_, and elsewhere in the past. When Was This Written? ---------------------- End of 2024. Where Can This Be Found? ------------------------ A web-friendly version is hosted at https://greatengenv.rtfd.io/. The original source can be found at https://github.com/toastdriven/greatengenv. Why Did You Write This? ----------------------- When most businesses are started, there's **rarely** anything to follow. Beyond a few legal requirements and/or bits of documentation, there's precious little required. Much of the business' organization, & day-to-day, springs out of *past experiences* or *habits*. Especially in the case of start-ups, faced with a short runway and a *do-or-die* scenario, all the focus tends to be spent on getting the product/service out the door, & into customer's hands. This leads to organic growth, and *sometimes* good things can bloom from the result... **...But...** Frequently, that result is: * Highly-specific to the organization * Created from pain points experienced along the way * Unevenly distributed amongst teams, team members, etc. * Ungainly structures that **Work Now™** fall apart as scale increases * ...And you have to start all over again at the next job **So, with that in mind...** What *Is* This? --------------- This is **my** open guide on how to build the best damn **Engineering** department that you can. We'll cover: * How to standardize, ... * What to consider, ... * How to build for growth, ... * & how to create a non-hostile, fair, fun, productive workplace that you and others can love working at. What *Isn't* This? ------------------ **A Perfect Solution** There's no formula for the perfect workplace. I'm doing my best to adapt the cream of my many experiences, but not everything will work for everyone. **A Complete Solution** You'll have to work out some things for yourself. There may be blind spots, or things highly-custom to your environment you'll have to separately solve. **An Enterprise Grade™ Solution** I don't know the upper limits on the scalability of this (*largest I've personally seen most of this work in was a ~250 person department*). I don't have answers for if you have next-to-no control, or a heavily pre-defined department/organization. And I also don't know how well it'll work in otherwise highly-political, BS-heavy environments. ``YMMV.`` **Generated In Any Part By AI** No part of any of this document was generated by an artifical intelligence. The most advanced tool used was plain old spell-check, and has a **ZERO** tolerance policy for any AI contributions (LLM or otherwise) going forward. Still With Me? -------------- If you're still here, thanks! I hope some/any/all of this is helpful to you & your company. If so, I'd love to hear about it, so please `drop me a line `_ (or better yet, `hire me `_)!