<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="../assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>sef.kloninger.com (Posts about War Stories)</title><link>https://sef.kloninger.com/</link><description></description><atom:link href="https://sef.kloninger.com/categories/war-stories.xml" rel="self" type="application/rss+xml"></atom:link><language>en</language><lastBuildDate>Tue, 17 Feb 2026 00:56:43 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Yeah, I Did Some Vibe Coding Too</title><link>https://sef.kloninger.com/posts/daleks/</link><dc:creator>Sef Kloninger</dc:creator><description>&lt;p&gt;This is a story about my recent experience Vibe Coding. The work itself isn't
impressive and this writeup isn't different than the many gee-whiz posts you see
these days. I didn't do &lt;a href="https://mastodon.social/@stroughtonsmith/116014270900193494"&gt;three apps in a day&lt;/a&gt;. But I wanted to write up my
experience, mostly to give me an excuse to tell an old tyme programming story
from the 1900's.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://sef.kloninger.com/daleks"&gt;
&lt;img style="float:right" class="postimage" src="https://sef.kloninger.com/f/daleks-2026.png" alt="Screenshot of my recent Daleks game" width="50%"&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Today, 2026&lt;/h3&gt;
&lt;p&gt;While I'm &lt;a href="https://sef.kloninger.com/posts/leaving-google/"&gt;on a break&lt;/a&gt; I'm taking a &lt;a href="https://continuingstudies.stanford.edu/courses/detail/20252_TECH-42"&gt;Vibe Coding class&lt;/a&gt;. It's a fun excuse to
play with some new toys, and it's well taught, and I like doing things with my
friend Jane.&lt;/p&gt;
&lt;p&gt;One interesting tidbit: the first day of class, February 3, 2026, was one year
and one day after "vibe coding" itself was coined via &lt;a href="https://x.com/karpathy/status/1886192184808149383?lang=en"&gt;tweet&lt;/a&gt;. That name seems
to have stuck, for the time being at least. On &lt;a href="https://atp.fm/678"&gt;last week's ATP&lt;/a&gt; they said that
by this time next year this will probably just be called "coding" and I bet
they're right.&lt;/p&gt;
&lt;p&gt;Anyway our week one assignment was to code up a game. &lt;strong&gt;In about two hours and
$10&lt;/strong&gt; I had a something up and running. I spent another couple of hours futzing
with version control, documentation, and hosting. But that's it! &lt;/p&gt;
&lt;p&gt;It's pretty basic, and not all that much fun, but you can &lt;a href="https://sef.kloninger.com/daleks"&gt;play it here&lt;/a&gt;. It's
hosted on Github pages, just like this blog. The code and construction notes are
in &lt;a href="https://github.com/sefk/daleks"&gt;checked in&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This was my first experience with &lt;a href="https://replit.com/"&gt;Replit&lt;/a&gt;. It's impressive and fun. This was
what was recommended for the class and the good folks at Replit were nice enough
to give us all $30 in credits, which I had plenty to spare. Most of my comrades
presented apps that were fancier than mind with 3d graphics, sound, and more
interactive game play. some also said though that they ended up spending much
more than I did, so YMMV on costs.&lt;/p&gt;
&lt;p&gt;One interesting part was dealing with integration. To get their code deployed
onto my personal website site required wiring up a GitHub workflow, which I'd
never done before. No problem, Replit took care of that too. Then I asked
&lt;a href="https://geminicli.com/"&gt;Gemini&lt;/a&gt; to get local hosting running. When I hit a permissions problem and a
crash I had to resist the urge to copy paste the error messages into a search
boxes and Stack Overflow, like I've done for years. Instead I asked Gemini to
debug and sort this out for itself and it did straight away. Pretty great.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.macintoshrepository.org/3913-daleks"&gt;
&lt;img style="float:right" class="postimage" src="https://sef.kloninger.com/f/daleks-1984.jpeg" alt="Original Daleks game from 1984" width="45%"&gt;
&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Forty Years Ago, 1985&lt;/h3&gt;
&lt;p&gt;Why'd I pick this weird old &lt;a href="http://en.wikipedia.org/wiki/Robots_%28BSD_game%29"&gt;chase game&lt;/a&gt;? Well, that's the more fun and
nostalgic part of the story.&lt;/p&gt;
&lt;p&gt;When I was fourteen years old, I spent the summer hand-coding a video game. I'd
gone to a family gathering and my older cousin Erik brought his Mac from
college. It was the first I'd seen a Mac and fell in love. I thought the
Daleks game he had running on it was so cool. The screenshot on the right
is from that Classic Mac website of that game that I found online, and is
exactly how I remember it looked.&lt;/p&gt;
&lt;p&gt;Upon return to Fresno I got to work. I spent most of the rest of that summer
writing a clone of Daleks on my Apple //e. All hand-coded 6502 opcodes and twos
complement math for branch offsets by hand (I didn't have an assembler), in
pencil on graph paper. The hardest part was getting smooth animation working,
since the Apple //e "hi res" &lt;a href="https://en.wikipedia.org/wiki/Apple_II_graphics"&gt;graphics system&lt;/a&gt; was super quirky.&lt;/p&gt;
&lt;p&gt;It took about two months to get it working. It's the first time I can remember
being in a flow state and I loved it. It was my first "real program" and began
my lifelong love of computers.&lt;/p&gt;</description><category>AI</category><category>Tech</category><category>War Stories</category><guid>https://sef.kloninger.com/posts/daleks/</guid><pubDate>Tue, 17 Feb 2026 00:00:00 GMT</pubDate></item><item><title>A Good Interview Question</title><link>https://sef.kloninger.com/posts/interview-question/</link><dc:creator>Sef Kloninger</dc:creator><description>&lt;p&gt;&lt;img style="float:right" class="postimage" src="https://sef.kloninger.com/f/python.png" alt="Python language logo" width="25%"&gt;&lt;/p&gt;
&lt;p&gt;I liked the question that I got when interviewing at YouTube in 2015. At Google
then we'd have an interview panel of four or five people, each assigned to cover
a different area. &lt;a href="https://www.linkedin.com/in/billy-biggs-7ab1023/"&gt;Billy Biggs&lt;/a&gt; was the TL on my panel asked to evaluate
"architecture." For a manager candidate that mostly meant evaluating technical
cluefulness (someone else had me do some simple &lt;a href="https://sef.kloninger.com/posts/201205fizzbuzz-for-managers"&gt;programming&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;Billy's question: &lt;strong&gt;Discuss what would cause a Python interpreter to crash. Not
a &lt;em&gt;program written in Python&lt;/em&gt;, but the interpreter itself.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I remember this leading to a fun, rambling, back-and-forth discussion of the
&lt;strong&gt;ways computers can fail&lt;/strong&gt;. There are so many! Every level of the stack can
fail in interesting ways: storage, RAM, memory management, networking. How would
a bit flip in a TLB manifest? How does TCP/IP detect and handle ordering?
collisions?&lt;/p&gt;
&lt;p&gt;We also covered a bunch of &lt;strong&gt;engineering and process questions&lt;/strong&gt;. How is the
interpreter itself implemented, in what language and by whom? What would the
quality processes be like for a product like that, especially given Python is
presumably a really large open source project? How would you manage this? How
important to quality is the role of the &lt;a href="https://en.wikipedia.org/wiki/Benevolent_dictator_for_life"&gt;BDFL&lt;/a&gt;? &lt;/p&gt;
&lt;p&gt;And then that lead to a some more interesting higher-level discussions about the
actual &lt;strong&gt;costs and benefits of addressing failures&lt;/strong&gt; like these in the field.
When should programs hard-fail versus detect and recover? How would you staff an
engineering team to find and chase down errors? What's the user impact to a
failure like this?&lt;/p&gt;
&lt;p&gt;One of my favorite things about this question is most likely it was something
they'd actually seen right in their backyard. In 2015 significant parts of
YouTube was &lt;a href="https://mail.python.org/pipermail/python-dev/2006-December/070323.html"&gt;written in Python&lt;/a&gt; (that's likely not the case anymore, I don't
know). Crashes like these must have come up in the field. Not only are
real-world problems relatively easy to ask, but they have the added benefit of
showing the candidate the kinds of issues that the team actually deals with. It's
also a well-shaped question: open ended, no right/wrong answers.&lt;/p&gt;
&lt;p&gt;I got the job.&lt;/p&gt;</description><category>Engineering</category><category>Management</category><category>War Stories</category><guid>https://sef.kloninger.com/posts/interview-question/</guid><pubDate>Tue, 07 Oct 2025 22:00:00 GMT</pubDate></item><item><title>Naming Is Hard</title><link>https://sef.kloninger.com/posts/naming/</link><dc:creator>Sef Kloninger</dc:creator><description>&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Lenna"&gt;&lt;img style="float:right" class="postimage" src="https://sef.kloninger.com/f/lena.png" alt="Photo of Lena Forsén" width="40%"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is a story about how hard it is to come up with a good name.&lt;/p&gt;
&lt;p&gt;This was in 2013. I was part of a team building a &lt;a href="https://sef.kloninger.com/posts/201207on-line-education/"&gt;system for online
education&lt;/a&gt; at Stanford. We &lt;a href="https://engineering.stanford.edu/news/stanford-launches-class2go-open-source-platform-online-classes"&gt;launched&lt;/a&gt; a nice little site,
Class2Go, with a small team in a few months. It worked well and
supported the basic features of an online course: videos, assessments,
auth, reporting. We decided to keep it going and worked on it for
another year, expanding the covered use cases and taking on more
classes.&lt;/p&gt;
&lt;p&gt;But even from the beginning the name &lt;em&gt;Class2Go&lt;/em&gt; felt a bit off. Our
original aim was to enable offline &lt;a href="https://en.wikipedia.org/wiki/Massive_open_online_course"&gt;MOOC&lt;/a&gt; students, people trying
to take classes offline or in poorly-connected places But we ended
up pivoting away from the offline use case to more standard
hosted-course features. It became a little multi-tenant CMS with a
small database for auth, assessment results, and some basic analytics.&lt;/p&gt;
&lt;p&gt;We decided to rebrand. Someone knew a naming consultant, presumably
an alum, and soon enough we had an expert on board. They were really
interesting to work with. After understanding the platform's goals
and features, they generated hundreds of candidate names. Each was
vetting for domain name availability and copyright conflicts. The
consultant was good at their job, bringing us something like a hundred
candidate names (I wish I still had that list).&lt;/p&gt;
&lt;p&gt;One name caught everyone's attention: &lt;strong&gt;Tindra&lt;/strong&gt;. It's a Swedish
word that means "sparkle" or "twinkle." It's evocative and easy to
say. It also happens to be a woman's name, but not a particularly
common one we were told. &lt;/p&gt;
&lt;p&gt;Surprisingly, &lt;code&gt;tindra.com&lt;/code&gt; was available! In 2013 short and catchy
domain names were getting hard to come The &lt;a href="https://newgtldprogram.icann.org/"&gt;new gTLD program&lt;/a&gt; had
only just been approved in 2012, and &lt;code&gt;.com&lt;/code&gt; and &lt;code&gt;.org&lt;/code&gt; were pretty
crowded.&lt;/p&gt;
&lt;p&gt;The problem was that if you Googled "tindra," the top result was a
Swedish adult film actress! Not good. Maybe with enough SEO juice,
over time, we would have overtaken that. But on launch day, that's
not the association you want to have.&lt;/p&gt;
&lt;p&gt;We ended up punting on the problem and going with a generic name,
&lt;strong&gt;Stanford Online&lt;/strong&gt;. It got the job done, but felt like a missed
opportunity. We later merged with edX and &lt;a href="https://sef.kloninger.com/posts/leaving-stanford/"&gt;I found another job&lt;/a&gt;.
Eventually the team re-branded the site with the name &lt;strong&gt;&lt;a href="https://online.stanford.edu/lagunita-learning-platform"&gt;Lagunita&lt;/a&gt;&lt;/strong&gt;,
the name of the lake on campus, which they're still using today. I
like it.&lt;/p&gt;
&lt;p&gt;I admit I still have a thing for Tindra though. The name, not the actress.&lt;/p&gt;
&lt;p&gt;Postscript: &lt;code&gt;tindra.com&lt;/code&gt; still doesn't seem to be used for anything
today. It looks to just be parked by a German domain registrar.
Google results don't seem to be a problem. Maybe it's available for
something interesting?&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Thanks to Jane Manning for her review, she was there too.&lt;/em&gt;&lt;/p&gt;</description><category>Education</category><category>Technology</category><category>War Stories</category><guid>https://sef.kloninger.com/posts/naming/</guid><pubDate>Wed, 24 Sep 2025 05:00:00 GMT</pubDate></item><item><title>Launch Day</title><link>https://sef.kloninger.com/posts/launch-day/</link><dc:creator>Sef Kloninger</dc:creator><description>&lt;p&gt;&lt;img class="alignright  wp-image-415" style="border: 0px;" alt="spaceshuttle" src="https://sef.kloninger.com/f/spaceshuttle-300x283.png" width="180" height="170"&gt;&lt;/p&gt;
&lt;p&gt;
Today was launch day. It went really well.  I wanted to capture what a good launch feels like and contrast that with a more exciting launch, just five months ago.


&lt;/p&gt;&lt;p&gt;
Today we turned on our first class on Stanford's instance the open-source &lt;a href="http://code.edx.org"&gt;edX platform&lt;/a&gt;, what we're calling &lt;a href="http://online.stanford.edu/openedx"&gt;OpenEdX&lt;/a&gt;. The class is &lt;a href="https://class.stanford.edu/courses/Medicine/HRP258/Statistics_in_Medicine"&gt;Statistics in Medicine&lt;/a&gt;, taught by Kristin Sainani of the Stanford School of Medicine. With over thirteen thousand students signed up it's a medium-sized MOOC (Massive Open Online Course).



&lt;/p&gt;&lt;p&gt;
We have launched MOOC's for Stanford before: two in &lt;a href="http://networking.class.stanford.edu/"&gt;Fall&lt;/a&gt; &lt;a href="http://solar.class.stanford.edu/"&gt;Quarter&lt;/a&gt;, and one in &lt;a href="http://db.class.stanford.edu/"&gt;Winter&lt;/a&gt;. Even though the classes were huge success, but the launch days weren't so smooth. We had written that platform, &lt;a href="http://class2go.stanford.edu/"&gt;Class2Go&lt;/a&gt;, from the ground up with a small team in a dozen weeks in Fall; in the weeks before the Winter launch we ripped out the whole evaluation system, about one-third of the code, and replaced it with a whole new engine. In both cases most of our code was fresh off the presses.



&lt;/p&gt;&lt;p&gt;
Those launches were rocky. I'll tell the story of the DB class launch in January. The first thing we do is a "soft launch," where you open the front door and some people find their way in. Those first visits give you a sense of how things will go.  Surprisingly, the servers were a bit busy.  But we wanted to keep going, so we scaled up capacity and moved on.



&lt;/p&gt;&lt;p&gt;
The thing that drives real traffic is the announcement email. That gets people to the site. The announcements started going out, students started coming in, and the site lit up. We were in hot water. Servers were overloaded, and most surprising, the database was getting hammered. This was scary and unexpected. We control-C'ed the mail job and quickly hacked additional caching into the site.  We had to trickle out announcements over the next twelve hours.  We made it, but it was a long, stressful day.



&lt;/p&gt;&lt;p&gt;
And then the days/weeks post-launch were spent watching graphs, triaging 500 errors (user-visible "we're sorry" pages), and installing daily hotfixes. But we got through it. The classes were a success and the team was proud.



&lt;/p&gt;&lt;p&gt;
So, contrast that to today's launch.  Totally different.



&lt;/p&gt;&lt;p&gt;
Everyone came in early as usual. I bought bagels. We turned on the class (soft-launch) and the servers hardly noticed. We sent the announcement mails, people came and took their pre-course survey and watched the intro video. Hardly any load. This chart shows the average CPU on our four appservers from 8:00 AM PDT / 15:00 UTC until 10:45 AM or so.



&lt;/p&gt;&lt;p align="center"&gt;
&lt;img class="alignnone  wp-image-414" style="border: 0px;" alt="launch-app-cpu" src="https://sef.kloninger.com/f/launch-app-cpu1.png" width="1530" height="373"&gt;



&lt;/p&gt;&lt;p&gt;
Those are happy servers. Other charts we watched (db connections, load, etc.) told the same story. The most impressive thing was not a single user visible error, no 500's!



&lt;/p&gt;&lt;p&gt;
Those folks at edX made some solid software.  We're happy to be working with a strong group of engineers and a quality product.  We've had our hands on it only since April, and it was released open-source to the world on June 1.  I fully expect a lot of other universities and organizations are going to have a great time running classes on OpenEdX too.



&lt;/p&gt;&lt;p&gt;
I just turned off half the appservers since we're fine on capacity. Now off to bed with a good feeling.&lt;/p&gt;</description><category>Education</category><category>Engineering</category><category>Technology</category><category>War Stories</category><guid>https://sef.kloninger.com/posts/launch-day/</guid><pubDate>Wed, 12 Jun 2013 05:59:24 GMT</pubDate></item><item><title>The Day I Took Down 100,000 Web Sites</title><link>https://sef.kloninger.com/posts/taking-down-100000-sites/</link><dc:creator>Sef Kloninger</dc:creator><description>&lt;p&gt;&lt;img class="alignright size-full wp-image-343" style="border: 0px;" title="fire" src="https://sef.kloninger.com/f/fire.png" alt="fire alarm" width="300" height="240"&gt;&lt;/p&gt;
&lt;p&gt;
Every engineer has their "the day I did something very very bad" story. This is mine.


&lt;/p&gt;&lt;p&gt;
It was my last week at &lt;a href="http://www.ning.com/"&gt;Ning&lt;/a&gt;. For about a year I ran the Infrastructure and Operations group. It was the end of a good stretch, working with a strong team on hard problems.



&lt;/p&gt;&lt;p&gt;
In early 2010 (before I joined) Ning had successfully switched from a premium to paid model. Of Ning's two million social networks some were thriving onine communities, but many weren't. Trading those in for one hundred thousand good paying customers had been the right thing for the business. We kept around the 1.9M orphaned sites for some time in case someone wanted to assume ownership and start paying. By late 2011 the revival rate had dropped low enough that it was time to clear out the cruft.



&lt;/p&gt;&lt;p&gt;
I volunteered for the cleanup. I enjoyed little projects like this because it kept my hands in the code and took away a task that would be a chore and distraction for the engineers. The job was some SQL queries, scripting, load testing, checking, and double-checking. The hardest part was ensuring we had the right list of networks to delete.



&lt;/p&gt;&lt;p&gt;
It took about two months to write and run the scripts. I felt good that it had gone through uneventfully.



&lt;/p&gt;&lt;p&gt;
There was a legacy corner of our system that hadn't been included in my cleanup pass. I hadn't worried about it at first since it was just a few thousand networks. But now that I was leaving Ning I wanted to tie off my loose end projects, and this was one. I assembled the list of stragglers and ran my scripts. The 2,000 deletes went quickly. This was 11:00 AM on regular workday -- my last Wednesday on the job.



&lt;/p&gt;&lt;p&gt;
I immediately knew that I had done something very wrong. Since I sat close to the Customer Advocacy group I heard their IM clients and phones light up. Every Ning page was a "We're Sorry" 404 page. Oh crap.



&lt;/p&gt;&lt;p&gt;
It only took a couple of minutes to find the problem. One of the networks I had marked for deletion had core Javascript and CSS needed by every Ning network -- important stuff. The network, "socialnetworkmain" was known to everyone as being important, and if I had done my spot checks better, I would have seen it straight away. Instead, I had been sloppy.



&lt;/p&gt;&lt;p&gt;
The backdoor method I was using bypassed the safeties we had in place to protect our "really important" networks.



&lt;/p&gt;&lt;p&gt;
Luckily, &lt;a href="https://twitter.com/myelin"&gt;Phil&lt;/a&gt;, one of our top-notch infrastructure engineers was sitting close by and quickly restored the network through the backend. Things returned to normal almost immediately. That feeling of panic started to back off. The jokes started and we started to relax.



&lt;/p&gt;&lt;p&gt;
It took us another few hours to find and fix second and third order effects of my snafu. The network creation flow was broken -- fixed. An in-house monitoring system was dying silently -- fixed. And so on.



&lt;!-- Friday, August 18, 1995 --&gt;
&lt;/p&gt;&lt;p align="center"&gt;
&lt;a title="Dilbert strip where he screwed up big-time" href="http://dilbert.com/strips/comic/1995-08-18/"&gt;&lt;img src="https://sef.kloninger.com/f/dilbert-screwed-up.gif" alt="Dilbert.com" border="0"&gt;&lt;/a&gt;



&lt;/p&gt;&lt;p&gt;
I learned four lessons:

&lt;/p&gt;&lt;p&gt;
&lt;/p&gt;&lt;ol&gt;
    &lt;li&gt;&lt;strong&gt;Undo is your friend.&lt;/strong&gt; The tooling or features to revert your change will take time, but you will be happy to have it if you ever need it.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Make changes during the day.&lt;/strong&gt; Resolving a hairy problem is hard if you don't have the right people, and when the people you do have are tired and foggy. This incident might have taken hours to resolve instead of minutes in the middle of the night.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;It's not over until it's over.&lt;/strong&gt; Once in crisis mode, you're eager to be get out of it. Once the main problem is solved it is tempting to exhale, go to lunch, go back to bed, whatever. But aftereffects might take a while to show up, or may just be harder to find.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Disproportionate effects.&lt;/strong&gt; We all know that our complex systems nonlinear failure modes. Incidents like these are reminders that small changes have big effects. Said another way, even small things should be taken seriously.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
My time at Akamai had prepared me well for managing a crisis. But it's nice to have a refresher course every now and then.&lt;/p&gt;</description><category>Engineering</category><category>Technology</category><category>War Stories</category><guid>https://sef.kloninger.com/posts/taking-down-100000-sites/</guid><pubDate>Wed, 25 Jul 2012 17:56:57 GMT</pubDate></item><item><title>Why Quit?  Because They Have Bigger Monitors</title><link>https://sef.kloninger.com/posts/engineering-culture-litmus-tests/</link><dc:creator>Sef Kloninger</dc:creator><description>&lt;p&gt;
Good engineers are attracted to places with a strong engineering culture. But how can you see what the culture is really like from the outside? Here are my two quick-and-dirty indicators.

&lt;img class="alignright size-full wp-image-230" style="border: 0px;" title="testtubes" src="https://sef.kloninger.com/f/testtubes.png" alt="" width="149" height="200"&gt;


&lt;/p&gt;&lt;p&gt;
First a word about what I mean by an engineering culture. It means engineers are valued and important. Some implications:
&lt;/p&gt;

&lt;p&gt;
&lt;/p&gt;&lt;ul&gt;
    &lt;li&gt;How are decisions made? In an engineering culture, technical people have input into what gets built, when, and by whom.  Not signoff, but a real say.&lt;/li&gt;
    &lt;li&gt;Is there respect for the craft of making software? Coding is still creative work that requires the right time and space. Some projets are tough to predict how long they will take, and that's needs to be OK.&lt;/li&gt;
    &lt;li&gt;Infrastructure. How hard is it for the people who know (engineers, managers) to justify to their bosses when work is needed on non-feature driven stuff? This could be in the runtime system (like scaling work on the message queue) or back office (like build systems or version control).&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;
Unfortunately, teasing this out in an interview can be tricky unless you have someone you really know and trust on the inside.

&lt;/p&gt;&lt;p&gt;
&lt;/p&gt;&lt;h3&gt;How big are the monitors?&lt;/h3&gt;

A story from a prior company. I was an engineering manager that had a retention problem. One of the engineers on my team quit to go to a smaller, hipper company. This was from my exit interview:

&lt;p&gt;
&lt;/p&gt;&lt;blockquote&gt;

&lt;p&gt;
&lt;strong&gt;Me&lt;/strong&gt;: why are you leaving?

&lt;/p&gt;&lt;p&gt;
&lt;strong&gt;Him&lt;/strong&gt;: because they have bigger monitors.

&lt;/p&gt;&lt;p&gt;
&lt;strong&gt;Me&lt;/strong&gt;: (incredulous) are you kidding? we can get you a bigger monitor.

&lt;/p&gt;&lt;p&gt;
&lt;strong&gt;Him&lt;/strong&gt;: it's not just me -- everyone has big monitors.

&lt;/p&gt;&lt;p&gt;
&lt;strong&gt;Me&lt;/strong&gt;: why is that so important?

&lt;/p&gt;&lt;p&gt;
&lt;strong&gt;Him&lt;/strong&gt;: because it shows how much they value my time. The extra money to cram that many more pixels into my retina must be worth it to them.

&lt;/p&gt;&lt;/blockquote&gt;

And now I understand that this is totally true. Places that value their people consider equipment expenses small compared to the productivity (and happiness) of their people.  The best engineers are given the best tools to do their jobs. Big monitors are a very visible sign of this.

&lt;h3&gt;Can people choose their own email addresses?&lt;/h3&gt;

Non-engineers sometimes don't appreciate how important an email address is. It's your identity on line. A strict naming convention (first name last initial, or worse, last name first initial) indicates place that values conformity over engineer happiness. Worse, its a great way to make their people feel like cogs or "human resources," not the cool individuals that they are.

&lt;p&gt;
(Aside: let's do away with the term Human Resources.  It's horrible.)

&lt;/p&gt;&lt;p&gt;
This one is important for me personally since I have a weird first name. If you don't let me be &lt;code&gt;sef@company.com&lt;/code&gt; then you get major demerits in my book. And no, clunky alias tricks, like a mailing list with one member in it, doesn't count. It's what you see on your shell prompt that matters; it's what &lt;code&gt;whoami&lt;/code&gt; returns that matters.

&lt;/p&gt;&lt;p align="center"&gt;
&lt;img class="alignnone size-full wp-image-235" style="border: 0px;" title="whoami" src="https://sef.kloninger.com/f/whoami.png" alt="" width="556" height="226"&gt;

&lt;/p&gt;&lt;p&gt;
One final word: this isn't a slam on you hardworking IT guys and gals who keep important things running and have to enforce the rules you're given. Instead, I'm speaking to the bad policies (usually stemming from bad cultures) that can put you into bad positions. If you are at such a place, hunker down and pray for daylight.&lt;/p&gt;</description><category>Engineering</category><category>Management</category><category>Technology</category><category>War Stories</category><guid>https://sef.kloninger.com/posts/engineering-culture-litmus-tests/</guid><pubDate>Thu, 17 May 2012 23:01:44 GMT</pubDate></item></channel></rss>