Some Thoughts On The Impact Of Generative AI

I was momentarily distracted by this twitter post today. It included an image as a funny meme, and my impression is that the image is mostly likely generated by AI. And I made an off-hand comment that it felt bad to me.

Thanos ready for his NYTimes rehabilitation profile like

- from twitter user @alexisohanian


What followed was a reasonable question that i get fairly often since I started commenting on AI. Why does it matter? Why am I against it. I felt this deserved a considered response. So here it is. Reproduced from the twitter thread.

Okay. I'm actively procrastinating right now, so I guess it's a good time to answer this common question in more depth. Probably long thread incoming.

Curious why you think it's bad that (twisting your words a bit here) you can generate these cool images really easily. Feels like we should celebrate that.

I mean, there are definitely issues with AI image generation, but I don't think ease of access/use makes my list

- from twitter user @kzeillmann

I take issue with my actual feelings about this being boiled down to "it's bad". One of the reasons we have a hard time finding nuance is that our instinct is try to boil everything down to a binary. And "good" vs "bad" is our very favorite.

My perspective on generative ai tech is still developing. But I'll try to address multiple different facets of what I've been thinking about.

I think the important place to start is that it's happening. I'm not a person who argues to put the genie back in the bottle so to speak.

Once a new technology is released and gains traction, our energy has to turn towards engaging with the impact of it. We can still talk about our feelings. But if that's all we do, we aren't doing the hard work of actually trying to influence the world we live in.

What I said here was "it feels bad". What I meant by that is it makes me sad when I think about all of the implications around the Ohanian's tweet. It makes me think of how the world is gonna change in ways I personally am not looking forward to.

That's not a statement about whether the tech is "good" or "bad". It's a statement about my own feelings and what I wish for the society in which I exist. And it doesn't mean I'm against any kind of progress. It means I looked at this one and I'm not sure it works for me.

That said, we can ask some practical questions. Should humans take something that used to require a lot of labor and creativity and give ourselves the capability to do it instantly with no effort? In the absence of context, the answer is probably yes.

I've been talking a lot about abundance. I believe in it deeply as a way forward for humanity. But learning how to live in a society that produces abundance is not easy. And it's pretty clear to me that we are not culturally ready to do so.

Why is abundance bad in this case? There are a few different answers to this. The first one is also very practical. It's going to destroy industries that currently keep a lot of people gainfully employed. People will suffer because of this tech.

I know most of us have heard this argument before. And because it comes up so often, I think people have decided it's not interesting or important. I disagree. It is the most important thing. Progress has a high cost. Even if we all agree that the eventual outcome is "better".

The reason it bothers me so much is that a lot of people get real comfortable saying that the eventual benefits outweigh the impact. But they don't actually want to talk about how we might actually reduce or mitigate that impact. We're just supposed to let it happen.

Just speaking for America, I don't think we will do all that much to help the people who are going to be devastated by this "advancement". It's gonna be a story of how we perpetuated another generation of misery and struggle that turns into strife and grievance in the future.

But that's not the only reason this makes me sad. We can also look at this a bit more philosophically. Why does it matter that a human expends effort and creativity to produce something? The answer is because we say it does. Because we want it to matter.

Part of this is subjective for me. Human effort has always mattered. That's why the real Mona Lisa is worth more than the millions of perfect reproductions that have been produced. Art matters because a human decided to make it. No other reason. And for me, that's good enough.

But not all of it is subjective. I believe there are huge impacts to devaluing the production of art. It destroys value from a labor perspective, but also from a consumer perspective. AI art can be striking. But it has no story, and is thus inherently less interesting.

We have already seen the precursor to this with social media. People's art gets stolen and shared all the time. Without the artist's consent. Without attribution. And without ever giving the viewer the opportunity to hear a story that might make it more compelling.

Stories matter to human culture more than just about anything else. We *know* this. And yet we willingly participate in destroying our stories with ever greater efficiency and finality. And it makes me sad. Our culture is worse overall when this happens.

And as I keep repeating, what we do with computers is accelerates everything. Whatever impact we are having, when we enable a computer to do it, we are increasing that impact exponentially. That's what's about to happen to visual and written art.

Because again, whatever this technology does, it will do it a billion times at the speed of light. There is going to be tremendous consequence and impact. And as soon as we decide it’s “thinking”, then humans will no longer be accountable for what happens.

- from me

So let me try to round this out with some final thoughts.

First off, if we are going to create abundance, then we have to start envisioning a world where humans aren't forced to earn their existence through labor.

I don't think anybody is willing to have that conversation. It's way more complicated than it seems even at first blush. For those who I know are itching to bring it up, UBI is potentially a piece of the puzzle, but is nowhere near a complete solution.

Second, if we're gonna keep devaluing culture, we're going to have to figure out what else matters to us. My experience is that when humans don't have enough interesting distractions to keep us occupied, we tend to try to destroy each other.

All of this context is included when you ask me about generative AI and I say "it feels bad".

Am I doing too much right now? Yeah, probably. Does that mean I'm overthinking it? Absolutely not. There is no magic. Either we choose to try to avoid suffering or we don't.

Considering Some of My Values

Aniyia and I have been talking a lot about what’s next for me. I’ve been doing a lot of soul searching, which is part of my process. She asked me to go through this exercise to examine what my values are and why. From this huge list of words, she had me narrow it down to 5. I have more than 5 values. But it was an interesting exercise, and I figured I’d share what came out of it for posterity.

Empathy

If I'm going to have impact on people, it has to come with empathy. Empathy is the only way we can relate to each other without causing damage. Empathy helps guide us and temper our ambitions so we don't become part of the problems we see in the world.

Integrity

Similar to empathy, integrity is a guide for anyone who wants to have impact on other people. Integrity is what ensures you don't succumb to the many pressures and negative incentives that seek pull us down into the mud. Our society can be much more positive if we move with integrity. If we can teach people to expect integrity from others, we can build a society based on mutual trust. Each of us can do our part to create that world.

Learning

Learning is the basic thing that gives me fulfillment in a life full of hardships and uncertainty. My brain is always working. And I don't take that for granted. I need to feed my brain with new learning in order to feel contented. I'm always yearning to understand more and more of the world around me. It's how I seek to make sense of things. It gives me comfort to know that answers are out there for me to seek.

Reflection

As we move through the world learning and having an impact on others, it's critical that we are able to reflect on our experiences and how they shape us. We can't develop the empathy we need if we don't take time to reflect and internalize life's lessons. I believe that reflection is more important than learning when it comes to growth. Learning without reflection can often lead us astray.

Abundance

As the world gets bigger and more complicated, with more and more humans in it, we have to move away from scarcity as an organizing principle for society. I believe focusing on abundance as a guiding principle is the way humanity can carry forward in to the future without reaching its limits. I want to be a part of finding ways to help more and more people experience abundance in various parts of their lives.

Advice For Engineers, From A Manager

I just hit 20 years in my career as an engineer and a manager of engineers. I like to think I’ve been able to keep a pretty good perspective on both roles. I’ve done the pendulum swing a couple of times, and I’ve even been an engineer and a manager at the same company multiple times. I enjoy both roles for very different reasons.

I talk to friends and colleagues often about the tension between engineer and manager. I’m able to put on multiple hats and try to bridge gaps. Engineers often find themselves at odds with their managers. Sometimes for good reason. But in my experience, there’s often a healthy dose of mismatched expectations as well. It’s not easy for managers to give people a clear and direct understanding of what those expectations are. In a recent conversation, I tried to put on my manager hat and do that.

This is gonna sound like a humble brag, but bear with me. During one of my stints going back to being an engineer, managers kept using me as an example of how to do good things. This is despite the fact that I wasn’t on a very visible or important project. Engineers would come and ask me what I was doing in order to get recognized. I ended up generating this informal list of things that managers expect from engineers:

  • Give effective status updates. Learn better ways to communicate about your project so people understand what's going on.

  • Tailor updates for your audience. There are good project updates and bad ones. Learn what details are important to put in them. Learn what to leave out unless they ask.

  • Give timely updates. You don't need to give updates every day. But definitely don't go a week without communicating.

  • Stay ahead of problems. You can learn to anticipate what might go wrong on your project. You may not entirely avoid it, but it can inform your estimates.

  • Give trustworthy estimates. If your estimates change all the time, people aren't going to trust them. Find out why you keep sliding and learn to stay ahead of those things.

  • Learn what the true scope of the project needs to be. Back away from "story points" and understand what the project needs to accomplish. More context about the goals will help you negotiate what's in and what's out of scope.

  • Understand business timelines. Find out how long stakeholders expect your project to take. It's not the same as whatever estimate you gave.

  • Help your team improve. If you're leading a team, learn to recognize when they're not progressing because they don't have the skills. Your team won't always ask for help explicitly.

  • Teach other engineers how to do things. Don't just do it yourself because it's "faster". Give other engineers explicit permission to take more time so they can learn something important for their growth. Account for this extra time in your estimates.

  • Collaborate on designs. Designs never have the level of detail that matters. When you run into UX problems, work with people to develop a solution. Don't just ask for more mocks. Own the details of what you're building.

  • Bring good judgment to technical recommendations. Learn what's reasonable and what's not in terms of system capabilities. If an API call takes 10 seconds, that should probably be fixed. If the requirements call for loading a million rows into a web browser, that's probably not feasible.

  • Fix bugs that frustrate other teams. Don't wait for them to get prioritized. If a bug is stressing out your support team, just go fix it. Then take credit for fixing it.

  • Talk to customers. Especially about issues that have been outstanding for a while. Find an opportunity to talk directly to a customer and find out what the problem is. The real problem often gets lost in translation.

  • Learn the business. Pay attention at all-hands and other big meetings about strategy. It impacts your work. Don't wait for someone else to explain it to you.

  • Learn the strategy. Ask people about strategic goals and actively draw a connection to your own work

  • Don’t just write code. Solve problems. Make sure you understand the value of your work and you talk to people about that. Not just "features". For example, “this needs to ship by Fall because it's our big strategic bet for the year.” Tell people how to achieve the strategic goal.

This is not an exhaustive list, but when I shared it with people, there was a lot of vigorous head nodding. Engineers who do the above are also usually the people everybody loves to work with. These are the folks who get not just shoutouts, but promotions and raises as well. Most of these things are separate from developing more technical skills. I believe engineers at any level can see success by focusing on these things. Not just “senior” people. These are the skills and behaviors that help you create impact, and more importantly, get credit for it.

At the same time, I want to acknowledge that this list may seem daunting to some people. Especially engineers who are earlier in their career. This shouldn’t be seen as a checklist that you have to achieve immediately. It took me almost 20 years of experience to learn these behaviors. My goal here is to lay them out explicitly so you can at least be thinking about it, and potentially match it up with feedback you receive from managers or elsewhere. If nothing else, I hope this post serves as a helpful reference to remind people over time.

Before I take off my manager hat, I also want to talk about the flip side of this coin though. Even when I talked to people about this as a peer engineer and not a manager, I got all kinds of reasons why people can’t or won’t take this advice. I want to share some of these as well. This is not to criticize or shame anyone. But I’d like to be part of pushing for more honest evaluations of why people might struggle to do better. Here are some of the responses I’ve gotten:

  • "I'm not sure how to do that". They need to build skills and haven't found a way to level themselves up. Each of the bullets above could probably be a blog post with more details.

  • "I thought I was doing that". Some people aren’t great at evaluating themselves or getting feedback reflected back at them.

  • "I can't do it because X". A lot of passing the buck. Bad project managers, too many conflicting messages from leadership, etc.

  • "I tried to tell people, but they're not listening". Having trouble creating the right relationships with other people.

  • "I'm too busy with meetings and stuff". Not feeling in control of their own time.

  • "This won't get done unless I do it myself". Biting off big pieces of technical work for themselves because it's more fun. Or they don't trust their coworkers.

  • "I've got too many other things I'm responsible for". Overwhelmed by too many priorities. Having trouble context switching.

  • "I don't think that's important". Hubris and a poor understanding of what matters to other people.

  • "That's somebody else's job". Poor understanding of what it means to become a linchpin.

In each of these cases, my goal as a manager is to support people in working through the barriers they’re experiencing so that I can eventually see the behaviors I want to see. As an engineer, I have appreciated those managers who remind me of what’s expected while not being overbearing about it. I still have this fanciful notion that engineers and managers can build trust and help each other be more successful together. I plan to keep sharing what I’ve learned from both roles and doing my best to bridge that gap.

Is Management Burnout Inevitable?

I came across a thoughtful question about how to avoid burning out in the management role. This is my response thread from twitter reproduced in full.

Tweet text: “Real question: is burnout for management inevitable for people who actually care about the wellbeing of other people? If no, how does one combat the emotional toll of the job?”

This is complicated. It can be very difficult to make management into a sustainable role when you're trying to be the kind of empathetic and thoughtful manager that people deserve. I'm taking a break from it right now due to burnout. But here are a few thoughts.

The role of management is changing. I don't know how long this has been in progress, but the pressure on managers in tech has gone up sharply in recent years. Seemingly spurred on by the movement towards increasing diversity, equity, and inclusion in the workplace.

The thing that makes the new management difficult is that you're likely to be caught in the middle of parties that have competing and even contradictory incentives. Your direct reports, your executives and sometimes, your peer managers.

It's has always been the case that alignment between execs and individual contributors (IC) is hard to come by. There is too much lost in translation. But part of the job if the new manager is to facilitate that translation on both sides.

The leadership team often needs help really hearing and understanding the challenges that people in their company are facing. But ICs also have a hard time empathizing with the role of managers and executives. At various points, they will all blame you for things going wrong.

In a nutshell, that's why this role can be so draining. You want to care about people and help them be productive and happy. You also want to care about the success of the business and being successful by creating impact there. Those things will often feel at odds.

Execs are going to ask for ridiculous things. That's their job. Running a company is very hard. One of the hardest parts is that you can't actually be personally responsible for anything that needs to get done. You have to depend on others to do it.

Have you ever tried to get 10 people to try to do the same thing at the same time? imagine doing it for a company of 100, or 1000, or 10000. Most of the time, all they can do is give vague high level plans. The rest is up to the smart people they hired to figure out.

Conversely, as an IC, you will almost never feel like they have enough information to make smart decisions. Instead it feels like nobody has concrete answers to anything and nobody will take the time to find them. Yet you're still on the hook for being "productive".

There's a bunch of people in the middle who *might* have access to many different pieces of the puzzle. Both from those above, and those below. When asked what managers do, a friend of immediately snapped "absorb the cost of communication overhead".

That's you by the way. If you're a manager, you're gonna frequently find yourself in conversations with many different people who need to get things done. But none of them are talking to each other. They're hoping you'll make sure the right info gets to the right people.

I also mentioned your peer managers. Not everyone has gotten this memo about doing better for ICs. You'll also have to deal with other managers who care less about that. Instead they continue to respond to the same incentives as most people do. How to please their bosses.

While you're working so hard to find a way for everyone to collaborate, you should expect to be frustrated with other managers who aren't working as hard. Playing politics, or sacrificing their team to rack up wins will still get them ahead. And you'll have to deal.

So all of this being said, we can come back to the original question. Is there a way to make this job more sustainable? I think so. Many people I know and respect as managers seem to be able to keep doing it. Here are some things I'll probably do next time.

Accept that your job is not to "make people happy". This is tough, but you have to start here. It's not your role to make people happy. But it's also impossible. You can create an environment where they feel psychologically safe and productive. Happiness is up to them.

So tip number one is to give yourself a break. You can't win them all. Sometimes it will feel awful. But if you take too much responsibility for other people's decisions onto yourself, you're on the road to burnout. You'll get another opportunity to do better.

Tip number two is related to tip number one. You'll be more effective at this job if you find a way to let others share their problems with you. Obviously your ICs will tell you when they're unhappy. You can't always fix it. But listening and trying to help them matters a lot.

Execs will also complain to you. And it'll suck because you'll be thinking they have it all wrong. They don't know the people on the ground. They don't know the details. But resist the urge to try to correct them. Build trust and you'll get your chance to influence them.

If you spend all of your time trying to tell your bosses that they have it all wrong without taking responsibility, they're gonna start wondering why they need you.

The next thing you can do for yourself is to delegate more. Yeah you've heard this one before. But I bet you're not really doing it. We often have to fight against the instinct that tells us our ICs have to stay focused on their primary responsibilities.

The reality is that it's the modern manager who has way too much to do. Our role is often defined as "anything that is not the explicit responsibility of someone else". We can do it all. So you have to find *strategic* ways to either delegate, automate or drop things.

This is where a manager needs to develop a lot of unique skill and experience. Knowing who is appropriate to delegate to and how often. Knowing which things can be dropped without repercussions. This will do a lot to reduce your stress.

The last tip I have is to cultivate wins for yourself. Not to show other people, but to sustain yourself. One the hardest parts of this job is that you pretty much stop getting any positive reinforcement whatsoever. It's easy to start to feel like there are only problems.

But good managers do a lot of good. A lot of things that go well are because of what we do. It's okay to acknowledge that and feel good about it. We often have to give away credit publicly. But own your wins. Even if the only people you can tell are other managers.

My final tip. In order to cultivate those wins, you may need change your expectations of how long things take. Changing things for the better takes time. Just like anything worth doing. Good management is more about gardening than firefighting.

If you can change your expectations to really accept that things won't change right away, that'll create space for you to notice the *progress* that is being made. It happens little by little. Rarely do things change all at once. (Except for reorgs, which aren't your fault).

You'll also start to be able to change other people's expectations about how long things take. I've talked to a lot of managers who are making themselves feel awful. Because their reports are unhappy today and they're afraid they can't fix it before people quit.

But if you can start to convey to people how things can change over time, and why it *has* to work that way, you'll be doing yourself and them a favor. If you don't help people be okay with longer time horizons to see results, you'll continue to feel stressed.

I learned this lesson the hard way. I remember when I knew how to fix everything immediately and all people had to do was listen to me. The problem is they don't have to. Because who the fuck am I? Anybody can be right as long they ignore what other people need.

I hope this gives people some perspective on what this job is and how to prevent it from eating you alive. It's just a job. An important one to be sure. But you don't have to sacrifice all of yourself too it. Do your best. Get better at it. Don't forget to take note when you do.

How to Avoid Badmouthing Previous Employers in Interviews

A friend who is getting started in their tech career asked an important question about navigating interviews. I ended up giving them some extended advice that I wanted to share here.

Question: What’s y’all’s advice for speaking positively in an interview about a job you feel negatively about? In general, how do you balance being honest with not coming off as a negative person in interviews?

My Answers:

Here's my advice as a hiring manager. YMMV.

Unless they explicitly ask about the negative stuff, don't volunteer it. It's perfectly fine to not bash previous employers.

Talk about what you learned. Either technical or otherwise. You can talk about difficult projects and why they were difficult. If it's because some people on the project were causing problems, either talk about how you tried to help, or just don't mention that part.

Talk about the product or service. Talk about why it's useful to customers/clients. Talk about how something you worked on improved the business in some way. Revenue, customer value, reduced costs, etc.

Some places ask you explicitly why you left a previous job. Don't answer that. Just say they couldn't offer you the kind of growth you were looking for. (Be able to describe the kind of growth you're looking for).

Bonus: A peek into what the questions might actually sound like

I have a go-to question that I ask. I ask people to tell me what kind of environment they have thrived in and one where they have not been able to do their best work. It's a tough question because it seems to point at the negative things. But you can answer that question by talking about yourself and what you need to thrive. It still doesn't require bashing the company or other people.

Interviews are always challenging. Knowing what to say and what not to say only comes with lots of practice. As a final thought for people trying to get hired, I highly recommend that you seek out opportunities to practice interviewing in a low stakes environment. Get used to putting together the words that give interviewers the info they need without inadvertently saying something that paints you in a bad light. I hope this post gives you some helpful guidance to get started. Good luck out there.