Being Helpful While Still Saying “No”

A while back, I was a team lead at Amazon.  At the time, Amazon was organized into lots of small teams, and each lead was expected to run their team pretty autonomously.  When a team wanted to tackle a project which required the help of some other team, the lead of the one team would generally go talk to the lead of the other team and ask for their help.

This all seems very sensible on the surface, but it frequently happened that certain teams who were at the cross-roads of a lot of systems would be inundated, and, in frustration, would flat-out reject requests.  Naturally, this aggravated the people making the requests, and it turned into an unpleasant spiral.

I had the good fortune not to be running one of those teams, but my team certainly got plenty of requests which weren’t feasible for us to accept.  However, instead of flatly refusing requests, I employed a technique taught to me by one of my mentors at Amazon:

Instead of refusing what you can’t do, offer what you can do.

In one particular incident, I recall the lead of another team calling a meeting with me and a few of his most senior engineers.  They had a scheme in mind which I knew my team wouldn’t have time to handle.  However, taking this advice to heart, I heard him out.  In the end, I told him that my team definitely didn’t have to do what he was asking, but I offered instead to help him brainstorm other options.  At the end of our meeting, we’d managed to work out a different approach which was less work for his team, and none at all for mine.  By offering up a little over an hour of my own time, the lead of the other team walked away happy and thinking well of me despite my refusal of his initial request.


Of course, this advice has served me well in many aspects of my life since then.  Whether it’s a friend needing a favor, or my spouse wanting help with a project, or anything else, the key insight I’ve taken away is to look for ways to turn a “no” into a “yes”, even if its not the “yes” the person was looking for.

There are two extremely helpful side effects I’ve noticed with this approach.  The first is that it’s a lot easier to offer an alternate “yes” than to say “no”: especially to someone you like.  Using this approach helps me protect my own time instead of allowing my feelings of compassion or guilt trick me into over-committing and regretting it later on.  The second is that it helps me clearly communicate that I do want to help the person, even if I can’t do the exact thing they’re asking.  So, rather than stressing a relationship by a flat refusal (or even more so by a failure to deliver later on), you strengthen it (or at least break even) by showing your eagerness not to refuse them: at least in some capacity.

Spectrums of Sexuality

A little while ago, I came out as bisexual.  The process of coming to grips with my own sexuality took a lot of thinking on my part, and I did a lot of reading on the subject as well as watching YouTube videos of other people who had already come out.  Early on in my research, I ran across the notion that sexuality is a spectrum from heterosexual to homosexual (with bisexual being in the middle).  

This idea of a spectrum has been studied at some depth already.  A sex researcher named Kinsey established a scale from 0–6 to rate people on a spectrum of exclusively heterosexual (0) to exclusively homosexual (6), with bisexual people in between.  A later researcher named Klein expanded upon Kinsey’s work with a much more complex system, but one which still focuses on the straight/gay spectrum (although with a great deal more richness).

It strikes me though, that this is hardly the only axis of sexual expression. While various people have suggested this already (Klein, in particular), I haven’t yet run across any research on the subject.  On top of that, as I’ve been thinking and reading, I’ve come to prefer thinking about these various axes less as spectrums between two opposing points, but rather as a level of interest in a certain kind of activity.  With that approach, the following ranges stand out as being more-or-less independent of one another:

  • sexual interest in a different gender
  • sexual interest in the same gender
  • romantic interest in a different gender
  • romantic interest in the same gender
  • desire to be the active partner during sex
  • desire to be the passive partner during sex
  • interest in performing various acts on a partner
  • interest in receiving various acts from a partner
  • desired frequency of sex
  • desired length of a sexual encounter
  • strength of preference for monogamous relationships

As long a list as this is, it doesn’t even touch on gender expression, and even then I’m sure there are other axes which haven’t even occurred to me (feel free to comment below if you can think of others).  My point, really, is that one can think of most aspects of sexuality as a matter of degree: not a matter of either-or.

I arrived at this concept by observing and reading about lots of different individuals and then working backwards.  So, for the purposes of this essay, I think it would be helpful to work forwards again by considering some specific examples.

One might imagine the worst stereotype of a straight 20 year old male, for example.  This hypothetical individual has high sexual interest in the opposite gender, no sexual interest in the same gender, low romantic interest in anyone (i.e., a desire to form a permanent bond with another person), high desire to be the active partner during sex, low interest in being the passive partner (and then only for certain acts), and a desire for frequent, but relatively short sexual encounters with many partners.

On the other hand, one could also imagine a married lesbian woman in her 40’s.  She may have low (but not zero) sexual interest in men, high sexual interest in women, high romantic interest in women (and none for men), a strong desire to be the passive partner during sex, and a preference for extremely extended (but infrequent) sexual encounters only with her spouse.

Or, just to illustrate that these needn’t be either-or, consider a bisexual woman in her 20’s.  She may have moderate sexual interest in both the same and different genders (though slightly more for men), moderate romantic interest in either, alternating desire to be the active or passive partner (depending upon the partner), and a desire for frequent sexual encounters of moderate duration.

One could, naturally, multiply these examples endlessly (e.g., gay men, swingers, asexuals, …).  And, for any given example, one could conceive of a person who is the same in all the axes: except the one where they differ completely.  Where do you fit on these various ranges?  If you’re with someone, where does your partner?


There is, of course, a huge variety of permutations when thinking about sexuality as a set of orthogonal ranges.  In fact, I think that’s how real people actually experience their own sexualities.  Moreover, I think taking this perspective helps eliminate the excessively nit-picky labeling which has become rampant without denying the truth of any one individual’s experiences.  With so many possible “labels” to stuff people in, the entire exercise becomes futile.  In the end, we’re all unique in our likes and dislikes, so each person should be judged on their own merits: not which end of what scale they might fall on.

Being the “second” parent

About 16 years ago, when my wife, Rachel, and I were contemplating having our first child, we talked a lot about how we would share the responsibilities for parenting.  In the end, she decided that she’d like to leave full-time hospital nursing to be able to spend full-time with our future child.  A few years after he was born, he was diagnosed as having high-functioning autism.  Needless to say, the job of parenting went from pleasantly challenging to downright daunting.

At the same time, I was building my career as a software engineer / manager.  It was (and still is) very demanding work which often requires a fair bit of overtime, and leaves me with very little time for anything else: even being a father.

So, the dynamic in our family is that my wife has taken about 75% of the burden of parenting, while I’ve taken on the rest.  This includes a lot of things: physical care (esp. during younger years), playing / supervising play, driving to appointments & activities, food preparation (and actual feeding, at least early on).  To be fair to myself, I’ve always shouldered my share of those tasks when I’m home.  But, the reality has always been that I’ve worked full-time out of the house, and I simply haven’t been physically present to do those things nearly so often as Rachel has.

Which leads me to my point.  In our family, I’m the de facto “second” parent.

Being the “second” parent is not remotely the same thing as being an absentee, uninvolved, or disinterested parent.  It also does not mean that I don’t carry my own weight in household chores or coping with parenting challenges.  But there are a few important differences.

First, it is completely true most routine decisions are made without my direct input.  I’ve always felt welcome to comment on them or suggest improvements, but my wife nearly always handles these out without any need for me to weigh in.

Second, my wife and I routinely set time aside (our date night) to talk over those decisions which aren’t routine.  Whether this is making some choice about schooling, correcting some nascent behavior problem, helping our son get started with a new activity, or altering some routine around the house, we always have a time and manner to make sure we address them together.  Often, these are situations where my wife will raise the issue, and I’ll give my feedback: leaving the final call in her court.  Most of the time, though, we come to a consensus on the spot.

Third, I have to be more deliberate about spending time with my son.  Since my calendar is often pretty full, it’s frequently the odd moments here and there which I need to capitalize on.  As one would expect, the exact form this takes has changed over the years.  Recently, he has begun to share my interest in fantasy & science fiction, movies, video games, and a number of other things.  So, recently, these odd moments have taken the form of late-night conversations which range all over, but most often start with one of those shared interests.

Finally, I’m often the member of the tag-team who is “tagged in” when things get intense.  Being on the autism spectrum, our son’s tantrums have always been intense, and they still can be.  By the point when my wife is getting frustrated and starting to lose patience, I’ll jump in and take over the conversation.  Both because of my particular personality, and especially because I’m “tagging in” fresh, I’m able to remain calm and detached from his intense emotions.  In these cases, I sit with him and help him calm down by gently refusing to react to his intense emotions (sometimes over the course of an hour or more), and by helping him talk though the issue.  These conversations often get very philosophical and talk about ethics, character, and principles for addressing the situation at hand.


It’s easy to dismiss the “second” parent.  In fact, the disconnected, bread-winning father figure, by now, is beyond clichéd.  It’s also not how things have to be.  Whether the “second” parent is the mother or father—and I know at least one family where dad stays home while mom works outside the house—both can be full partners as “the parents”.  It takes some deliberate choices of who’s going to step forward, and how often, and for what things, but that doesn’t mean it isn’t an equal partnership in keeping a home and raising a family.  So, all of this is really just to say: while the roles are different, there really isn’t any “second” parent.

My favorite books on software engineering

I started to teach myself programming when I was 8 years old.  It was a brand new Macintosh Plus, and I was totally hooked on Hypercard.  I mostly learned by tearing apart the examples it came with, and figuring things out myself.  And, while this was fun, it really didn’t teach me a lot about software engineering.

I personally look at the difference between programming and software engineering as the difference between building a dog house and building a real house.

You can learn how to build a dog house on your own: completely self-taught.  You can build a dog house over a weekend or two of dedicated effort.  You can build a dog house on your own.  The consequences of completely screwing up your dog house are pretty minimal.  All that said, it’s not actually easy to make a super nice dog house, so there’s some real effort involved if you’re going to do it well, and there are some spectacular dog houses out there.

However… building a real house is an entirely different kind of endeavor.  To even start, you’re going to need to seek out some professional education.  You certainly will need a lot more than a few weekends.  You’re also going to need a team of specialists to help.  And, of course, the consequences of screwing up a real house will be very expensive: if not actually dangerous.

So, when I went off to school to learn how to go from being an avid programmer to a professional software engineer, I had a lot to learn.

I may talk about my schooling at some future point, but it was actually the reading I did on my own, at the recommendation of some of my early mentors, that taught me the most.  So, I want to pay it forward, and recommend a couple of those books I found most formative.

Code Complete, by Steve McConnell is where I was first introduced to most of the essential concepts of large-scale software engineering.  As each concept was introduced, it was accompanied with lots of examples in code, and excellent, in-depth explanations.  It is no exaggeration that this book completely changed how I wrote code. If you only ever read one book on coding, make it this book.

Design Patterns, by Erich Gamma et. al. is the foundational book for the entire concept of design patterns.  In short, straight-forward chapters, it teaches some of the most fundamental and re-usable building blocks of complex software systems.  The patterns described in this book have become the very language of software design.

Refactoring, by Martin Fowler outlines the most essential skills in changing existing code. Whether it’s to add a new feature, fix a bug, or anything else you’ll want to learn and follow the procedures outlined in this book.


To be fair, these are three among a great number of amazing books on software engineering, so the fact that I don’t list a particular book here doesn’t mean it’s not valuable.  There are a lot of other books I have on my shelf and have read cover-to-cover (some of them multiple times).  However, of all the books in my collection, I view these three as having been most personally influential on the way I write and think about code.