Categories
The Business of Software

Failing to automate routine tasks is a waste of human potential

By Jim Grey (about)

I enjoy the Signal v. Noise blog from Basecamp. Recently they published a post about the human touch in customer service. Read it here. Its thesis, in short: automating any part of support is akin to saying the company doesn’t care.

I am charmed by the work ethos Signal v. Noise espouses: work at a sustainable pace on things that are interesting to you, and get plenty of rest. It’s very appealing. But sometimes I think they take the contrarian position as if it’s their brand, and this is one of those times.

There’s nothing wrong with a good robot providing routine customer service. As long as the experience is good, and can seamlessly hand off to a human when things go off script, it’s a win.

That’s because so much of customer service work can be rote and repetitive. One of my career stops was at a company called MOBI, which provided mobile-device management services to large companies. One customer was a global manufacturer that had something like 10,000 mobile phones deployed to its executives. MOBI helped them manage cost by keeping each phone on the least-expensive plan for its typical usage, and also provided a help desk with the promise of answering a request in 30 seconds and staying on the case until it was solved. (Try getting that from your carrier.)

But it was too expensive for MOBI to hire a bunch of new customer-service reps every time they took on a new customer. It cut the profit margin too thin.

Mechanical Man
Not this kind of robot

Moreover, a large percentage of the customer-service work was simply boring and repetitive. After you’ve done a handful of password resets, equipment orders, and plan changes, you can do them in your sleep.

MOBI has devised a number of robots (“Mobots,” they call them) to take away the drudgery.

If a MOBI customer user jumps on a chat, Mobot Audrey answers. She can handle many of the common, repetitive tasks. The minute the customer asks something she can’t handle, she seamlessly transfers the chat to a human, who handles the case from there.

I had lunch a few weeks ago with MOBI’s CTO, my former boss, who told me that the customer-service team was apprehensive at first, but is happy now because they are working on things that tap into their deep knowledge of the product, and that require them to solve problems creatively. As a result, they are more engaged with their work.

This resonates with me from another perspective. I was on the team that built the call-center software that Medicare customer-service reps use nationwide. I led the test team. Our contract required us to do a “full” regression test on every release — meaning we had to run thousands of written test cases. It took almost 24 person-weeks to execute those tests! This was about 15 years ago when automation tools weren’t great. But I hired a couple engineers to automate those tests anyway, and they finished after a few months. It took just 0.6 person-weeks to execute those tests forever after. My functional testers were free to spend more time performing  targeted, complex, and exploratory tests, using their experience to find critical defects the automation couldn’t find. It was much more interesting and meaningful work for them.

But back to customer-service robots: we all remember how bad the early ones were. That Medicare customer-service center had an early voice-response robot for callers, and it was awful. It didn’t understand callers right most of the time, it took a long time to navigate, and once navigated the caller found that the robot couldn’t help them and they needed to speak to a human anyway. Callers hated it.

But the technologies have begun to mature. Some of them claim to be able to learn, even, although I’m skeptical that it’s true, full-on AI or ML. At least it’s possible to create a good experience now. MOBI’s Mobots have done it; their user testing bears it out: most users have no idea that they are interacting with a Mobot.

So why wouldn’t a company like MOBI manage support costs and increase employee happiness by automating away the boring, repetitive tasks? I’m for it.

Categories
Managing People

The manager infodeck: Quickly helping new teams and new employees get to know you

By Jim Grey (about)

A new manager arrives on the scene. Or a new employee joins the company. What kind of person is the manager? What will he or she expect? 

It takes time for any manager and employee to build a trusting working relationship. But you can jump-start the trust by sharing your basic philosophies and rules of engagement in a slide deck.

The title slide from my manager infodeck.

This deck quickly lays out the things you care most about: what you believe about management and about the kind of work your teams do, what makes you crabby, and how you operate day to day.

It’s also an opportunity for you to tell your story in thumbnail. It humanizes you and helps you be more approachable.

It also lets you lay out nuts-and-bolts expectations such as how much notice you want of vacations.

I’ve used my manager infodeck for a few years now to good effect. If you’re curious, you can see it here. You can even use it as a starting point for yours.

Categories
Quality The Business of Software

Love your salespeople because they make your paychecks not bounce

By Jim Grey (about)

He was a salesman at the company where I had gone to work after graduating from engineering school. And he routinely made my life, and the lives of the other engineers with which I worked, crazy difficult as he made wild promises during the sales cycle that we then had to fulfill in our product on impossible deadlines.

It was the classic tension between sales and engineering. There should have been a class on it when I was in school. I might have called it “Sales Douchebaggery 101” but perhaps the topic would better have been wrapped into a larger course on life as a working engineer. Cost constraints out the wazoo. Adding features to a product under pressure without doing necessary redesign of existing features so they scale and perform. Being bogged down by the avalanche of customer support that follows releasing the resultant buggy product. And all the while, salespeople promising crazy stuff to prospects to get them to sign on the line. Sales happily wrote checks, if you will, that engineers then had to figure out how to cash.

This particular salesman was the king of signing us up to build stuff on impossible deadlines. He seemed to take special glee at doing it. Cynically, we all grumbled to each other that it was about making his commission check as fat as possible. One of the engineers delivered this classic line: “He’s in sales. That means he’s coin operated.” I’ve gotten a lot of mileage out of that one.

LincolnMarkA

And then one day he showed up at work in a brand new Lincoln Mark VIII. It was a stunning car in a pearly white. Lincoln called it “white opalescent,” and it was impossibly deep, almost liquid. I expected that if I touched the car, my fingers would ooze into the body and come back wet. It was mesmerizing.

Yet I was angry and jealous. Here was this guy blithely, happily making engineer lives miserable while piling up a crap ton of dough. I wasn’t going to make that kind of money anytime soon; no new Lincolns were in my future. But this wasn’t really about financial injustice. No, this was about him never suffering any consequences of his actions while living a lifestyle that reinforced his bad behavior. Such bullshit.

That was in the early 1990s. Since then I’ve worked for many other companies, successful and not, and have learned a few key things about sales. First and foremost: celebrate every sale, because they keep your paychecks from bouncing. I’ve lived through that and never want to again.

But second, that company had a lot to learn about product marketing and sales. The sales team was left to fend entirely for itself, with only a vaguely identified target market, no coherent story to tell about the product line, and nothing that generated qualified leads for them to pursue. They earned every closed deal from the ground up: cold calls, relationship building, and then doing what they had to do — including making stuff up — to get a yes so they could meet their quotas. It had to be brutal for them. So no wonder this guy was so giddy every time he closed a sale. He worked his butt off for it.

And third, and most importantly, back then I was content to grumble and that didn’t help my company at all. Learning how to estimate, negotiate scope, determine minimum viable product, set and manage expectations, and manage projects has been much more effective for me and for the places where I’ve worked. It’s helped sales teams know that Engineering is in their corner helping them succeed — and helped them better understand what Engineering is capable of delivering so they make fewer bad promises.

LincolnMarkB

Today I don’t sweat that fellow his Lincoln. Seeing this one in a restaurant parking lot recently in sort of sad condition reminded me of him. I looked him up on LinkedIn. He’s still selling in that industry, for a company we all derided then as being the last place you’d want to work. Looks like his career had a similar trajectory to this Lincoln: still going, but not looking all that great. Fortunately, I’ve grown up enough to have empathy for him.

I regularly take photos of old parked cars and write about them for Curbside Classic, a site that tells these old cars’ stories. This post is heavily based on a post I wrote there a couple years ago; read it here.

Categories
Career

Moving on is a simple thing; what it leaves behind is hard

By Jim Grey (about)

In my last post I shared how to recognize when it’s time to find a new job. But I don’t mean for you to rush into it. In every job, you’ll go through rough patches that might clear if you work for it, or even just wait.

But how long to wait?

Time has come today

Counting the cost of moving on

When you leave a job, you leave behind the relationships and reputation you’ve built, and the mastery you’ve gained over the work. It’s hard to leave them behind, and it takes a lot of time to build them back in your new gig. Even when you’re positive it’s time to go, it’s hard to lose all of that. It might make you hedge your bets and stay.

It’s said that people don’t change until the pain of staying the same is greater than the pain of changing. I think it’s similar when you contemplate changing jobs: the difficulty of staying or the benefit of the new job needs to be greater than the challenge of rebuilding relationships and expertise.

Bad reasons to stay

You might also resist leaving because you feel you’d let your coworkers or customers down. But if you stay for that reason, you are taking on too much responsibility for the company’s functioning. It’s the company’s responsibility to make sure it can function if anybody exits. I’ve seen people at all levels move on, from associate engineer to CTO and even CEO. Every time, the company found a way forward.

Moreover, nobody expects you to work there forever. The day you were hired, your boss knew he would one day accept your resignation — unless he were to resign first. If you’re good at what you do, your boss will be wise to work to delay that day as long as possible. But it will eventually happen.

The 90-day countdown

Changing jobs is a big decision. Give yourself time to be sure it’s the right choice — whether you’re fed up and ready to ragequit, or hedging because you want to keep the good things you’ve built up.

I use a 90-day countdown a colleague shared with me long ago:

When you think it’s probably time to leave, set a 90-day counter in your head. Decrement the counter each day until one of two things happens: conditions improve or you see a good path forward, in which case you stop the countdown; or the counter goes to zero, in which case you update your resume, reach out to your network, and get out.

90 days — one calendar quarter — gives you enough time to avoid acting out of pure emotion so you can think it through clearly, and gives difficult circumstances a chance to change.

Thanks to this song for giving me a great post title.

Categories
Career

Knowing when to leave may be the hardest thing that anyone can learn

By Jim Grey (about)

I leave jobs. It’s what I do; in my career’s 29 years I’ve worked for ten companies. My longest tenure has been just over five years and my shortest was 14 months.

(To my boss, and to my team, who are almost certainly reading this: no, I’m not thinking of quitting!)

Usually I’ve moved on to gain new experience or a higher position. A few times I’ve quit because the situation had become untenable — once for a relentlessly crushing workload; another time because of a micromanaging and mean-spirited boss. Twice I’ve been laid off when a company fell on hard times.

Indiana State Road 45
A career is a winding road, and nobody issues you a map.

During my father’s era, loyalty to an employer was lauded. But today, and especially in our industry, spending too much time at one employer can make your skills look stale. That makes it harder for you to land a next gig.

But when is the right time to go? It’s often hard to know, but it’s hardest in the first job you take after college. It’s easy to form an attachment to the employer and your experience there, and stay too long. I did that myself.

It is easier the second time you quit, and the third. Soon you get a good sense of when it’s time to go. Here’s what I’ve learned.

Sometimes a company pushes you out:

You struggle to get behind major changes. Companies regularly adjust course, sometimes dramatically. When it happens, can you get behind the new direction? If you don’t think the new strategies will work, or if you find some of them to rest in a moral gray area, make your concerns known. But if things don’t change, you should probably find a different company where you can be all in.

You are constantly frustrated with the way you have to work. If you’re comfortable in a high-process environment, low-process environments will feel too chaotic for you. If you enjoy high autonomy and low structure, you’ll feel strangled in a company with rigid hierarchy and lots of rules to follow. Or if you are highly competitive, an environment that values close collaboration and shared success will drive you nuts. Try to adapt to the environment, to grow through your limitations, and to influence change where you think things can be made better. But if you constantly have to be someone you’re not, find a company where you can be you.

The company seriously struggles financially. Every company goes through tough times, so don’t be quick to bail. But you should see your company making strong steps to bring good results back. Some companies aren’t transparent about their finances or strategies, so keep your eyes open. Look for new initiatives that gain traction. Watch your sales team — their growing happiness or deepening despair is a bellwether. But no matter what, persistently poor financial results will result in layoffs, or worse.

You don’t get along with the boss. Try hard to work things out first. Get some feedback from trusted colleagues about how you might be contributing to the difficulties, and fix those things. But sometimes you and your boss will just never be a good fit. And once in a while you will simply work for a truly awful boss. In both cases it’s time to go.

You see or sense moral rot in the company. I once worked for a company where the CEO was unable to not sexually harass his assistants. Finally one sued him; he got his entire executive team to lie about it in court and he got away with it. I worked for another company where the sales team would go to the annual user conference and spend their off hours, it was strongly rumored, drinking too much and sleeping with each other and with customers. It can be hard to separate hearsay from fact, and don’t spread rumors. But watch closely for signs of bad behavior, because moral rot will do your company in. It absolutely undermined the first company, and just the rumors in the second company seriously damaged the culture.

Sometimes your needs pull you out:

You aren’t growing in skills, pay, or title. Your career should progress. What that looks like depends on what motivates you. I like to get better and better at what I do, and if that’s not happening I get bored and leave. You might just want to make more and more money or rise to the top of the corporate ladder. Your growth might stall for a while in any job, but if it stalls for too long first ask trusted colleagues and managers what you might be doing to block your own growth, and fix those things. If that well is dry, perhaps you’ve gone as far as you can go and to grow you’ll need a new opportunity.

You need a job that won’t challenge you. This might sound strange. But if your personal life ever goes seriously sideways you might need to put career aspirations on hold for a while. In my mid 30s my first marriage ended in an awful mess. I ended up working in IT for a large insurance company, where the pace was slower and the work itself wasn’t that hard. I came home at night with the energy to focus on getting my life back together. Eventually my life restabilized and I wanted to grow in my career again, so I left.

You want to work for a company whose culture or product aligns with your values. Where I work now we build a product that aims to make the work life better for employees everywhere. We attract people who want to be a part of that mission. If you see another company with a mission that resonates with you, by all means, find a job there!

You want to work with more modern technologies. You might follow one tech stack through your career, or you might become a polymath and ride the cutting edge. If the latter appeals to you, get out when your company’s technologies become widely adopted, and find the next new thing.

You want to work for a company that is succeeding wildly. It might matter to you to be a part of the next big success story. If you sense another company is a rocket on the launch pad, and that excites you, what are you waiting for — get in over there!

In my next post, I’ll give some tips about how long to wait before you launch a job search, and how to manage your feelings about leaving.

Thanks to this song for giving me a great post title.

Categories
Career Managing People Teambuilding

The good you put into the world often comes back to you

By Jim Grey (about)

In a recent blog post, Johanna Rothman wrote about paying it forward in our careers and in life. (Read it here.) Through paying it forward, she says, we offer people lucky breaks. When others pay it forward, sometimes we get the lucky breaks.

Heslar Naval Armory, IndianapolisI add this: sometimes when you pay it forward, it goes full circle and creates lucky breaks for you. Here’s a story of a time that happened for me.

In my first management role, more than 20 years ago, I got to build a small team from the ground up. I wrote that story here — that team and the work we did remain one of the brightest memories of my career.

I wanted to build the kind of team I’d want to work in — one of transparency and autonomy, where we could do very good work yet go home to our families at a good hour each night.

I hired Mary Ellen first. She lacked the technical skills I was looking for, but was otherwise qualified — and whip smart and deeply resourceful. So I took a gamble and hired her.

She was a home run hire. She picked up every needed technical skill quickly. Her work was nuanced and of impeccable quality. She even helped define team processes that let us run more efficiently and effectively. We couldn’t have done it without her.

The team was quite sad after a few years when I was promoted to a different role and was no longer their manager. It was a great compliment when they told me that our time together had been the best at-work experience of their careers.

That company didn’t make it through the dot-com bust and we all went our separate ways. I wasn’t very good at keeping up with my network then and lost touch with Mary Ellen. Seven years later, I got an email from her. “There’s a leadership role open where I work now, and it looks perfect for you. If you’re interested, I’ll put in a good word with the VP, because I’d love to work with you again.”

I was ready for a change so I interviewed, and I got the job. It was a fabulous role for me and I was very successful in it. The company itself was successful enough that the founders took an exit. I was a late enough hire that my cashed-in stock options didn’t change my life. But the founders and all the VPs ended up being movers and shakers in the startup scene in my area. Those contacts have helped me immeasurably as I’ve continued my career, offering coaching, introductions, and even job offers.

The moral of the story is to treat well the people who work for you! Treat everybody well. You never know when it will come full circle.

Categories
Managing People

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

By Jim Grey (about)

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?

Brooklyn Bridge

It was a watershed moment in my life.

I was a teen then, shy and introverted. People often frightened me, at least a little. I struggled to interact with people I didn’t know well, and to assert myself with people I did know well.

And then here was this machine that I could order around. It had limits, 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 more about how to make software. When I graduated the job market was terrible, so I took the only software job I could find, which was 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 29 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, developing a telepathic user interface. They will work hard at it and they may struggle to get it right. 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:

CodePeople
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 quick HTML 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.

Categories
Career

Where have all the 50-year-old software engineers gone?

By Jim Grey (about)

Since I last posted here, I had a major life milestone: I turned 50.

I wrote a personal reflection about it on my other blog, but in short, being 50 is a pretty good gig. This stage of life offers its challenges, to be sure, but they come with the maturity to handle them.

50

Yet I’ve noticed that I’ve continued in my career that I work increasingly with people much younger than me. Today I lead a team of software engineers mostly in their 20s. I know of only one fellow on the team who’s older than 30. It was much the same in my previous job, and in the job before that.

Because I’m in management I get to be tech-stack agnostic in ways that working engineers, testers, and technicians don’t. Especially as an engineer, it can be challenging to move to, say, a Ruby on Rails shop after having worked for years as a JavaScript developer.

I’ve long assumed that engineers my age all still worked in .NET shops. .NET was new, hip, and cool when I was in my early 30s. Where I live (central Indiana), companies adopted it readily and so most then-young engineers built their careers on it. I worked for several .NET shops in a row. Some of those companies still exist, and their products are still built on .NET.

But according to the 2018 Stack Overflow Developer Survey, 75.3% of respondents are younger than 35. Just 6.9% of respondents are 45 or older.

So I searched LinkedIn for names of people I worked with years ago. Some of them are still writing code. A few of them are in some level of management. But the rest aren’t on LinkedIn or have left the industry.

I don’t know why. Do you? Especially if you’re older than 35: where have all the older engineers gone?

Categories
Career The Business of Software

Behaviors and traits of successful software companies (the ones where I’ve worked, anyway)

Today I begin my 29th year in the software industry. Actually, today’s a day off where I work. But it wasn’t at the company where I began my career, also on Monday, July 3. It’s why I remember the date: my second day was a paid holiday!

Spring flowers from my garden

In 28 years I’ve worked for nine different software shops, small and large, serving many different industries and kinds of customers.

What surprises me is how little correlation there was to how good my co-workers were and success of the companies. I worked with some brilliant and visionary people at companies that struggled, and with some average people at companies that did well.

Does that surprise you? As I look back, it certainly surprises me.

Here’s what did correlate to the successful companies in my career:

  • A product vision and company direction that did not change wildly, but did evolve to meet the evolving market
  • An executive team in unity on that vision and direction
  • Good communication to everyone about that vision and direction
  • Reasonable planning to execute that vision and direction
  • Good execution in engineering and in sales
  • A work environment where people felt safe and valued
  • Transparency into company financials

Notice how none of the adjectives I used above are superlatives? No excellents or flawlesses or bests or outstandings. Everywhere I’ve worked, when people are aligned to a vision and direction, “good” and “reasonable” have been enough.

These things give brilliant engineers and visionary product people a solid platform to do pioneering work. But even the best people haven’t been able to overcome the lack of these things.

Categories
The Business of Software

You’re building a business

By Jim Grey (about)

I think there’s a miss in how startups recruit. They hype the interesting problems they have to solve and their cool company culture. But those are only two of the three things they need to hype. The last one is that together, you get to build a great business.

Under construction
Under construction

If that doesn’t sound very interesting or exciting to you, well, it should. Seeing your work lead to a company’s overall success is enormously rewarding. And given a startup’s size and scale, you have an outsize ability to affect that.

Does the company you work for share financial results and business plans with you? The one I work for does, once a quarter. We all get to see how much money we’re making and how much is left. And we are updated on our strategy to get to our planned next business phase. All of this tells us where we are on our corporate journey. Are you clear on what your company’s journey is?

(Sidebar: It is interesting to me that in my career, the companies where I’ve been the happiest are also the ones that shared financials and strategies. Not all companies do it. I think companies that do it get how it brings the company together as one.)

When you understand that journey, you understand the larger context your work lives in. It helps you make better decisions in the moment, ones that let you deliver the right balance of speed, quality, and scope.

If you don’t see now how building your business is an exciting journey, you will when your company meets its goals. Especially in a startup, it will be impossible to miss how your work made it real.