Personal

I suppose having my midlife crisis in startup software companies was better than buying a sports car or dating younger women

I’d been a first-level manager in the software industry for 15 years, leading testers and technical writers, when I was passed over for a promotion to Director. It pissed me off. I was a good manager who had accomplished a lot for that company, and I was ready to stretch into the next level. I thought I deserved the chance. I don’t think it’s just my ego talking when I say I would have done a better job than the man they brought in and for whom I had to work.

Then I got a call from a startup software company: was I interested in being a Director for them?

Why yes. Yes I was!

I don’t know where my ambition came from, as I’d had little of it before then. Since I was a teen I had wanted only to work in the software industry. For a long time I was perfectly happy writing technical documentation and testing software to make sure it worked as intended. I didn’t seek to move up the ladder; my first management job fell into my lap.

Office
I’ve had a lot of desks in my career, but only twice a private office.

Yet through my early 40s I felt pangs of discontent. I could see ways to do things better, but as a manager I lacked the authority to do much about it. I itched to have more clout and make a bigger impact. Also, as my kids were headed toward their college years, the extra money of the Director level appealed to me.

I got the job and dived belly first into boiling water. What a mess things were there. Not only did I build their test team from scratch, but I also turned around their broken software delivery system. I wasn’t able to fix the company’s fatal flaw, however: the product was a hard sell, and we kept widely missing our sales goals. We rolled and pitched as upper leadership had us build this and then that into the software hoping something would catch on in the marketplace. Nothing ever did, not enough to make a dent in the market, not enough to satisfy investors. Sales became frightfully poor for six months and it became clear they’d have to cut staff. They showed me the door.

I moved on surprisingly quickly to another young company, beyond its startup stage but not yet mature. I built a couple functions from the ground up as a Director there — another testing team, and a program management team. It was great fun and I liked it there a lot.

Yet I’d started dreaming of being a Director of Engineering. Testing had become old hat for me, and because of changes in the industry opportunities were drying up. But also, I knew that quality starts at the top — you have to build it in. To deliver software as well as I knew it could be done, I’d have to do it by leading the software developers.

My chance came two years ago. An executive I knew and admired wanted me to lead engineering at his startup. I jumped at the chance.

Office
The view from the Director of Engineering’s desk.

I proved there what I wanted to prove all along: that building a product well from the start is better and faster all around. Our product had few bugs, it held up under load, and it scaled with the business.

But after we built the core product, there were internal disagreements about what to build next. It undermined everything. The executive who hired me had ideas, but he didn’t win over the rest of the execs and in the end he resigned. The person they brought in to replace him treated me badly, and as you know if you’ve been reading this blog for the last six months she fired me with neither explanation nor warning.

I had proved to myself that I could do all the things I wanted to do — but so what? It didn’t save these companies, it didn’t give me the feelings of accomplishment I wanted, and it sure as hell didn’t bring me the respect and admiration I was secretly looking for. Instead, I wound up on the street.

The job I was able to get before my family’s finances got rough is as a first-level manager. It stings a lot to have been essentially demoted.

At least I’m still in engineering. Also, I’m a deeply experienced first-level manager; this is a job I can do well. Even better, I’m in an organization that, while not perfect, functions reasonably well. As in all companies there are business challenges, but there are agreed-upon plans to work through them. If you’ve ever worked for me, you’ve heard me say it: even a mediocre plan will work if everybody follows it. Also, because the company is mature it pays market rate, something startups don’t do. I make the same money I did before as Director of Engineering.

I’m dancing on a fine line. To accept where I am feels like giving up on my dream. Even though I found out my dream isn’t all it’s cracked up to be, a part of me wants to double down on it to prove it was good all along. Maybe I should get a new dream. Or maybe I should stop dreaming and be content with what I have, because it is objectively good.

Standard
Essay, Personal

Technical problems can almost always be solved, but people problems are hard

I’ll never forget the revelation it was when I figured out how to write computer programs. You mean, I thought, I can make this machine do what I want it to?

It was a watershed moment in my life.

A portrait of the geek as a young man

I was shy, introverted. People often frightened me, at least a little. I struggled to interact with people I didn’t know well, and I had no idea how to influence others. And then here was this machine that I could order around. It had limits – it couldn’t make my breakfast for me. But within those limits, it was all about what my mind could imagine and then code. I wrote games that my dad and my brother played. I wrote programs that illustrated concepts of geometry, which I demonstrated to math classes in school. I wrote a payroll application for my aunt’s small business. I even wrote a very rudimentary operating system once – it was terrible, but I learned a lot.

So I went off to college to learn how to make software. When I got out, the job market was terrible, so I took the only software job I could find, writing user guides for a software company. Later in my career I moved into testing, and into management. I’ve delivered a lot of software since I started almost 24 years ago.

Here’s the crazy thing I’ve learned: The hardest thing about making software is not the technical stuff. The hardest thing is getting people aligned and pointing the same way!

I’ve often said that it’s a modern miracle when a software project succeeds. Any software development project that involves more than about two people will have coordination challenges, differences of opinion, and all the other normal issues of working together. My experience has been that the programmers and the testers can do whatever you need them to (short of, say, telepathic user interfaces). They will work hard at it, they may struggle to get it right, and there may be frustration and late nights getting it done. But those struggles can pale in comparison to how hard it is to get everyone to agree on what to build, how to build it, and what it means to be done. Here’s how code is better than people:

Code People
Once coded, code stays coded and reliably does the same thing over and over. You think you have people all organized and then they go off and do whatever they want anyway.
You will sometimes struggle and work hard to make your code do what it needs to, but you can almost always get the job done. Sometimes you simply can’t influence people. Drat their free will.
Change your code, it doesn’t mind. It knows no fear. People hate change! When change is thrust upon them, they often resist it or even run away, screaming.

By the way, the WordPress editor doesn’t offer a way to create tables, so I wrote some HTML code to generate one. Fear my mad, l33t sk1llz.

Unfortunately, even if you have the best coders in the world, if you can’t get them to work together their projects will fail. Fortunately, I understand geeks, for I am one. I know what makes us tick. I’ve learned how to influence us and get us all reasonably pointing the same way. And I’ve built on these skills to learn how to influence non-geeks such as upper management, salespeople, and customer service folks to get them all working together. It’s not easy, and it’s impossible to ever get it perfect, but I’ve had pretty good success over the years and it’s contributed strongly to any number of successful software releases. And it’s helped me come out of my nerdly introverted shell.

I can’t remember the time I last wrote any serious code. I don’t miss it. To my astonishment, I’m having much more fun and success on the people side now.

readmore2

Life got lots easier for me
when I embraced my inner geek.

Standard
Stories Told

Time for new business cards

I start a new job today! I have joined a small software company as their Director of Quality Assurance. I won’t name the company – it’s not top secret or anything, but a lot of what I do is confidential research and development. I will say that this is a very small company getting off the ground, and they want me to build their testing organization. (Programmers write the code, and testers make sure the code works.) It’s a great opportunity for me!

I’ve gotten ahead in my career by moving from company to company, which is typical in the software industry. So over the years I’ve had a lot of different business cards. I still have some from most of the places I’ve worked. Since I don’t write about my work very much here, I thought you might enjoy hearing about my work history as told through my business cards.

My first job after college was for a software company in Terre Haute called Applied Computing Devices. My business cards from ACD are long gone, but they were the only ones to use my full name: James W. Grey, III. Our customers were mostly telephone companies, and we made software (and some hardware) that managed their networks. I wrote user manuals for them. I have never worked with a more brilliant group of people. Too bad brilliance alone isn’t enough to keep a company afloat.

So I moved to Indianapolis to edit …For Dummies books for IDG Books Worldwide.

Card_IDG

I soon learned that publishing-company politics weren’t for me, and so I escaped back to software. Marketing Resources Plus has been around for at least 20 years now, which is a mighty long time in this business. They are now owned by Arbitron, the radio ratings company, and they still make software that media buyers use to place ads on TV, on radio, and in print. My radio background really helped me in this job. I wrote online user documentation.

Card_MRP

I’m bummed out that I can’t find a card from my time at Made2Manage Systems, Inc., because it was a great time in my career. M2M software helped midsize manufacturers run their busineses. This was my first management job; I led their technical writers. After a few years they gave me the chance to return to my technical roots and lead a team of software testers, which is how I broke into that line of work.

Unfortunately, the tech bubble burst while I worked at M2M, and soon the company couldn’t afford to pay me. I spent three months unemployed before AdminaStar Federal, which was owned by WellPoint, the nation’s largest health insurance company, hired me to test a call-center application they were building for the government.

Card_ASF1

After a year, I was promoted to manager over the testers.

Card_ASF2

I built on skills I learned at AdminaStar Federal when I took a position with Baker Hill Corporation, leading their test automation team. In test automation, believe it or not you make software that tests other software! Community banks use Baker Hill software to manage their portfolios.

Card_BHC

Someone who worked for me at Made2Manage had moved on to a company called Aprimo, and she helped me land a quality assurance management job there. Aprimo software helps marketers manage their campaigns and measure return on investment. At Aprimo I’ve led all kinds of testing – manual, automated, performance (how fast will it run?), and security. I even briefly managed technical writers again.

Card_Aprimo

And now I’ll have another business card to add to my collection.

readmore2

I sometimes say jokingly that I’ve worked
23 years in the software salt mines.

Standard