Work Life

Working in the software industry, circa 1989

By Jim Grey (about)

Indulge me today as I tell a story. It’s a long one, so strap in. 

My 33rd anniversary in the software industry was the Sunday that just passed, July 3. I remember the date because my second day on the job was a paid holiday!

I want to show you just how far our industry has come and how much we’ve learned.

The logo of the first software company I worked for — it’s a low-res copy because the company has been gone since 1996 and this is all I could find on the Internet.

The first software company I worked for was Applied Computing Devices in Terre Haute, Indiana. That place was filled with wicked smart people, and it was a joy to work with them. We made software that managed telephone networks. Our customers were AT&T; US Sprint (now called just Sprint); GTE (now Verizon); and several Regional Bell Operating Companies (landline phone companies) including Ameritech (which served Indiana), BellSouth, and Pacific Bell. These companies provided primarily landline (“wireline” in the biz) telephone service then but some were beginning to branch into mobile service. This was complicated stuff to manage, and our software products were correspondingly complex. I needed my 400-level college mathematics classes to understand some elements of our software.

I wasn’t a software engineer – I was a technical writer. I wrote huge paper manuals we shipped to customers that explained to them how to install, configure, and use our software. The software industry was very small then, and as I graduated with my Math/CS degree the economy was in a downturn. I wasn’t getting many interviews for coding jobs and the interviews I did get didn’t lead to offers. 

I lived on campus that summer while I looked for work, but the summer would soon end and I’d have to go home and live with Dad. I had zero interest in doing that, so I decided to pivot to just getting any job at a software company – QA, support, IT, janitor, anything. I’d figure out my way from there. 

A professor at my school knew people at ACD and introduced me. They needed a technical writer. I said I’d happily do the job, and they hired me at $23,000 a year (about $54,000 today). To my astonishment I discovered that I loved to write, even more than I enjoyed writing code. I became very good at explaining that deeply technical software to users.

The ACD building, which is now home to Rose-Hulman Ventures

What I really want to tell you about is what working there was like, aside from being in awe of my super smart co-workers. The software industry was very different then!

Lots of things we all take for granted didn’t exist. The Internet existed but not the Web. Software was delivered to customers on tapes or floppy disks. The CD burner was still a few years in the future. Java didn’t exist, JavaScript didn’t exist, .NET didn’t exist. Languages commonly in use then were C/C++, FORTRAN, Pascal, Ada, Perl, Tcl, and Lisp. Oh, and of course COBOL. I had a summer job in college as a Pascal programmer! Object-oriented programming existed, but was niche. The leading OO language then was Smalltalk. One of my college roommates became very big in the Smalltalk community, and even wrote books about Smalltalk

Finally, software subscriptions were not a thing yet. Companies paid for software entirely up front and got to use the release they bought forever. They had to pay again for major upgrades. Some smart companies spread their payments out over a period of years, but the license was still perpetual.

When you mailed customers the new version of your product most of them wouldn’t install it right away and some would never install it. “The version we’re on works just fine for us.” It was a nightmare in support. We finally decided to support only the last four versions, to our customers’ extreme frustration but the support team’s undying gratitude.

The best SDLC available was waterfall with all of its problems that were not lost on us even then. The whole industry did very long release projects, such as two months of requirements gathering and design specification followed by nine months of coding and then three months of testing. Even if we did see then (and we mostly didn’t) that small, frequent releases were better in a whole bunch of ways, we couldn’t really do it. It was expensive to ship on physical media, and disruptive to our customers to have to do frequent installs.

We thought back then that software development projects should be managed like manufacturing or construction projects. That led us to create enormous Gantt charts (printed dot matrix) that we’d tack onto a huge wall, and use them to track plans and work completed. It never failed that during the first week of coding we’d discover something that we didn’t think of in the design phase, and we’d have to replan the entire project and print all new Gantt charts. We did this over and over every project. 

When the code finally reached QA, the testers would find hundreds or thousands of bugs. They had hardly seen the software before it reached them, and were only barely involved during the construction phase. Because of sheer bug volume, the test phase always needed to go way longer than planned. But by then we’d promised a delivery date to customers. So we could hit the promised date, every release went out with a whole bunch of known bugs that we’d fix in what we called a “fast follower” release several weeks later. Smart customers learned not to install the release until the “fast follower” was available.

Because of all this, projects always turned into awful death marches with lots of late nights and weekends in the weeks leading up to the release date. Burnout was high. But few people quit over it because we thought it was just how it had to be. There weren’t many other software companies to defect to anyway, and the ones that existed had death marches too.

ACD’s tech stack (which was a term we didn’t have then) was C++ on two flavors of UNIX: Digital Equipment Corporation’s Ultrix and IBM’s AIX. Our software ran on DEC and IBM RISC-based minicomputers, machines that were about the size of a bar fridge. We had a whole bunch of them in a big, cold server room. Because we were on the outskirts of Terre Haute our power was supplied by a rural power cooperative and wasn’t terribly reliable. I don’t know why we didn’t have uninterruptible power supplies or a generator, but we didn’t. About once a month we had a short power outage. The minicomputers were chained in sequence and had to boot in order. It took about 10 minutes for one machine to boot. It took more than three hours for all of the computers to finish booting. If the power flickered after about 2 pm, we all just went home for the day.

There was no working from home. The minicomputers were available only on the in-office network. I think it was not technically impossible to connect them to the Internet, but at home we all had only dialup access. Not only would speed have been a concern, but the family wouldn’t enjoy having the phone tied up for hours while you worked.

Everyone had a terminal on their desk on which they did everything. At first all engineers used the venerable VT100 terminal, but later they bought them all these huge $2,000 graphics terminals so they could build the UI in X Windows. UX design wasn’t a thing yet. For that matter, neither was the distinction between front end and back end engineering. Our software engineers designed our user interface, and most of them weren’t good at it.

As a technical writer, I had a Macintosh II computer on my desk running System 6. (System is what MacOS used to be called.) It had 8 MB of RAM. That was a screaming machine in its day. I wrote manuals in a program called Interleaf. I used a terminal emulator on the Mac to connect to the minicomputers.

There was a holy war over text editors. IDEs weren’t a thing yet, so we all coded in a text editor. I was firmly in the Emacs camp, but most of my co-workers loved vi.

Our terminals were on a token-ring network linked back to those minicomputers. Token-ring networks don’t function unless the chain of nodes on it is complete, as information flowed through every node on its way around the network. I did not know this the day I decided to rearrange my cubicle. When I unplugged my terminal to move it, I took half of the network down. I was not anyone’s favorite person that day.

AIX and Ultrix and their underlying hardware were different enough that our code was a mess of IF AIX and IF ULTRIX statements. Sometimes we had to write separate AIX and Ultrix versions of entire subroutines and functions. We had to compile the code twice, once on AIX and once on Ultrix! Java was a total game changer when it came out in 1995. You mean we can write one codebase with no OS- or hardware-dependent IFs and no separate routines, and run it on any machine that can run the JVM? Voodoo!

The software industry was a far less diverse place then. The strong majority of engineers were men, largely white, most of them younger than 35. Two of our engineering managers were women, I recall. We did have a few engineers who immigrated from elsewhere. There were no people of color. It was not safe to be out at work (or anywhere, really) then. I knew that one of the technical writers on my team was gay, but that’s only because we’d become friends and he decided to take the risk and come out to me.

The software engineering team had two titles: Software Engineer and Senior Software Engineer. This was typical in the industry. You had to have at least 10 years of experience, but more likely 15 years, as a Software Engineer before being considered for promotion to Senior. The bar was higher for Senior then, too. I’d say a Senior engineer back then was skilled and experienced more like a Staff or Principal engineer today.

I was very happy at ACD. I loved working there. Because there were only so many telephone companies then, however, we had maybe a dozen customers. Our relationship with US Sprint was always iffy, and one day we pissed them off one time too many and they canceled their contract and dared us to sue them over it. The loss of that revenue crippled us, and was the beginning of the end for ACD. The company started to circle the drain. I did not want to be unemployed in Terre Haute, so I took a job in Indianapolis and moved. Then as now, most Indiana software development happened in Indianapolis.

Let me tell you one last story from ACD, and it involves US Sprint. They were angry with us over one too many buggy releases. They sent us a list of all of the bugs they wanted fixed, and they wanted them fixed by Monday or they would buy a competitor’s product and move on from us. The Engineering team worked days and nights trying to fix those bugs. They worked into the weekend, but by Sunday morning they still had not licked a couple of particularly thorny bugs.

Remember that we had to ship code on physical media. We used tape cartridges, which were smaller than a VHS tape but way bigger than an audio cassette tape.

The Federal Express deadline was approaching on Sunday and the engineers still weren’t done. (Federal Express wouldn’t be renamed to FedEx for many years yet.) Then someone had a brilliant idea: we would ship US Sprint a blank tape with our usual letter listing the changes in the release. And so we did.

Monday we got a call from US Sprint: no matter what they tried, they were unable to load the software from the tape we sent them. Support was prepared: “Oh! We are so sorry. We can’t imagine what must have gone wrong! We will send you another tape today.”

By that time the engineers had fixed those last two bugs. We wrote the actual maintenance release to a new tape and sent it to US Sprint. The company lived to fight another day!

Work Life

The hidden reason companies want you back in the office

By Jim Grey (about)

It’s all over the news: workers are quitting their jobs instead of giving up working from home.

Who blames them? So much work can be done from wherever there’s a good Internet connection. Your commute is a quick trip downstairs or down the hall. You have fewer interruptions. You can much more fluidly blend work and life.

Yet many companies want people back in the office. It defies logic — until you consider that company leaders are sick of Zoom. They are ready to meet in person again.

Think about it. What do your managers do all day? If they’re anything like me, they sit in a lot of meetings. On a typical day, I have six hours of meetings. During the pandemic, I’ve spent a lot of time on Zoom — and it’s exhausting. I’m spent at the end of each day like I never was before. I think many people in leadership have the same experience.

The Pyramids
The Pyramids, distinctive office buildings here in Indianapolis

This could be driving us to want people to come back to the office, and to think that working together in the office is better. It is, for us leaders. We would do well to remember that most people in our companies are doing just fine at home.

I’m sure that if I were doing the kind of work I did before I moved into leadership many years ago — coding, testing, writing — I would not want to return to the office with all of its noise and interruptions. But as a leader, absent a radical shift in how the kind of work I do gets done, I will prefer to talk with people in person, which means being in the office.

I went to the office on Tuesday for a big group meeting. Leaders in Product, Engineering, and Architecture met to figure out the platform and architecture work necessary to support the product roadmap. We met all day, and then we went out for dinner together.

I normally hate all-day meetings. But Tuesday was glorious. Our discussion was fluid; we even bantered. Nobody froze because of Internet problems. During breaks, we talked casually. We accomplished a great deal and we built camaraderie. And, critically, I had energy to spare at day’s end.

The next day I worked from home. One of my meetings was with the CTO and the VP of Product, both of whom happened to be in the office. They were able to talk easily and I struggled a little to get a word in edgewise via Zoom. I regretted not driving in!

There are real disadvantages to going back to the office. I’ll gain a long commute back. I’ll no longer be able to throw in a load of laundry, or ride my bike over lunch, or even start dinner immediately at quitting time. Heck, during the pandemic there were even a few afternoons when, after a rough night’s sleep, I took a 30-minute snooze. That was amazing — and impossible in the office, as there’s nowhere to do it, and it’s generally frowned upon anyway.

But I will happily trade those things away to regain good, fluid, personal conversations with people, and be less drained at day’s end.

Many people I work with will keep working from home. That’s fine; I can Zoom with them from the office. But most leaders at my company will return to the office four or five days a week. Most of my meetings involve them anyway, and we will meet in person.

Companies will be wise to remember that experiences vary depending on the nature of the job and role, and work to find compromises that give people as much of what they want as possible, in terms of where they work.


Nine tips for interviewing over Zoom

By Jim Grey (about)

I’ve been hiring engineers and testers lately. Even though pandemic restrictions are starting to lift, most of us are still working from home. So are the people I’m interviewing. That means I’m interviewing over Zoom.

I care a lot more about a candidate’s qualifications than I do about how they present on Zoom. I hope it’s true of all hiring managers. However, good presentation removes any subtle biases and barriers to your success.

What I look like on a Zoom meeting

Here are a few tips from the trenches that can help you present well.

  1. Video and audio quality need only be adequate. You don’t need pro equipment. The camera and microphone in your laptop are sufficient. A webcam from a major manufacturer will be fine. A headset might reduce ambient noise; try one and see.
  2. Test the videoconferencing platform before the meeting. A few times, candidates have struggled to get Zoom to work, and we lost the first five or ten minutes of the interview. If you know what videoconferencing platform the interview will use, install it on your computer well in advance and make sure your camera and microphone both work with it. Also make sure you know where the mute button is and how to recognize when you’re muted. Know where the app’s audio settings are, in case they say need you to turn up the volume on your end. If you don’t know what videoconferencing platform will be used, record ten seconds of yourself reading something into your computer’s video app. Play it back to see how it looks and sounds, and adjust settings in your computer accordingly.
  3. If you can, do it in a quiet place. I got to listen to loud sirens in one interview, as fire trucks rumbled by on their way to a call. I am embarrassed to admit that one interviewee got to listen to our microwave oven roar and beep while my son heated up a burrito, as my home office is just off the kitchen. Neither was the end of the world, but it would have been nicer not to have those interruptions.
  4. If you must use your phone, set it steady and level, in portrait orientation. One candidate used her phone, and turned it sideways so I appeared larger on her screen. But Zoom didn’t correct the orientation of her camera, and she appeared sideways on my screen. Another candidate held his phone in his hand the whole time, and it was a jerky experience. Get a stand for your phone.
  5. Face the camera. I know a lot of people place their laptop to the side and their main monitor in front of them. But then they appear in profile on camera, as if they’re speaking to someone outside the frame. If this is you, use the laptop screen for the interview. Or do what I did, buy a USB webcam and set it on top of your monitor.
  6. Position your camera so the top of your head is near the top of the screen, and you are centered horizontally. I spoke to one candidate who I could see only from his nose up, his head at the very bottom left of the Zoom window. I got a great view of his ceiling above. Another candidate appeared to tower over me on screen, as his monitor was somehow above his camera. When you are front and center, it’s far easier for the interviewer to connect with you. You may need to elevate your laptop to achieve this; a stack of books may do the trick.
  7. Consider how much or little of your body you want to show. My camera’s position and field of view reveals my torso from the sternum up. I’m good with that, but perhaps you prefer to show less of yourself. You can move closer to the camera, or buy a camera with a narrower field of view. Alternatively, for some cameras (like my webcam) Zoom lets you turn off HD, which will make you appear closer on the screen and show less of your body.
  8. Make sure the room behind you is tidy. In one screening call, I got a great view of the candidate’s unmade bed and some dirty clothes piled up on the dresser behind it. Tidy up behind you! If that’s not possible for some reason, consider using a Zoom background (but know that some people find them to be distracting). To use a background, you need to download Zoom in advance.
  9. Pay attention to clothes and grooming. One fellow appeared on my screen looking like he just crawled out of bed. You don’t need to dress formally for a Zoom interview, but do make sure your hair is in order, your face is clean, and your shirt is fresh.

Fortune’s careless aim

By Jim Grey (about)

It’s the American mythos: if you work hard enough, you can accomplish anything. But I no longer think it’s true.

Mind you, I’m all for hard work. But I think success also requires good resources and good luck. Actually, I think resources and luck are more important than hard work. They make hard work gain solid traction. Without them, a lifetime of hard work usually yields very little.

I see it all the time in the inner-city church I attend: teens struggling to make a viable life as they enter adulthood, adults working hard only to barely tread water. Many of these people are bright and capable and have dreams they’d like to achieve. Few of them make a stable life, despite their best efforts.

In contrast, I’ve done well in my life. I make upper-middle-class money — not so much that I’m free from financial worry, but enough that the wolves are so far from the door that I’ve pretty much forgotten what they look like.

What has brought my good fortune? Hard work has certainly been important. But I’ve also had resources that my inner-city church friends simply lack, and those resources and my willingness to work have let me capitalize on the luck that has come my way.

My story illustrates my point very well. So I’m going to tell it three times: first through the lens of hard work, then through the lens of resources and luck, and finally through the lens of some of the difficulties I’ve faced, some of which were severe. As you read it, think of your story. How hard have you worked? What setbacks have you experienced? How have your resources and luck enabled — or lack thereof limited — success?

My story through the lens of hard work

Here’s the version of my life story, from the perspective of the success I’ve found in my life. Told this way, it looks like hard work really pays off.

I applied myself in school and got good grades. I also learned how to program computers. These things got me into a top engineering school where I worked harder than ever before or since. I got a degree in mathematics and computer science. I moved into a career in software development, where I’ve worked hard for more than a quarter century now and have risen through the ranks. Today, I’m a director in a software company. I have an upper-middle-class job and I’m doing well.

My story through the lens of resources and luck

I have worked hard. But when you look at my life through a wider lens, you can see how many resources I had available to me, and how good luck at key moments led to important opportunities.

I was born in 1967 to working-class parents who had high-school educations. We didn’t have much for a long time, but my parents were frugal and we never went without. Manufacturing jobs were reasonably plentiful then and Dad worked steadily. He was smart and capable, and in the 1980s was promoted to management.

My parents deliberately created a quiet, stable environment for my younger brother and me. We were well cared for and loved. Education was everything to them. Homework came first. They praised and rewarded our scholastic achievements. They always spoke of college as something we would do as if it were the natural next step after high school.

I was intelligent. I taught myself to read by age 3. And then I turned out to be well-suited for school — I was naturally well behaved and liked the rules and structure. I did the work and got excellent grades. In high school, I was accepted into all the advanced-placement classes, and I liked the challenge.

As I entered high school, the then-new home computers were just becoming affordable. I’d shown aptitude so Dad, flush with a new management-level salary, bought me one. I taught myself to write code on it. I spent hours mastering programming and really loved it.

I started writing programs to illustrate the concepts I was learning in my advanced-placement geometry class, and the teacher learned of it and had me demonstrate them to the class. He was impressed. “Jim, you could do this for a living.” That was a revelation: I had no idea people made careers out of programming computers. “You’ve got talent,” he continued. “You should study at Rose-Hulman. You have what it takes to make it there.”

I’d never heard of Rose-Hulman. It turns out it’s one of the nation’s top engineering schools, and it’s here in Indiana. I thought surely I couldn’t get in, but I applied anyway. To my astonishment, I was accepted.

In my room at Rose in 1987

Rose is expensive, and was out of my family’s reach. But the Lilly Foundation, the philanthropic arm of Indiana pharmaceutical giant Eli Lilly and Company, was at that time helping bright first-generation college students go to private colleges. Their grant paid for a large portion of my college expenses. I also got a federal grant and a couple smaller scholarships. One federal program let me borrow some money, and another paid me to work part-time on campus. A state program helped me find summer work to earn more money. My parents were left with about 1/3 of the bill, bringing Rose just into reach. They lived on next to nothing while they paid for it.

Rose was enormously challenging — I never worked harder before or since. But I made it through, with a degree in mathematics and a concentration in computer science.

At graduation, the country was in a recession. Like many of my classmates, I had trouble landing a job. I wanted to be a programmer, but those jobs were scarce. But I had taken a technical-writing course as an English elective, and the professor connected me with a local software company that wanted to hire a technical writer. The company was founded by a Rose grad who liked to hire other Rose grads. I got the job.

I wrote and edited technical materials for a dozen years at several companies. At one company, my boss saw something in me and promoted me to manager. And then it turns out I had an aptitude for leading people, and liked it. After completing a successful and important project, he gave me a new opportunity to lead software testing, and mentored me as I learned the ropes.

A burgeoning software industry has formed in central Indiana, and I’ve ridden the wave, moving every few years from company to company to take on greater responsibilities and new challenges. Along the way, several people have mentored me or taught me a skill I lacked. It’s enabled me to deliver well everywhere I’ve worked.

It’s been enough to impress corporate CEOs and Vice Presidents all over town enough that I can call them up and meet them for coffee. Several years ago I reached out to them all in search of a new challenge. With their help, within eight weeks I was in a new role at a company with a bright future.

My story through the lens of life challenges

You might now think that I’ve lived a charmed life. But I have had some deep difficulties and stunning setbacks.

I’m not going to air my family’s dirty laundry here, but suffice it to say that there were challenges that led me to enter adulthood with difficulties forming healthy relationships, and that held me back for a long time. I lived with major depression and anxiety through my 20s and 30s. I was abused by someone who was supposed to love me and was left with PTSD. I endured a terrible marriage and, inevitably, a brutal and expensive divorce. I live with a chronic health issue that, for a while, I worried would leave me disabled. I’ve been let go twice by companies that couldn’t afford to pay me anymore, and I was fired not once, but twice.

These things have, point blank, held me back from greater success.

Yet they didn’t crush me. They could have; I’m not made of rock and titanium. I see people at my church struggle with many of the same challenges and it devastates their lives, leading to bankruptcy and homelessness, or severe chronic mental and physical illness. Sometimes they never recover.

The major difference, and the reason I’ve come through all of that okay, is because I’ve had good resources: family and friends who offered support, and money (and good insurance) to get help when I needed it.

Key themes in my story

Several key themes are woven through my story.

Timing. That I was born in 1967 is very important. I was about the right age for all of these things:

  • When I was a teenager, home computers became affordable to a family that had just emerged into the middle class.
  • When I entered engineering school, the Lilly Foundation was actively helping people in my situation pay for it.
  • When I entered the workforce, software companies were just starting to exist in quantity, creating demand for talent even during the recession we were in then.
  • When I began to mature in my field, the dot-com boom was forming and software companies were desperate for talent. It gave me the opportunity to move into leadership, which springboarded my career and, eventually, my income. That bubble burst, but another, more sustainable boom followed, and has created endless opportunity.

If I had been born a few years before or after 1967, I would have been the wrong age to fully enjoy most of these advantages.

Family. The family in which I grew up wasn’t perfect, but my parents loved me and raised me well overall. They didn’t have much money, but they were hyperfocused on making sure I got a very good education. They have been a source of support and encouragement throughout my life, especially during the most difficult days.

Natural abilities. I’m intelligent and intensely curious. My brain is wired just right to understand and enjoy technology.

Working/middle-class life skills. I know how to get to work on time and how to please my boss. I have good life-organization skills: there’s always enough food in the house, I pay my bills on time and have good credit, I keep my car and house well maintained (and do as much of the work myself as I can).

Willingness to work hard. I like to work. Look at me today: director in a software company, finishing raising my children, president of a nonprofit, elder in my church, publishing in my personal blog six days a week.

Good people. Just look at all the people who have helped me: The geometry teacher. The English professor. The boss who promoted me to management and taught me the ropes in software testing. The other mentors and colleagues I’ve alluded to who have elevated my abilities and helped me find new opportunities. Friends who supported me through difficult times and connected me with professionals who could help me.

Money. Just look at all the places money came from. My parents’ labor and sacrifice. A philanthropic organization. Federal and Indiana governments. And now, a healthy salary thanks to being a reasonably talented person in a booming field. Funds have been available to pay for college, for lawyers through my expensive divorce, and for healthcare professionals.

These incredible resources have provided a solid foundation on which I’ve been able to build a pretty good life — and recover from setbacks and difficulties.

My story through the lens of great wealth

Let me try to tell my story through one more lens, as best as I can: from the viewpoint of someone who was born into far greater privilege than me.

One of my college roommates was from a very wealthy family. To give you an idea of just how wealthy, he grew up in his own wing of his family’s mansion. Given my working-class roots, we were an odd pair of friends. I had no real concept of his reality, and he had little concept of mine, but we had Rose-Hulman and computer programming in common and it made our friendship work.

He could see that I had no clue about what success looked like in his world. Sometimes he gingerly offered me advice from his perspective. More than once, he coached me hard to save money and build capital. “When you get your first job, save up $10,000 as fast as you can,” he said. He detailed some ways I should invest it. “And then save another $10,000. And keep investing. It won’t take that long, really, for your money to grow to $50,000 or $100,000 or beyond — and then you’ll have money you can really work with.”

I couldn’t get my head wrapped around it. I came from a mindset of working to pay the bills — and if you had any left over, it went into a fully liquid emergency fund. And $10,000 was an unimaginable sum to me then. Even if I could save it, why would I tie it up in investments? What if something went wrong and I needed it?

He also talked to me about the importance of building relationships in my career, especially with VPs and CEOs. But to me, people with such lofty titles might as well have been 25 feet tall. Who was I to them? Why would they want to even talk to me? What did I have to offer them anyway? I’d rather let my hard work and eventual accomplishments speak for themselves.

That friend and I slowly drifted apart after college, I think in some part because he was living in his upper-class reality and I was living life according to my working/middle-class rules. From my perspective, I’ve done something remarkable: moved up one socioeconomic class. I am living successfully! But I think my friend was frustrated to see me squander my resources and not build a good network.

With my success of about the last 15 years and the world to which it has introduced me, my mind has slowly, finally come to see where my wealthy friend was coming from. You see some of it towards the end of my resources-and-luck story: how I do have VP/CEO contacts now, and I maintain those relationships. But even then, I did it the working/middle-class way: by proving myself through my work first.

– – –

So consider your story. What time in the world were you born into and how did that play into your success? Were you born into poverty, the working or middle class, or wealth? What life skills did your upbringing give you or not give you? Was your family emotionally healthy and a source of strength in your life? Did you have any major setbacks in your life? If so, were you able to recover from them? Why or why not? Do you have good friends, good colleagues, good professional contacts? Where has money come from in your life and how has it helped you get ahead?

Because no matter how hard you’ve worked, without those advantages you would be nowhere near as successful as you have been.


Changing jobs during a pandemic

By Jim Grey (about)

Even as I approached the building, all was strange. The front was still boarded up after last summer’s Black Lives Matter protests, the only such building on the block. My key card let me in the front door. It was irrational, I’m sure, but I thought it might not still work after not having used it in ten months. The lights were off in the lobby, as they were on my floor as the elevator doors opened.

My desk was as messy as I’d left it. I didn’t know when I took the week off in early March that I’d never use it again. The company ordered us all to work from home starting the Monday I was to return.

Fast forward to December. I received a fantastic offer from another company, one I would have been foolish to ignore. I took it. On my last day, I drove to my soon-to-be-former office to clean out my desk.

I’ve left jobs before, a dozen times. I have it down. I take stuff home little by little during my last two weeks so my desk is clear on my last day. After lunch I walk around and say personal goodbyes to everyone I can find who I ever worked with, wrapping up with my boss. Not only will I miss the people, who I genuinely enjoy, but also I want to leave a good final impression. The market I work in is small enough that I’m likely to work with some of them again. When I’ve said my final goodbye, I slip out the door.

This was all different. There had been a Zoom happy hour in my honor, which was a nice gesture. I said goodbyes in my normal meetings all during my final week. Anyone I didn’t see, I Slacked. But it all felt so disconnected.

Stepping off the elevator, the floor was silent but for the whoosh and hum of the HVAC. The last time I was on this floor it buzzed with such activity that I needed noise-canceling headphones to be able to focus. I sorted through my things, leaving a healthy portion of it in the wastebasket. I left my laptop and my key card on my desk, picked up my box, rode the elevator down, and walked out for the last time.

Monday morning I started at the new job. My commute didn’t change a bit: I came downstairs, sat at my desk, and started Zoom. But the faces I saw on the screen were all new.

The new company did a terrific job of onboarding, easily the best experience of my career. They committed to everyone’s first full week being nothing but group meetings with various people in the company telling us the company’s history and mission, how we make money, how administrative things work, and what our product looks like and how it works. We got to meet all of the executives.

Yet I kept wishing to see my old team in those little boxes. I really missed them! I always miss the good people I worked with when I leave a job, but never this acutely. But then, I didn’t get to say a proper goodbye.

Project Management Quality

Ship Mode: Recognizing when it’s time to stop polishing your work and just ship it

By Jim Grey (about)

Every creative project has three phases: make the thing, polish the thing, deliver the thing. The polish step is where you remove errors through testing, editing, inspection, or other review. The deliver step is where you put your work in people’s hands.

It’s so easy to get stuck on the polish step. You keep checking until you’re sure it’s perfect! This is all about fear. When your work is in the world, they can judge it. They can even ignore it. We want to avoid how bad that feels.

Also, perfection is expensive. You can spend as much time rooting out every tiny flaw as you did making the thing. Those tiny flaws will be embarrassing. But they won’t really hurt anything, and they won’t keep anyone from clicking Buy Now. Crucially, eliminating every last minor flaw keeps you from working on new projects that create new value.

When you’ve applied reasonable polish, when you feel the fear of rejection, it’s time to enter Ship Mode.

In Ship Mode, you single-mindedly do the tasks that put the work in people’s hands. You’re not looking for problems anymore. You choose to think of your work as a finished product. You might notice an error while you’re in Ship Mode, but unless it’s truly egregious, you keep shipping.

My new book was good enough to ship — but it’s not perfect

I write in my spare time, personal stories and essays. I’ve done it for years. I recently self-published a book of some of my earliest work. (Scroll to the bottom for more details!) I did the whole job: writing, editing, creating the print-ready and e-book files, and (now) marketing. I saved money doing it all myself, but I’m skilled in only some of these tasks. Also, there came a point where I’d looked at my book so much I had become blind to it.

I’m a recovering perfectionist and I’m mildly OCD (officially diagnosed). It was hard for me to learn to let go and enter Ship Mode. But I’m glad I learned it many years ago, or I would still be making myself nuts perfecting my book. I have a day job. There’s only so much time to work on side projects. If I polished this one to perfection, it would not be available for several more weeks yet.

Curse you, Page 50!

I saw it only in the last step of the submission process to Amazon: this ungraceful flow on page 50. No publishing company would allow a paragraph on one page to spill three words onto the next right before an illustration.

When I saw it I gritted my teeth. I probably said a four-letter word. But not only is this problem not egregious, but most readers won’t even recognize it as a problem. Nobody will demand a refund because of it. I clicked the Approve button to finish the submission. That’s Ship Mode!

I edited every story as I assembled the book, and then made two proofreading passes. But when my author copy arrived I found two typos in five minutes. How frustrating!

But I will be shocked if you find something really messed up, like garbled sentences or missing paragraphs. During the polish phase I sweated out everything that would have seriously damaged your experience with the book.

And then I got on with shipping it so you could read it and, I hope, enjoy it.

Ship Mode! Because there’s a point past which polish doesn’t pay.

My new book, A Place to Start: Stories and Essays from Down the Road, collects early work from my personal blog. I had just come through a great difficulty in my life, a real setback that left me reeling. Through writing my stories I was able to make sense of what had happened so I could move on. My book captures those stories and shows a way to find your way through hard times to a better future.

Here’s how you can get my new book:


Welome to

When I started this site a bunch of years ago I called it Stories from the Software Salt Mines, and gave it the domain I thought it would be a group blog, me and a couple colleagues telling crazy stories from the work we’ve done. It would be cathartic and fun.

Instead, it’s been just me. From the start I’ve shared the things I’ve learned along the way about delivering software through leading people well. If you read every post on this site, you’ll have a pretty good idea about how I approach my work as a leader of engineers and testers. This site has become a portfolio of my ideas.

A few years ago when I launched a job search I realized that this blog is a good marketing tool. I changed the masthead to my name.

Now I’m changing the primary domain to my name, too. I’ve owned for probably 20 years now, so I hung a subdomain off it and am redirecting it to this site.

With that, welcome to My old domain is paid through April so I’ll keep it for a while and let it redirect. But one day I’ll pull the plug on my old domain.

The old name will live on in the background, however, as I used softwaresaltmines to register this blog with If you’re ever feeling nostalgic for the old days, just type into your browser. You’ll come right here.


You are an impostor

By Jim Grey (about)

I hired a software developer right out of college. He had a lot to learn, but he learned it steadily. Yet he admitted to me privately that he wasn’t sure he belonged. He thought that the other developers spoke so confidently and delivered so competently. He compared himself to them and, in his mind, came up wanting.


What he didn’t know was that I was leading developers for the first time. I’d been in management roles in the industry for a very long time, but always of testing and communications teams.

Worse, I hadn’t written a meaningful line of code in about a decade. Even then, most of that code was test automation. That’s not the same as writing product code.

Yet here I was, leading developers. The CTO who hired me wanted my skill in managing people, leading projects, and refining process. But I had so much to learn about modern software development. It was embarrassing to need the developers to explain the basics to me.

I told this young developer this story and admitted that I felt like an impostor, too. But I’d experienced impostor syndrome before. I knew that with effort and time I’d learn what I needed to learn and the feeling would abate. More importantly, even with all I needed to learn, I knew I had something valuable to offer right now. He did too, I told him.

We all figure it out as we go. In time, we build experience that lets us get it right more often.

What I wish I’d told him, what I’ve learned since then, is that there are three kinds of impostors:

  • There are the impostors who don’t know they’re impostors. They’re so self-possessed that they overestimate themselves.
  • There are the impostors who know it but do everything they can to hide it. They live in fear and anxiety that they will be found out.
  • And then there are the impostors who know it, admit it to themselves, and sometimes even admit it to others. They’re the ones who can grow the fastest.

This young developer was the best kind: he admitted it. It let me tell him my own story, which helped put his mind at ease. Then it let us talk frankly about the areas where he felt like he didn’t know what he was doing, so I could pair him with other engineers who could level him up faster.

Managing People

Too soon to declare victory on distributed work

By Jim Grey (about)

It’s a foregone conclusion that my company will keep us working from home through the end of the year. There’s no compelling reason to go back. We are delivering as well now as we did before mid-March, when the office closed. But more importantly, no amount of office safety precautions can eliminate our risk of the virus.

A group of voices in our industry has said for years that we would all be more productive and have a superior work-life balance if we all worked from home. Now that we’re all working from home and it’s basically working, they are crowing victory.


I say, not so fast. We’ve been at this only four months, not long enough yet to be sure. Let’s see how we feel in mid-November when it’s been another four months. Given the virus’s resurgence, it doesn’t seem far fetched that this could last even longer than that. Let’s see how we feel at the one year mark, four months later in March.

A software engineer on my team said to me recently, “I really miss everybody. I wish I could get a group together to go to lunch, like we did every day in the office.” I miss that, too. I used to bring my lunch, but anytime I wanted lunchtime camaraderie I knew I’d find some group of engineers going out, and I’d be welcome to join them. Many of those engineers are on projects I’m not involved with and I haven’t seen them in months.

He said he especially missed the in-person dynamic of our seven-person team: “I know I see you and the other engineers on the team on Zoom in our daily check-in meeting and in our regular tech discussions, but I miss our energy in the office. I feel isolated here.” Then he asked, “Do you think it would be possible to get us together, maybe for lunch at some restaurant outside? If people want more distance than that, maybe we could all bring our lunch to a big park?”

I checked in with the rest of the team and they were all enthusiastic about getting together, as long as we keep physical distance. We’ve laid in plans to spend some time together this Thursday, outside, at a place where we can stay spread out.

I also manage the managers of three other teams. Our four teams work toward common corporate goals, but we’re set up so that each team has its own backlog of work. It’s efficient. But part of what makes it work is that in the office we all sit in in adjacent groups of desks. This is deliberate. It lets us see each other all the time so we can stay in frequent contact.

It’s been harder since we started working from home. We’ve done our best to stay in touch, but haven’t found a replacement yet for the random, organic, quick check-ins we were used to. I’ve noticed an undercurrent of tension growing among the managers. Recently, there have been a couple spots of friction among them.

We needed to talk things through. My gut told me we’d be better off meeting in person rather than over Zoom. I asked the managers if they’d be comfortable meeting in a park with masks and good distancing. After they thought it over for a while they agreed — the benefit outweighed the (mitigated) risk. We met Thursday afternoon. We talked through the challenges we’re facing and came up with some collaborative and creative ways to stay aligned, both with each other and with some key peers we work with. All of the managers told me that it was good to be able to see each other in person, and to read body language as we interacted. They wished we could do it more often.

The distributed tech companies will all tell you that meeting in person from time to time is essential. But they tend to do it in big annual or semi-annual whole-company gatherings.

Also, these companies either built a distributed culture from the start (such as Automattic, which makes WordPress, the software that runs this blog) or shifted to a distributed workforce a long time ago and evolved their culture to fit it.

Companies like mine — most tech companies finding themselves with a COVID-driven at-home workforce — have not completed that evolution, if they’re even trying. We are used to the dynamics of working together in person.

Several people I work with closely tell me they’re perfectly happy and could keep this up forever. But the rest of us are still figuring out how to adapt. I can think of a couple people on my teams who might never fully adapt. They might need an office environment to work best.

I don’t look for my teams to meet in person regularly. We are all best off limiting our exposure to people we don’t live with. But during these summer months we can meet in person if we need to. There are plenty of wide-open spaces in our city parks, for example. But what happens when the warm-weather months end? This is Indiana, after all. It’s cold in the winter, and we get a lot of snow. For those of us who feel isolated now, just wait until winter takes away all of our reasonably safe options to connect in person.

All tech companies need to keep intentionally evolving toward more effective ways of working while distributed. I think it’s a long journey, one that is unlikely to be accomplished in the short term. I wish us all luck during the long winter.

Originally posted on my personal blog here.


Juneteenth: are we really woke this time?

By Jim Grey (about)

I published this on my personal blog yesterday, Juneteenth 2020. It has a message for the people I try to reach with this blog, as well.

My dad was the sole white member of the Dr. Martin Luther King, Jr., Senior Men’s Club in my hometown of South Bend, Indiana. Dad was interested in economic development in the city’s depressed west side, where he had lived as a teenager. He worked with a few west-side groups trying to move initiatives forward, and the Men’s Club was one of them.

Through this, I think, he became aware of the challenges black families faced in South Bend. Whenever I’d see him he’d eventually steer our conversations toward those challenges. He could talk for hours about them. As a dyed-in-the-wool Republican he always advanced conservative solutions. The men of the Men’s Club were Democrats to the core and vigorously disagreed with Dad, but they came to like him anyway.

This is how I first heard of Juneteenth. There were celebrations every year on South Bend’s west side, and my parents always went to them.

I work in technology, specifically in software development. This industry is overwhelmingly the domain of young white men from the middle and upper classes. Where I work now, we have the most diverse team of anyplace I’ve ever worked. That doesn’t mean it’s highly diverse — we just have some women and a few black people on the team. We also have several immigrants from India and China and a few old white guys like me. That’s enough to set us well apart.

The murder of George Floyd by police in Minneapolis was the one-time-too-many that finally captured this nation’s attention. People of all backgrounds are saying enough. It’s time to treat black people with the same dignity and respect that is afforded white people.

At work, leaders have been talking a lot about how to improve the diversity of our team. Because I follow a lot of Indiana tech companies on LinkedIn, I see through their updates that they are having the same kinds of conversations.

I see it as systemic that our industry is made mostly of young white men. Most jobs either require or favor a four-year engineering-related degree. In my experience, that’s overwhelmingly the domain of young white men of some means.

Technology companies should eliminate the degree requirement. Then they should invest in training and apprenticeships. Yes, let’s apply the old trade model to technology. At least in software development, there are coding academies that teach the basics. Companies can band together to create scholarships to those academies, and heavily recruit people to those scholarships who are not young white men. They can then bring graduates on board and show them the ropes on the job.

Personally, when I have an opening on my team I scour LinkedIn for people who aren’t young white men and I recruit them. Plenty of young white men find my opening on their own. I’m still selecting from the pool of people who are already in the industry, blocking people who want to get in but don’t yet have the bona fides. But it has led to my last two offers going to a black software engineer and a woman engineering manager.

Out of the blue, my company this week announced that they are giving us this afternoon off to celebrate Juneteenth. My brother works for another local tech company that has one-upped us: they’ve made Juneteenth a paid company holiday, starting this year.

I’m cynical. Are we just signaling virtue? Will we actually carry our discussions about diversity through to action?

None of the social welfare and justice initiatives Dad was involved in drove lasting change. It was an uphill climb, and it required persistence and cooperation beyond what my father could arrange. The same persistence and cooperation is required to drive diverse hiring in the tech industry. It’s also needed across the United States for the good of our whole nation.