Friday, December 21, 2012

Thoughts on programming AdStaq's culture

We just posted the Careers page for my new startup, AdStaq.com. We're looking for smart developers of all backgrounds, junior and senior, who want to be part of the founding team. We're primarily looking for people in the MD/DC/PA/VA or NY regions because at this stage we need to get together frequently to compare notes. Later on we'll become a more global/virtual company.

Hopefully it's obvious from reading that page that I've been thinking very deeply about the kind of programming culture we want to build into the company from day one, influenced by all of the reading I've done over the past several years and all of my work experiences as a Navy officer, tech company employee, and founding CTO. I want to create an ultra-professional, stimulating environment that provides fun and meaningful opportunities for programmers who also have a life outside of coding and want to get home and see their families every night.

My favorite line of that page is "no weekly status updates", which someone asked me to clarify. I'm not saying "programmers get to work in isolation without communicating what they're doing". I'm saying we're never going to make people do that kind of awful busywork just to make management happy. Instead we'll keep track of our progress using other tools, like reviewing commit logs and good old-fashioned one-on-one meetings.

Ben Horowitz just wrote a good post about creating the right culture for a startup. It's early days for AdStaq but I think our cultural motto might end up being something like, "We remove all software defects immediately and fix whatever allowed the defect to occur" (we need to come up with something snappier like "don't just fix the bug, fix the process"). For example, right now, James just emailed me a bug in a secondary screen in our app. He said it's not a big deal to fix immediately, so I could blow it off for a few weeks, especially since I'm building a really cool new feature I can't wait to release. But I know better than to allow a bug like this to hang around and get stale. I also know that a small investment of time to improve our test harness to prevent this bug from recurring will act like compounding interest, saving me a lot of time later. Most importantly, since we're a company that makes other software easier to use, we really can't afford to have low quality. We have to set the standard for ad tech company software quality.

We can't do it alone though - we need your help! If this sounds interesting, email me! Instead of a resume, send us some links to stuff you've worked on!