Software Psychology
Bjorn Freeman-Benson
Rule #16: Do as you promised

Unwritten Rule of Engineering #16: Whenever you are asked by your manager to do something, you are expected to do exactly that.

Whenever your supervisor sends you off to perform a specific task, you have two possible responses: (1) you do it exactly as requested, or (2) you come back and talk it over some more. (Take special note of this law, for it applies not only as regards your supervisor, but also to anyone with whom you have agreed on a task to be done or a course of action to be taken.) It is simply unacceptable either not to do it, or to do something different instead.

Of course, a good manager will define the boundaries of the task as loosely as possible to achieve the desired results. If your manager creates too many overly detailed constraints, perhaps you should work at New Relic instead.

Rule #14: Choose your boss carefully

Unwritten Rule of Engineering #14: Be as particular as you can in the selection of your supervisor.

Long before the days of universities and [the internet], master craftsmen absorbed their skills by apprenticing to master craftsmen. Likewise, you will do well to use those with more experience, especially a well-selected supervisor, as your … mentor.

And a little quote from rule #13:

As a rule, you can service all other ends to best advantage by assuming your supervisor is approximately the right person for that job.

Rule #12: Infoflow up

Unwritten Rule of Engineering #12: One of the first things you owe your supervisor is to keep him or her informed of all significant developments.

Bear in mind that your manager is constantly called upon to account for, defend, and explain your activities to others, as well as to coordinate these activities into a larger plan. Compel yourself to provide all the information that is needed for these purposes. … No manager [likes] being surprised …

Rule #11: Know your domain

Unwritten Rule of Engineering #11: Every manager must know what goes on in his or her domain.

This principle is so elementary and fundamental as to be axiomatic. It follows very obviously that a manager cannot possibly manage a department successfully without knowing what’s going on in it. This applies as well to project managers with specific responsibilities but without direct subordinates as it does to department heads.

Rule #10: Be accurate

Unwritten Rule of Engineering #10: Be extremely careful of the accuracy of your statements.

This seems almost trite, and yet many engineers lose the confidence of their superiors and associates by habitually guessing when they do not know the answer to a direct question. … If you are not certain, indicate the exact degree of certainty or approximation upon which your answer is based. A reputation for dependability and reliability can be one of your most valuable assets.

Rule #9: Be concise

Unwritten Rule of Engineering #9: Strive for conciseness and clarity in oral or written reports.

The trick is convey the maximum of significant information in the minimum time, a valuable asset to anyone. … Start at the beginning, with the most important fact, the one the audience must know before learning more. Often this is the conclusion itself. Progressively broaden the pyramid by constructing each sentence upon its predecessor.

One of my favorite sources on how to present more effectively is Presentation Zen; another is any book by Edward Tufte.

Rule #8: Speak up

Unwritten Rule of Engineering #8: Don’t be timid — speak up — express yourself and promote your ideas.

Too many new employees seem to think that their job is simply to do what they are told. Of course there are times when it is wise and prudent to keep silent, but, as a rule, it pays to express your point of view whenever you can contribute something. … If you do not want the job, say nothing and you’ll be overlooked, but you’ll also be overlooked when it comes time to assign large responsibilities.

Fun Tweets
You had one job_youhadonejobNov 26, 2014, 1:36 am 
After seeing the new Jurassic World trailer let’s just hope Phil isn’t the supervisor this time.
rick waldronrwaldronNov 21, 2014, 2:00 am 
Skipper Designs a Programming Language #feministhackerbarbie
Darth VaderDepressedDarthNov 22, 2014, 4:24 am 
Meanwhile in Buffalo
Ashley EcksteinHerUniverseNov 23, 2014, 6:41 pm 
An R2-D2 Vespa? Yes, please! #r2d2 #vespa #starwars
InfoSec Taylor SwiftSwiftOnSecurityNov 26, 2014, 1:06 am 
PawSense(TM)
catproof your computer
http://bitboost.com/pawsense/index.html
Barton SwaimbartonswaimNov 26, 2014, 1:26 am 
My wife, reading web article: “This is jarbage.”
Jarbage?
“Combination of jargon and garbage. I just made that up.”
Bjorn Freeman-Bensonbjorn_fbNov 27, 2014, 5:23 am 
The shepherd’s trick; a “lunatic” but effective move saves a young girl from drowning http://kottke.org/14/11/the-shepherds-trick
Koop KooperCocktailnationNov 27, 2014, 12:50 am 
I Drove The Earliest Ancestor Of The VW Beetle And It Was Great http://klou.tt/18grgbxaz81fl
David GoldenbergdgoldenbergNov 26, 2014, 10:43 pm 
Richard Scarry’s Busy Town jobs for the 21st century: http://bit.ly/1vPapRG
Bjorn Freeman-Bensonbjorn_fbNov 27, 2014, 12:57 am 
Richard Scarry’s Busy Town circa 2014, featuring a rage pundit and lowly immigrant http://kottke.org/14/11/richard-scarrys-busy-town-in-the-21st-century
Bjorn Freeman-Bensonbjorn_fbNov 27, 2014, 10:40 pm 
Here’s the turkey dinner for today /from Vintage Science Fiction https://flipboard.com/section/vintage-science-fiction-bNXidG
Amy RolphamyrolphNov 28, 2014, 12:38 am 
Thanksgiving cooking: Those who can, do. Those who can’t make boozy cocktails so the cooks aren’t… http://instagram.com/p/v7G7MqqxGe/
John McCormackLAevolvingNov 27, 2014, 6:44 pm 
The Wild Turkey gets all the glory on #Thanksgiving, but check out the Ocellated Turkey
500px500pxNov 27, 2014, 2:01 pm 
The Dark Stronghold by Kilian Schönberger: http://goo.gl/JCVuwc
The Uber Situation

I’ve always had a difficult relationship with Uber: I love the service because the whole experience was so much more pleasant than that of a taxi. They had figured out a better solution to all the little things and the result was just wonderful.

But at the same time, it’s company run by a bunch of unethical, Ayn Rand-ian, bros. I want to support companies that are not just convenient for me, but are ethical as well, so Uber bothered me. But it was just so damned convenient that I suppressed my distaste.

Fortunately Uber has just gone so far over the line that I’ve come to my senses. I regret not doing so before, but at least I can hold my head up now and say “enough!”. Not sure what service I’ll use now, but it won’t be Uber.

Mike Maneythe_spinmdNov 18, 2014, 5:29 am 
Time for Uber to take a breather, reset and think about the brand it wants to be. Because right now, it’s the Dick Cheney of brands.
Aaliya Yaqub, MDDrAaliyaNov 18, 2014, 5:31 am 
Sorry @uber, can’t support how unethical you’ve been lately. Cc: @sarahcuda http://bit.ly/1oYK4xC #deleteuber
John ScalziscalziNov 19, 2014, 4:45 pm 
Lots of people deleting Uber from their phones in my Tweetstream. Well, I never used Uber, so I guess I’m a hipster in this one thing.
Bjorn Freeman-Bensonbjorn_fbNov 21, 2014, 5:13 pm 
Uber’s Moral Compass Needs Recalibration http://tcrn.ch/1BMfRrc
Bjorn Freeman-Bensonbjorn_fbNov 22, 2014, 8:27 pm 
Uber Angst and Uber Shame: to delete or not delete, that is the question. Me, I’m on the #deleteuber side http://nyti.ms/1taTW3G
Work Tweets

Here’s an example of why merely showing an average, or even an average and a variance, is insufficient in the real world:

Kris PeeterspeeterskrisNov 21, 2014, 4:10 pm 
These sets all have the same mean, median and variance. Lesson: Always Visualise. #StrataHadoop @statistiekcbs

Immutable Servers are a deployment model that mandates that no application updates, security patches, or configuration changes happen on production systems.“:

Gergely HodicskafelhobacsiNov 23, 2014, 6:11 am 

This is one of the fundamentals of my management philosophy: the team is more powerful than the individual:

Bill BuxtonwasbuxtonNov 23, 2014, 6:31 pm 
The depth and breadth of today’s problems are beyond any individual. Renaissance man/woman is impossible. A Renaissance team is essential.

While this article is about nuclear war, the same belief-in-the-absence occurs in software systems all the time:

BulletinOfTheAtomicBulletinAtomicNov 24, 2014, 5:49 pm 
Believing something cannot happen is often just a failure of imagination. On black swans and nuclear war: http://ow.ly/EJK11

As an example of the above, here’s a great story about a seemingly improbable bug that surfaced in Facebook’s systems:

Kent BeckKentBeckNov 26, 2014, 2:10 am 

A good article about how rewarding the wrong thing leads to bad behavior:

Bjorn Freeman-Bensonbjorn_fbNov 26, 2014, 4:30 am 
“gamification: if you’re going to reward someome, do it for the right things and the right reasons” http://blog.codinghorror.com/because-reading-is-fundamental-2/

If I have learned anything from the Internet, it is this: be very, very careful when you put a number next to someone’s name. Because people will do whatever it takes to make that number go up.

Of course this applies to everyone, not just executives:

Bjorn Freeman-Bensonbjorn_fbNov 26, 2014, 4:46 am 

And, as a fun end to the list, here’s an article that includes the architect who designed the New Relic Portland office. And an excellent job he did:

Real Estate Inc. PDXPBJRealEstateNov 26, 2014, 8:08 pm