Personal

The wilderness years

One year ago today, I was fired from my job leading software engineers in a startup.

I’d been unemployed before, but never had I been so brutalized on my way out the door. I’ve had plenty of time to process it now, and I believe that the new VP wanted all of her own people in place. Two of my three peers were fired within her first month, and a third saw which way things were going and quit a month later. I didn’t feel great about things, but having just lost my father the last thing I could handle was a job search.

I was politically well connected and well liked, and I believe she knew it and realized she’d have to play a longer game to get rid of me. She strung me along with promises of a big promotion, and gave me duties she said were in line with that role but which ultimately removed me from the day-to-day duties of leading the engineers. I also participated heavily in preparing for the company’s Series A funding round. The lead investment firm, by the way, praised our engineering team, saying it executed better than any engineering team in their portfolio.

After the funding was secured, I found I had little to do. I started being left out of meetings and decisions. The VP also started questioning my ability to lead, offering as evidence that the chief architect and head of DevOps had lost respect for me. When I asked those two gentlemen about it, both expressed what looked to me to be genuine puzzlement over the VP’s statements. And then the axe fell, and I was out.

Astonishingly, six weeks later that VP was terminated.

As I’ve written before, it was very challenging to cut through my intense anger as I searched for my next job. But I managed to land a position that started the first of January. I still led engineers, albeit with a lesser title. It was a decent enough place to work and so I got on with it and tried to put what had happened behind me.

In January, a remarkable thing happened. The CEO of that startup contacted me to apologize for how badly I’d been treated. At first, it felt like he’d reopened the wound. But after my emotions settled, his apology helped me start the long process toward forgiveness.

I stayed at the new company just five months. I was lured away to an engineering leadership role at a growing, vibrant company with better pay and more responsibility — more than I had at that startup. I’ve been there about five months now, and I’m pleased to report that I’m truly happy there.

I’m happier than I’ve been in my career since 2011, when a big company bought the company I worked for. I’d been extremely happy there in a great job working with great people I trusted and enjoyed, but the big company ruined everything. I decided to try my hand in the startup world, which I did starting in 2013. I worked for three different startups between then and 2018.

But since 2011, it’s felt like I’ve been wandering in the career wilderness. I’m glad the wilderness years are over.

You can read all the posts in this saga here. If you’re curious, my LinkedIn profile is here.

Standard
Blogosphere

Pasting Flickr embed codes into WordPress blocks no longer works

Software engineers all over the world continuously deliver new and changed functionality to WordPress.com. This is great when you like the changes, and not so great when you don’t. Especially when you have to learn all new steps to do something you’d already learned to do and were happy with.

One major change was the new block editor. It was a whole new way of approaching creating content. I found it to be easy to learn and I like it a great deal better than any other editor WordPress has ever offered.

One thing I especially liked about it was how easily I could embed images from Flickr, which is where I host most of my images. In the old editors, embedding a Flickr image was a multi-step process. One of those steps was manually stripping out of the embed code a <script> tag that WordPress tripped up on.

WordPress actually doesn’t allow <script> tags in posts. This is wise, because those tags execute in your browser code that’s stored elsewhere. That code could be malicious. The code Flickr wants to run in your browser is harmless, but there’s no way for WordPress to know that.

In the block editor, simply pasting the Flickr embed code into an empty block stripped the <script> tag and made the image appear. Yay!

But this functionality was recently removed with neither warning nor explanation. Pasting a Flickr embed code into a block now results in a blank block.

But not an empty block. When you switch the block to HTML view, some HTML code appears. WordPress converted the Flickr embed code to the image’s simple URL wrapped in a hyperlink tag, wrapped in a paragraph tag, like this:

<p><a href="URL_of_Flickr_image"></a></p>

This is a malformed hyperlink, in that it specifies the link target (the page to go to, here the URL of the Flickr image) but no text or image to which to attach the hyperlink. The browser correctly renders this as blank.

Thinking I’d found a bug, I opened a case with WordPress.com support. They told me that simply pasting the Flickr embed code should never have worked because of the <script> tag. They didn’t explain why.

I pointed out to them that before this change, blocks flawlessly stripped out <script> tags. I asked if they would restore the old functionality. They said with no explanation that they would not.

They gave me two alternatives. The first is to paste the Flickr image’s URL into an empty block. This does work, but the image is of a fixed size, which is narrower than the block on some screens. I did it below, so you can see. There doesn’t appear to be any way to increase the image size. I almost always want the image to scale to full width, so this alternative won’t work for me.

Pay parking

The other alternative they offered is to paste the Flickr embed code into a block of type Custom HTML. This adds three extra steps I didn’t have to do before:

  1. Convert the automatically created default block to a Custom HTML block.
  2. After pasting the Flickr embed code, manually delete the <script> tags.
  3. Open the block menu and choose Convert to Blocks to show the embedded image rather than its underlying HTML code.

This is not onerous, but it is disappointing because several days ago I did not have to do these steps. A real benefit I gained with the block editor is now lost. These steps give me the same end result I had before, at least.

Pay parking

In my work as a software engineering manager in a company that delivers a software product over the Internet, I’ve personally led engineers to deliver changes that have caused users frustration. There are a lot of valid reasons to do it. But users hate to be surprised by changes that alter their workflows, especially when they don’t know why it had to change.

I’d love it if WordPress.com would revert to the old functionality so I can just copy and paste those Flickr embed codes and move on. But I’d have an easier time accepting this loss of functionality if someone had given me even a flimsy explanation of why.

To get Down the Road in your inbox or reader, click here to subscribe!

Standard
Personal

Last day

Today is my last day at my job. Yes, the one I started in January. I start a new job on Monday.

My soon-to-be-former employer has been a decent place to work and I haven’t been unhappy. I lucked into a good boss who was helping me see some of my blind spots and was challenging me to grow as a leader.

There were things I didn’t enjoy about this company, things typical of a company in its business climate at its phase of life. And I didn’t see a growth path beyond perhaps a promotion to Senior Manager. But given that it didn’t hurt to work there, I thought I’d soak up as much experience as I could. I’m still early in my engineering-leadership career and I need to build credibility.

About eight weeks ago a recruiter from another prominent local employer of software engineers contacted me about joining them as an engineering manager. I know that this company has completed a business and technology transformation that was starting to pay off in their marketplace. They were also using more modern processes and delivery methods. That’s exciting stuff. But the job was a lateral move at the same pay and I told them that I couldn’t consider a change unless it was for a higher position and more money.

I figured that would be the last I heard from them. I was stunned when they contacted me again a couple weeks later, saying they’d recast the position one level higher with a compensation package to match.

Having worked for many software companies in this market over nearly 30 years, I know people pretty much everywhere software engineers work in central Indiana. So I contacted a couple people I know at this company and asked what they think. They were enthusiastic about the work environment and about the company’s prospects, and said I should join them.

So I went in for an interview. It went well, and they offered me the job. It was easy to say yes. This choice is right for my family now and for my career in the future.

But it feels all kinds of wrong to quit a job after just five months. Having managed people for 20 years I know full well how disruptive it is. I did not enjoy telling my boss, who has treated me well; or my team, which I enjoyed very much, that I was resigning. Fortunately, they took it well.

I’ll come home tonight with my things in box, which I’ll carry with me to my new job on Monday.

Standard
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
Personal

Day one

I start my new job today, as a manager of engineers in a large software company.

I’m happy to be going back to work. It was nice in a way to have the last month off, unpaid as it was. I needed some serious downtime and I got it. But I felt unmoored. I like to work.

The job search was challenging for a number of reasons. First, in the last couple months of the year many companies just push off hiring to January. I heard it over and over: we could use someone like you during the first quarter of next year. Awesome, but I’ll be homeless by then.

Second, I began looking while I was still reeling from getting the sack. I was fired after a crazy difficult ten months under new executive leadership. I think I did an exceptional job leading the engineers through a chaotic time, and I had been praised for my work. To find myself no longer wanted was deeply confusing and upsetting.

Everyone asked why I was let go, and I struggled to tell the story. As the days stretched into weeks, I kept unpacking what happened and it changed how I told it. No two people heard the same story, though everything I said to everyone was true. Also, I was still angry and really wanted to say some things that, while true, put some people at my past company in an unflattering light. That never goes over well, so I avoided it. But that left gaps in my story, which led to questions I couldn’t answer well.

One way to Lucas Oil

Third, despite my successes I had a weak story to tell about being a leader of engineers. I just hadn’t been doing it long enough — only 16 months. I had been in QA (software testing) leadership for the previous 18 years.

I was fortunate to shift into engineering, as changes in my industry are leading to fewer QA leadership roles. And I was ready for new mountains to climb — I’d done everything I ever wanted to do in QA.

I have a great story to tell about delivering a very good quality “version 1.0” software product in a short time. It impressed everyone who heard it. But as people asked questions that would reveal my depth, I had to lean on my QA experience, which didn’t connect with them.

Fourth, my technical skills kept being a concern to interviewers. I’m far more technical than the average person, but I lack a deep understanding of the technologies my last few employers used. I am convinced that it’s a rare unicorn who can be deeply good both in technology and in leadership. Becoming the leader I am has required my full attention over the last 10 years and it meant letting my technical skills go stale. But I feel certain that the leader who had focused on technology would not have had the same success I did building leadership alignment on direction, and bringing my engineers through that startup’s “version 1.0” delivery as well as through the chaotic, difficult months that followed. 

Yet nearly everyone I spoke to had some level of concern — dare I call it bias? — that I’d need to be a committed technologist to be able to lead engineers. It’s bunk. Here’s a great article that explains how your VP (or Director) of Engineering is different from your Chief Architect or Chief Technology Officer. Search Google for “VP Engineering vs CTO” — you’ll find many similar articles. I’m a classic Director of Engineering, with strong people and process skills, and enough technical skills to get by.

Still, there’s no way to escape that I did not spend enough time in the technology at my last company. I took a JavaScript course online and read a book on functional programming so I could understand the approach and language the engineers were using. But I can’t draw you an architectural diagram of that application, can’t tell you much about how the application is configured on the server, and know little about the state of the codebase and what challenges lie ahead in it. I needed to know those things as Director of Engineering. There were just so many challenges I needed to solve at that company with straight-up leadership that I kept deferring getting into the tech. I will not make that mistake again.

This reminds me of 18 years ago when I pivoted from technical writing into QA. I’d been a technical writer for a long time, and I’d done all I cared to do in the field. I liked to joke that if I had to write open the File menu and choose Print one more time I was gonna go postal. The company I worked for offered me a QA role, leading a test-automation team and building a lab of testing hardware. I did that job for barely two years, during which time the dot-com bubble burst and September 11 happened. Software companies everywhere went into tailspins. The one where I worked went through waves of layoffs. I got caught in one of them.

After three months of unemployment I got picked up by a large health-insurance company. I was to be a QA engineer, testing software applications for them. My QA story was weak; I had not done it long enough. I think they liked that they could pick me up for cheap. I’m glad they did as it kept the wolves from the door. 

It was both a difficult place to work because of its top-down control culture, and an easy place to work because the expectations weren’t high. On that job I built solid experience as a tester, and then as a manager of testers. And then in the craziest thing that ever happened to me in my career, I was fired and un-fired from that company. Read that story here. I eventually left on my own, my QA cred well established. I had zero trouble getting jobs, and had great success building QA practices from scratch at several other software companies.

I hope I’m in a similar place in this job that begins today: about to build deeper experience and credibility as an engineering leader. I’m going to rest on my leadership skills as they are and switch back to learning technology. I will know how the product is architected, will understand what headwinds we face in the codebase, will know how it is deployed to and configured on the servers that run it, and will learn how to do at least basic things in the programming language they use (Java). I was able to do all of these things early in my career, and I know I can learn it all again in these modern technologies. That will set me up well for the rest of my career, wherever it leads.

Standard
Personal

I always thought the reward for doing a good job was that you got to keep the job

Another thing happened while I was on my blog hiatus last month. I was fired.

I was Director of Engineering at a startup software company. I had led the building of “version 1.0” of our product. I doubled the engineering staff to an even dozen, put in the practices and processes they used to do their work, and collaborated with the product-idea people to make sure the engineers had solid backlogs of work to build from. In short order we turned a chicken-wire-and-chewing-gum prototype into a real software product that sold well and provided real value to customers. I’m proud of what my team and I accomplished.

Those accomplishments apparently didn’t matter in the end.

To tell you the whole story would probably violate the confidentiality agreement I signed. I’m left to guess at much of it anyway, as they wouldn’t tell me why they were letting me go. Financial considerations could have played a role. My boss and I had lately been at serious loggerheads over some matters and I feel sure that hurt me considerably.

I saw some classic signs that it was coming: of my boss canceling meetings with me, of some of the successes for which I had once been praised being reframed as not so successful after all, and of me being left out of tactical and strategic discussions. My boss even suggested strongly that she was losing confidence in me. I was dead man walking.

I’m astonished by how fast things turned. I had been praised as a key player through about the end of the summer. My performance had netted me an off-cycle pay raise, and there was talk of promoting me to Senior Director.

When my boss messaged me late one afternoon to ask me to meet with her at 8 am the next day, I knew the axe was falling. (The office would have been deserted at 8 — in the software startup world most people reach the office well after 9.) There was no way I was going to toss and turn all night in stress and worry and then make the 45-minute commute just to get fired. So I made her do it that night at a nearby Starbucks.

My exit left me feeling played, brutalized, and ultimately humiliated. I’ve spent a great deal of time and energy since then processing what happened and my feelings about it so I can be at peace. I’m not quite there yet but I am close.

Those of us who work in software must simply accept its volatility, especially in young companies trying to find their way. Fortunes turn for the worse and layoffs follow. Strategies change and people who were once key players suddenly find that they are no longer the right person for their role, or that their role is no longer needed. This involuntary exit isn’t my first — in 30 years I’ve been laid off twice (I wrote extensively about the last time, here) and fired one other time (and then un-fired; read that oh-so-hilarious story here).

Of course, I have only so much financial runway. If I don’t take off in another job before about the end of the year, my family will be in challenging circumstances.

I remain well known in the central-Indiana software community, so I immediately started reaching out to colleagues to reconnect with them. I always asked them for introductions to people I don’t know in the local industry. It’s remarkable to me how willing people who don’t know me are to meet me for coffee on the recommendation of a shared colleague. It has been interesting and fun to make those connections. Some of them revealed opportunities that haven’t been made public yet.

I also applied for a couple jobs that were available. One of those applications led to a solid interview. The title is Engineering Manager, so I’d be stepping back a level from my last job. But they’ve given me an idea of the salary and it’s not much less than I was making before. It’s a well-established company, and those generally pay better, job to job, than startups. They like me and tell me they want to offer me the job, but as of today my candidacy is held up in some corporate red tape and I feel like it’s a coin toss whether it will come out in my favor.

I remain charmed by the startup world and would love to hold out for a leadership role at another young company. But landing one of those jobs — any job, really — takes patience and serendipity and I need to support my family right now. Wish me luck. If you’re a person of faith, my family will be grateful for your prayers.

Standard