工程师们迫切希望产品经理理解的事 | Camille Fournier(《The Manager's Path》)
The things engineers are desperate for PMs to understand | Camille Fournier (“The Manager’s Path”)
Top PM Behaviors Engineers Hate
Lenny Rachitsky: I’m curious what it is that PMs do that annoy engineers most.
Camille Fournier: Hoarding credit. PMs, they tend to be the front-facing person for initiative. Engineers sometimes think that they don’t get the credit for their work because the PM takes all the glory and all the credit for the project that they really worked very hard on.
What Drives Engineers
Lenny Rachitsky: I find the best PMs are the ones that talk the least and encourage other people to do the presenting-
Camille Fournier: The next thing that engineers really get annoyed about with PMs, when they just don’t understand the details and act like they don’t matter, it just shows a real lack of empathy for the work that engineers are doing and I think it really can be very off-putting.
About the Guest
Lenny Rachitsky: Is there any insight you can give about what people may be missed about the motivation of engineers, what gets them excited?
Camille Fournier: A lot of people assume that engineers just write code and don’t underestimate the ability for your engineers to want to understand the business problem, want to understand the customer problem. I think the product managers that have done the best, they’re not threatened by other people having ideas.
How to Be a Less Annoying PM
Lenny Rachitsky: Today, my guest is Camille Fournier. Camille is one of the most respected technology executives in tech and the author of the Manager’s Path, which many considered the definitive guide for navigating your career and moving into management. Over the course of her career, she was CTO of Rent The Runway, VP of technology at Goldman Sachs, global head of engineering and architecture at JP Morgan Chase and head of platform engineering at Two Sigma. She’s also releasing a new book later this year called Platform Engineering, A Guide for Technical Product and People Leaders, which you can actually pre-order today and we get into this topic in the latter half of the conversation.
We also dig into what PMs do that most annoys engineers and how to stop doing these things. Why major rewrites are often a trap. Why you may want to be doing fewer one-on-ones. What most surprises people when they become a manager and some really useful heuristics for how long you should stay in IC before you make the leap into management and tons more. This episode covers a lot of ground and we’ll help you think about management. platform teams, team culture and the PM and end relationship in a whole new way. If you enjoy this podcast, don’t forget to subscribe and follow it in your favorite podcasting app or YouTube.
It’s the best way to avoid missing future episodes and helps the podcast tremendously. With that, I bring you Camille Fournier. Camille, thank you so much for being here, welcome to the podcast.
Order Takers and Stifling Creativity
Camille Fournier: Thank you so much for having me.
What Great PMs Actually Do
Lenny Rachitsky: It’s my pleasure. I want to start by asking you a question that is on the minds of a lot of product managers is how to be less annoying as a product manager. I know you worked with a lot of engineers over time. I’m curious what it is that PMs do that annoy engineers most and how can PMs stop doing that?
Camille Fournier: I would say there are a few things that PMs do that annoy engineers and to be clear, I am sure that engineers annoy PMs, just as much. So I’ve realized this is a two-way street. So I think there’s some things that are really easy to fix and some things that are maybe a little bit harder. So the easy things to fix are hoarding credit. Sometimes I think PMs because they tend to be the front-facing person for initiatives, they’re talking to customers, they’re talking to the executive team, whatever. Engineers sometimes think that they don’t get the credit for their work because the PM takes all the glory and all the credit for the project that they really worked very hard on, right?
So making every effort to be credit sharing and inclusive of the engineering team and giving them the opportunity to speak about their contributions when it makes sense. I think those are all things that PMs can do to avoid that kind of … What I consider a pretty easy annoyance, just like don’t pour it all the credit. This is not just you, right? There’s a lot of work has to go into that. I think that sort of dovetails into the next thing that engineers really get annoyed about with PMs when they just don’t understand the details and act like they don’t matter and I think this is just a little bit of a cultural difference.
I mean, even managers, just normal managers, people like me who are looking across really broad areas or you have to be kind of big picture focused, and you forget that engineering done successfully really is all about the details and you don’t necessarily have to understand all of those details, but when you act like they don’t matter and you don’t care about them and it’s just like, I don’t care, just like tell me when you can get this done or why is it going to take so long? My god, this just seems like such a little thing. It just shows a real lack of empathy for the work that engineers are doing and I think it really can be very off-putting.
Even though I will totally agree that sometimes you’re going to get details that don’t really matter and you just have to be a little bit patient in those circumstances.
Balancing Tech and Management
Lenny Rachitsky:
Learn why some of the world’s most iconic companies like Etsy, Dropbox, Twilio, Vercel and Webflow rely on DX. Visit DX’s website at getdx.com/lenny. Let me tell you about CommandBar. If you’re like me and most users I’ve built product for, you probably find those little in-product pop-ups really annoying. Want to take a tour? Check out this new feature, and these pop-ups are becoming less and less effective since most users don’t read what they say. They just want to close them as soon as possible, but every product builder knows that users need help to learn the ins and outs of your product. We use so many products every day and we can’t possibly know the ins and outs of everyone.
CommandBar is an AI-powered toolkit for product, growth, marketing and customer teams to help users get the most out of your product, without annoying them. They use AI to get closer to user intent, so they have search and chat products that let users describe what they’re trying to do in their own words and then see personalized results like customer walkthroughs or actions, and they do pop-ups too, but their nudges are based on in-product behaviors like confusion or intent classification, which makes them much less annoying and much more impactful. This works for web apps, mobile apps and websites.
And they work with industry-leading companies like Gusto, Freshworks, HashiCorp and LaunchDarkly. Over 15 million end-users have interacted with CommandBar. To try out CommandBar, you can sign up at commandbar.com/lenny and you can unlock an extra 1000 AI responses per month for any plan. That’s commandbar.com/lenny. By the way, CommandBar just changed their name to Command AI.
Camille Fournier: The third is playing telephone. Anybody in a manager role can fall victim to this, but I think PMs especially can be very annoying. So if you are being asked questions that you cannot answer because you just don’t know or because that’s something that involves a level of technical detail that only the engineers have that you just don’t have, and you put yourself in this in-between position where people ask you questions, you turn around, you ask the engineers questions, you take whatever they say, especially when you don’t really understand it, which happens sometimes, right? Go back to the original asker and sort of get in this middle-person scenario.
I think that is very annoying and frankly, it’s a waste of time for everyone. This is something that managers of all stripes do, but PMs definitely do it and that drives engineers, particularly senior engineers on projects, it’s crazy. And then, the last one that I wanted to put on this list is just when sometimes it feels like product managers want to hoard all the ideas for themselves, right? They want to be the ones that come up with every single sort of product idea and every single detail. What I see happen in those cases is that I see engineers start to over-engineer things, because engineers are like, well, I need to take control of something.
I want to have some creative outlet, so I’m going to use my engineering skills as my creative outlet and I’m going to spend a lot of time obsessing over the right framework or the right this, that or the other. That may actually not matter that much with products delivery, but when you take the people that are part of the project team out of the creative loop entirely, they’re going to find that creative outlet somewhere else and it’s actually kind of bad for the product.
Tech Platforms and Frameworks to Watch
Lenny Rachitsky: That’s really interesting, the last one. So you’re saying if you keep engineers from having a voice in what you’re building and prioritizing, that’s what encourages engineers to rethink, let’s just rebuild this thing, let’s use a new framework, let’s rewrite this system.
Camille Fournier: Yeah, I mean that’s my … that happens without you doing that, sometimes.
Master Tech Before Moving to Management
Lenny Rachitsky: Yeah.
Camille Fournier: I do think … I think when I see it worst and I can basically always predict what I’m going to see, a lot of that kind of engineers building stuff, finding creative outlets and kind of building stuff, maybe they shouldn’t be. I’m going to find that in places where they are so quashed their creativity for the actual business or product that they’re building and their voice in that is so ignored that they don’t have any outlets in that space and so, they are going to use the space that they have an outlet in, the place where they have some control and that’s usually the technology choices and the details there.
Biggest Surprises Moving from IC to Management
Lenny Rachitsky: That’s fascinating. I want to actually dig further into that around rewrites. You have a really interesting take on that, but before we get there, let me spend a little time on some of these. These are awesome. So on this theme of not involving engineers in ideation and coming up with what you’re actually building, what have you seen just very tactically, is there anything you’ve seen that PM do super well?
Camille Fournier: I think the product managers that have done the best, they’re not threatened by other people having ideas. They’re not threatened by the engineering team being full of smart people because they realize that yeah, some of the engineers may have good ideas, but they still don’t really know how to do the product job. Just my experience is there are plenty of engineers who actually think they can be product managers and they don’t really understand all of the elements of the product job that they would need to be successful. And when product managers take the time to build those relationships, well, make sure that people do feel like they can both share their ideas, but also that they start to appreciate what the job of this product person actually is.
And what they’re really bringing to the table in terms of really how do we measure this input? How do we really understand the customers, how do we really think through the details of what’s going to make this successful from a business or a customer perspective? I do think that that creates just a much better interaction pattern and then, engineers can feel good about sharing ideas and understanding that many of them won’t go anywhere, but there’s somebody that’s actually going to listen and take the time to care about them.
Counterintuitive Takes on One-on-Ones
Lenny Rachitsky: Coming back to some of the things that you said annoy engineers of PMs, this idea of playing the middle person, sounds like the solution clearly is there. Just connect the engineer to the other engineer or your engineer to the PM that’s trying to figure this out, right?
Respecting Your Own Time
Camille Fournier: That one is not always easy because again, you have this tension of a lot of the job, of any management role is being in meetings and filtering stuff so that people who are in focus … individual contributor mode can focus and get things done and not spend half of their weekend in meetings. You’ve just got to be very careful about knowing when you’re crossing that line and when you’re crossing it too often. And if you’re having to often say, “Let me get back to you, let me get back to you, I don’t know, let me get back to you.” Maybe the person you’re talking to is asking the wrong level of questions of you.
Maybe you need to connect them to the engineers directly, but just being aware that that shouldn’t be a default behavior. That will happen occasionally, but it shouldn’t be a thing that happens a lot because if it’s happening a lot, then you’re likely missing something, you’re likely losing something in that telephone game translation and that’s going to cause problems over time.
Achieving More in Less Time
Lenny Rachitsky: Awesome. So basically, if you’re just finding your middle person too much, then it may be time to connect people directly. And I know the reason PMs often are afraid of this is the engineer may agree to something that they think is a bad idea for their team or may not understand all the ramifications on the product or just obviously, just spend their time in meetings and not be building anything.
Camille Fournier: Yeah, yeah, and sometimes you mean you do it in a group meeting. I feel like Slack and other chat type things actually make it a lot easier to see, have the right people in a group in a thing, but again, that’s distracting. So there’s not an easy solution to that one, just I think it’s important to be aware of it.
Rituals for Staying Focused
Lenny Rachitsky: Yeah, that’s a really good point. And then, in terms of hoarding credit, is there any tactical thing you’ve seen PMs do really well here is it, just every time they’re announcing the product, “Hey, these engineers were involved or-”
Camille Fournier: It’s more than just saying thank you to all these people, but it’s actually sometimes stepping back and letting other people speak, especially if it’s something that’s a really, really big technical lift. I don’t think there’s a super easy fix to that. I think it is just really being mindful that that can be very much a sore point for engineers when they just feel like, “This is my work, I’m not getting any credit for it, and this person is hogging all the glory.”
More Thoughts on Delegation
Lenny Rachitsky: I love that. Yeah, I find the best PMs are the ones that talk the least and encourage other people to do the presenting and announcing. And so, I think that’s a really good reminder is let your engineers do that. Okay, amazing. So we talked a little bit about this idea of rewriting and how engineers sometimes just want to rewrite the system and I think a lot of PMs do too. A lot of times you’re building your features on a thing that someone that doesn’t even work at the company and were built five, 10 years ago, and there’s always this sense of, “Okay, maybe we should just rewrite this thing everything will move so much faster.”
Do you have a really interesting take that I think a lot of PMs will love to hear, which is that rewrites are often a big trap and often don’t end up being what you think they might be? Can you just talk about your experience and perspective on this?
Camille Fournier: Yeah, so I mean I have personally overseen a number of, if not quite rewrites, re-architectures and major system evolutions. So I absolutely do think they are sometimes a thing that needs to happen, but I also, have seen so many instances of cases where the engineers have convinced themselves that the only solution to the woes that they’re experiencing with the system, it’s hard to support, it’s hard to change. Nobody wants to work on it, because it’s this old crappy technology, is that they just have to go over to the side, build the new thing that will replace this old system and that is going to sort of free them from their misery.
And I think projects where you acknowledge that you do need to do an uplift, but you make a very thoughtful staged plan as to how you’re going to do that, and you really think through, okay, we don’t need to touch all of this stuff, but we’re going to take the recommendation system, it really needs to be uplifted and that’s a well-contained, you know, API and so we can start to fix that without having to change the whole whatever web framework, right? So I do think there are ways to do these evolutions, but people really underestimate. They underestimate the time to migrate stuff from the old system to the new system, is a huge, huge problem.
Particularly when you’re talking about systems where you have sort of external people using the system in some way, whether it’s web UIs or APIs. You think, “Oh, we kind of know what’s going on, so it’s not going to be that big a deal.” Engineers notoriously, notoriously, notoriously, massively underestimate the migration time for old system to new system and that causes a lot of problems. By the way, you still have to support the old system while you’re working on the new system. So I doubt many of the PMs in the audience are ever happy when they hear, we need to go away for six months, a year, two years to build this new thing and we just can’t really add any features to the system in the interim.
That’s infuriating, I’m sure, and frankly that’s a problem and I don’t know that that should be an acceptable answer in many cases. There may occasionally again be a case where that is what has to happen, but I think most of the time you can’t really afford to just say we’re going to go away and we’re not going to touch the system for a long time and we’re going to build something new over here. So many things about why that doesn’t make any sense. So this is a little bit of field of the blog post that you’re referring to. So, if you’ve got a system that doesn’t really need feature enhancement or development because it’s just sort of fine and the users are using it.
And it’s just annoying to the engineers, why in the world would you invest so much money in writing a new version of it? There’s a little bit of a cognitive dissonance that sometimes happens if you need to do new stuff and the old system literally is not … it’s not possible to do the new stuff that you need to do, you need to figure out a path to get to a sustainable system or you can continue to add and evolve. You should be investing and so there does need to be an investment, but you have to ask yourself, if I could go away and not touch this and not do anything to it for a long period of time without it really harming my business, is it worthwhile to change it at all?
Does it matter, and there’s some questions there. I also think that when people try to do rewrites, particularly again if it’s something that you’re really trying to just move to a new language for example or sort of modernize in a certain way, [inaudible 00:18:45] a lot of times people really underestimate what the old system does and how well they know what the old system does. There’s so much logic buried in legacy systems, it tends to be undocumented, it tends to be weird. You haven’t thought through all the business rules, you haven’t thought through the data formatting and I think again, it’s much, much harder to replicate all the important things from the old system to the new system than people expect.
So there’s more than that, but I do think sometimes you need to evolve systems and my advice would be when you’re struggling making an evolution plan, take pieces potentially of the old system, uplift them, make them more scalable, make them easier to work with, clean up the tech debt, but trying to say we’re going to just go away. We’re going to rewrite, we’re going to build something brand new and it’s going to solve all our problems, it just very rarely works.
Platform Engineering and Platform Teams
Lenny Rachitsky: I think a lot of PMs will be like, “Yes, thank you so much for saying this, because I think that’s also always a big struggle between the ENG team and the PM team.” So just to summarize what I think a lot of people miss or what you’re saying a lot of people miss when they’re thinking about let’s rewrite this thing, is the migration to the new system, migrating customers, users, data to the new thing is going to take a lot longer than you expect. You underestimate knowing what it actually does and you’re going to miss features and you can introduce new bugs. This actually is very similar to what I’ve seen with redesigning a whole product flow.
There’s always this sense of let’s just rethink this onboarding flow from scratch or let’s rebuild this part of the product and always it ends up being a negative experiment result. It always ends up being less good and then, you have to spend all this time clawing back to get to where you were and also, you forget the stuff that would … the features that you had and you’re like, “Oh, shit, I forgot about that feature, I forgot about that feature.” So it’s interesting, there’s a very similar situation in the product side. Okay, amazing. I’m going to go to a slightly different topic, which is around engineering leadership.
So I know you’ve written a lot about engineering leadership, you spent a lot of times with engineering leaders, so I have a few questions here. One is that I know that one of the things that haunts engineering leaders most is finding the balance between staying technical and their technical expertise, and their leadership expertise and basically finding the right altitude of how high … where to be in the org and also how in the details to be, and also staying technical enough to be relevant. What have you learned in your own experience of finding that balance and how do you advise engineering leaders as they struggle with this?
Camille Fournier: Yeah, so one piece of advice I give everybody is don’t stop being a hands-on technical until you feel like it’s in your bones. You feel like you’ve got mastery that you could … if you know a second language fluently or if you played an instrument really, really seriously for a long time or maybe a sport really, really seriously for a long time, you’ll be familiar with the … I haven’t done that in a long time, but if I was to pick it up, it would be rusty, but I would get there pretty quickly, right? Maybe physically, I wouldn’t be as strong as I was or whatever, but I would get there. You can do that with writing code.
You can do that with technical skills if you do it for long enough, I think you can develop sort of a baseline mastery, where you’re not going to be as fast and a lot of the challenges of being technical is actually in all the tooling and all the tooling evolution, but you’re not going to be necessarily as fast as people who have been doing it, but you won’t be completely clueless and I think that all the things you learn getting to that really comfortable mastery of some part of hands-on tech will stay with you and will help you just maintain a level of confidence in your own technical know-how and maintain a level of empathy for what it means to be a good engineer.
And I think just make you a lot less anxious about being hands-off, even though I think everybody who makes that transition for a year or two, especially if you’re really have to be hands-off or you just don’t have time to write code at all, you are going to be anxious for a while no matter what. The things to then think about from that point is, being technical is also just about knowing what’s going on and paying attention and being able to ask … what people care about with technical leaders in my experience is they want people who actually seem like they sort of understand what you’re doing and can ask good questions and help guide you to better decisions without actually being the one who’s like, “Oh no, you need to use this library instead of that library.”
It’s actually sort of annoying when somebody that’s very senior and hands-off tries to tell you, don’t use this library, use that library because I don’t know about you, but I don’t really believe people who have been hands-off for that long when they try to tell me what to do and the thing that I’m kind of the expert in right now, but I do appreciate it when I’m given more guidance around, well, have you considered this? Tell me about how you’re planning to handle that situation. What are the major technical challenges with implementing this and that can actually spend the time to listen and ask thoughtful questions on the back of that.
The last thing I would say is surround yourself with smart technical people, also as much as you can, and be willing to listen to them, talk about tech and ask them questions about things. I feel like that’s part of the reason that I am able to stay technically savvy and credible amongst people who work for me is not that I’m writing code because I’m not. But I am listening to a lot of very smart people talk about technology a lot, down to the level of I’m trying to debug this database issue, what the heck is going on? And just constantly being interested in those stories and learning from them and learning what really smart engineers are thinking about and worrying about.
The more you can build that network of people that are still hands-on and stay in touch with that, I do think that helps a lot.
PMs in Platform Teams
Lenny Rachitsky: So on my last point, how are you actually doing that? Is it watching … going to conferences with friends, something else?
Camille Fournier: Yeah, yeah. I mean, I guess for me it started with going to conferences, meeting people. Now, I’m in a lot of different chat groups where people are just sort of regularly communicating, staying in touch with … staying in touch with former colleagues. I will admit I’m kind of a social person and I have a big network, so this may be easier said than done, but I do think being in the right group chats … I also think, I’m sure reading various tech news and tech sort of commentary and discussion boards, I mean it’s definitely a mixed bag of that stuff I think that like … but there are smart people. You find the smart people in there, you sort of follow what they’re saying. I think that’s another good way to keep that perspective.
What Is a Platform Team?
Lenny Rachitsky: Is it a sign, I wonder if you’re not interested in that anymore that maybe you should move into something else. I don’t know. If you’re like, don’t really pay attention to engineering technicalness.
Camille Fournier: It’s hard for me to say because I’m such a nerd. I really love tech. I’m in this industry, because I’m just actually genuinely very interested in certain corners, not every corner of technology but certain corners of technology. I want to know what the latest stuff that’s happening in databases and infrastructure and I find it all very interesting. I find the problems interesting. So I think that makes me very successful because I just have that natural curiosity and passion and interest in it. But I don’t know that that’s a total prerequisite.
When to Build a Platform Team
Lenny Rachitsky: Yeah, but you’ve been talking about … it reminds me a little bit of this guy, LevelsIO on Twitter. Have you heard of this guy? He was just on Lex Friedman. Have you listened to that yet?
Keys to Platform Team Success
Camille Fournier: I think maybe I saw a clip of it, but I haven’t listened to it.
Lenny Rachitsky: So I think one of the most successful indie engineers where he just works on his own thing all by himself, never raises money, just launch his products that make money. And a funny thing about him is he works … all stuff is in PHP and jQuery. He’s just like, this works. I’ve always had this to do, learn Node.js, learn Python. And I’m like, I’m too busy to build … while I’m building to learn these new things and he’s been incredibly successful. So it touches on sometimes maybe you don’t need to just keep rewriting to the newest frameworks.
Three Major Platform Team Challenges
Camille Fournier: Yeah, no, I mean look, I actually … I feel like I know a lot of smart engineers who are in that category. They’re like, we built amazing things in PHP and relatively simple SQL and so much of tech is over-engineering things and I don’t totally disagree. I think the challenge is though, of course, what works as a one person show, doesn’t always work in a scaled organization for better or for worse, we’re in different like, you’ve got to match what makes one person really productive. Will it make 100 people, 1000 people, even 10 people really productive? That’s always a little hard to tell and that’s why I do think you should be not … I think it’s always a good idea to be keeping up with what’s happening and what’s changing in whatever kind of side of tech you’re in, but not obsessively chasing every fad.
I think being aware of, but not necessarily chasing them, but particularly, if you’re working in groups, teams, larger companies, even midsize companies, there is some amount of, you’re balancing the tech that makes one person go fast with the tech that makes 10 or 100 people go fast and those are not always exactly the same thing.
Lenny Rachitsky: Just to kind follow this thread a little bit and to kind of nerd snipe you a little bit, is there a platform or language or framework these days that you’re either very excited about that you think is helping people move faster and do better work or the opposite just like this is … everyone is excited but this is not good.
The AI Corner
Camille Fournier: I will say this, one example I actually put in my own notes for this conversation was GraphQL. I would not tell a team to use or not use GraphQL at this point because it’s a bit out of my expertise zone and my level of management. It’s not really my job anyway, but it is one of the things that is both popular and thought relatively poorly of by most of the senior people that I know. And so, I guess I would say that’s one where I would say if you’re seriously thinking about it and you’re not Facebook, you may really want to make sure you know what problem you’re trying to solve because the impression that I have from sort of listening to people talk about it is that GraphQL is kind of trying to promise front-end engineers that they don’t really have to collaborate with backend engineers.
And they can just sort of build whatever and it’ll all be fine, and it just doesn’t ever seem to work out that well for anybody who actually does it in practice. Again, obviously, it can work out that well because Facebook has made a great go of it. I’m sure there are other companies that are, but that’s one where it’s not that new but it remains one of these things where it seems like an interesting fad that maybe is burning a lot of people.
Lightning Q&A Session
Lenny Rachitsky: That’s awesome. I appreciate you sharing that. I don’t know if this is exactly an example of this, but on that podcast levels, I forget his actual name, Peter I think, shared that whenever there’s a framework that has a VC funded startup behind it, that’s not a good sign because their job now is to convince engineers to use it and then pay for it and that’s not necessarily going to be the best product.
Camille Fournier: That’s true. Although I will say that some of the most time-wasting frameworks have also just come out of big companies, or the context of the big company that may have made that framework super useful within that context doesn’t translate to startup or small company or even big company that doesn’t have the rest of the context set, but I don’t think … He’s not wrong. I also just think big companies share the blame on that one.
Camille’s Daily Fitness Routine
Lenny Rachitsky: I guess we should all just come back to PHP and jQuery and be simple.
Camille Fournier: Maybe.
Lenny Rachitsky: Okay, so to close out this thread on engineering leaders, finding the right balance, just to summarize your advice here. One is get to mastery before and is your advice here, get to this point before you move into engineering.
Camille Fournier: Engineering management. I will say part of this is also in particular, if you happen to be a woman or otherwise, underrepresented person in tech because people will tend to underestimate your technical abilities just unfortunately as a get-go. I also think it’s particularly important to kind of develop that internal confidence in your abilities before you make this sort of scary leap, which is scary for everyone of have a … if you have that mastery before you make the leap, I wish more people would do this because honestly, I do think there are a lot of people who never really gained the mastery. They go into management, they lose it and some of them are still perfectly good managers and look, there are good managers who were never technical to begin with.
I don’t want to say that that’s impossible. I just think that if you care about being technical, if you are technical now and you want to maintain that tech-savvy, don’t just become a manager the first time somebody offers it to you. Make sure you’ve really spent your good time writing code.
Lenny Rachitsky: Is there a number of years heuristic you think about or some way to tell you that maybe you’ve hit that point?
Camille Fournier: I think this has been since disproven, but it was that 10,000 hours idea of mastery at some point. For me, it was like an undergraduate degree, a graduate degree, and four or five years of full-time work. So maybe I might be slow. I didn’t start coding a lot in middle school like people might do now, but I felt like … I took several years of hands-on work in a very intense undergraduate and graduate programs for me. So I do think it’s probably somewhere in the 10-year range of really having spent a lot of your time over those years writing code and really understanding how to be a technical expert.
Lenny Rachitsky: Got it. So essentially if you’re thinking about moving into management as an engineer, you may want to wait until you’ve done it for 10 years in some form, which I think is a lot longer than a lot of people would’ve thought. And I imagine many people are not doing that. And then, in your experience not doing it as well, it could be-
Camille Fournier: If you were programming a lot in high school and you got an undergraduate degree, so let’s say you’ve got six years-
Lenny Rachitsky: I see.
Camille Fournier: You may only need four or five years of work, 40 hour a week writing code experience. I’m sure it depends on the company, but I do think when you see people that are 23, they are just out very recently out of school, it’s a different thing if you’re a founder and that’s a whole different life, but if you’re at a big company and somebody is like you have great communication skills, why don’t you start to become a manager? Often they’re actually pushing you to become a project manager, which is actually also the worst sort of path to real leadership in my opinion. If you don’t feel like you’re done … Also, if you just don’t feel like you’re done, if you’re still having fun writing code, don’t rush becoming a manager, writing code is awesome. Have fun, enjoy it.
Lenny Rachitsky: I know exactly what you mean. So I used to be an engineer, actually I was an engineer for 10 years. I definitely don’t have mastery at this point. I moved into product from that and I definitely so missed actually just sitting there and writing code and building stuff, that was very hard to give up. I imagine you still missed that.
Camille Fournier: I think I might’ve forgotten about it at this point, but there is nothing as satisfying because you get the fast feedback loop. It’s just wonderful. Yeah.
Lenny Rachitsky:
You can also access hundreds of pressure tested templates for everything from roadmap strategy, to final decision-making frameworks. See for yourself why companies like DoorDash, Figma and Qualtrics run on Coda. Take advantage of this special limited-time offer just for startups. Head over to coda.io/lenny and sign up to get six free months of the team plan. That’s coda.io/lenny to sign up and get six months of the team plan, coda.io/lenny. On the topic of moving into management, you wrote maybe the definitive book on engineering manager career path, and so when someone moves from IC to management, what do you find is the most surprising thing to them? What do they most often not understand or are surprised by like, “Oh man, I did not see this as part of my job or my life.”
Camille Fournier: Yeah, I mean I think there’s a few things. I do think … assuming that they’re actually trying to do it well, I do think there are a lot of people who move into management and then just don’t really understand the job at all and aren’t even self-aware enough to know that they don’t understand it, but for those who are trying to do it, trying to do it well. I think a few things that tend to surprise them are the fact that you really don’t own your time as a manager. Your team and your management and the company owns your time. More and more the more senior you become as a manager. I think individual contributors often think that if they become a manager, they will still have some of the freedom that they have as a senior individual contributor.
But then they’ll also be able to tell people what to do and they’ll have all this authority. And the reality is, management is much more … I’m not a huge fan of servant leadership exactly, but management really is a service job. You are serving the team, you are serving the company. Your job is to help make things better and that usually doesn’t mean that you’re making all the decisions. It usually doesn’t mean that you snap your fingers and people jump. Because if you try that, especially in tech, right? People are just going to revolt. They’re not going to listen to you. It’s just too hard to have … that’s not the culture that we live in.
And I don’t think that’s a good culture. I don’t think that command and control, I tell you what to do and you do it. It just doesn’t create creativity, right? It’s the same thing as like PMs, trying to have all the ideas, right? No, you’ve got all these brilliant people working for you on a team, your job as a manager is not to tell them what to do in every single case. Occasionally, yes, a lot more. If you’re trying to convince them of what you think should happen. In some ways, you’re sort of nudging, you’re encouraging, you’re directing, you’re setting guardrails for processes or behaviors or whatever, but it’s not this glorious fearless leader.
I make all these decisions and everyone looks up to me and it’s awesome kind of job. It’s much more grueling, much more … you are really just sort of reacting to things in the moment. And it can be very … it’s a hard job. I do think particularly management when done well, when you’re really trying to do it in a thoughtful kind, but also, productive way is a very hard job.
Lenny Rachitsky: I wonder if engineering is where most … where the highest percentage of people that move into management move back to IC. I’ve seen that a bunch and I wonder if engineers are the most common.
Camille Fournier: I don’t know, but-
Lenny Rachitsky: After realizing what you just said is true, like, “Oh, what I done-”
Camille Fournier: So do you not think product managers also do this? Because I think product managers also actually suffer from exactly this kind of-
Lenny Rachitsky: They do.
Camille Fournier: Maybe sometimes-
Lenny Rachitsky: They do.
Camille Fournier: Yeah.
Lenny Rachitsky: But interestingly, I was an engineering manager earlier in my career. I really did not like it. I was very unhappy in that role. As a PM manager though, I was very happy, it was a lot easier.
Camille Fournier: Yeah, because PMs are way easier to manage. PMs are awesome to manage. PMs want to … they’re just so helpful. They want to do this … they’re good communicators. I love managing PMs. I have to say, I have to say, just my experience, engineers are such a pain. They’re all primadonnas. I am an engineer, but PMs are more fun to manage my experience. So actually, you have a point. You have a point.
Lenny Rachitsky: But I wonder. Yeah, because I haven’t seen a lot of PM managers move back to IC product management. I find that once you can build product through teams and not sit there all day in Excel and check in on deadlines and things, it’s hard to give that part up. You kind of enjoy being higher up in that chain. Yeah. Kind of along these lines, something that you have a really interesting perspective on is one-on-ones. Most people are like have one-on-ones with everyone, have them regularly, they’re really important. You actually have this contrarian take that maybe you should have less one-on-ones, especially as an engineering manager, you talk about that.
Camille Fournier: Yeah, so to be clear, you should have one-on-ones with your direct reports and your manager and you should hold those sacred … I tend to do my weekly or maybe every other week. So this is not about that set of one-on-ones. So the one-on-ones of the people that you are directly managing and with your own manager. But I think there is this … I don’t know if it’s the remote work, sort of explosion that’s happened or it’s big companies or what, but what I’ve seen and I’ve heard a lot of friends at many companies complain about is this idea that everybody is doing one-on-ones with everyone else. So the manager is doing one-on-ones with their team. They’re also doing one-on-ones with all of their peers.
They’re doing one-on-ones with all of their stakeholders. They’re doing one-on-ones with product and design. And I think that it’s just not a scalable approach, right? Linearly scale with the number of relationships you have. And so, as your company grows, as the number of things your team supports grow, as the team grows, you just can’t scale that way. You cannot expect to maintain a one-on-one approach to kind of organizational relationship building and awareness passed a fairly small team/company. I also think that people think that one-on-ones will solve all of their problems. And I think the reality is you have this one-on-ones with people that don’t really want to have a one-on-one with you.
If they’re not in the mind to invest in your relationship, if they don’t really care about what you’re doing, they actually may not like it that you’re asking them for a one-on-one, let me show up like, because it’s like, okay, well I should do this to be a good corporate citizen or whatever. But they’re just like, why are we doing this? What is the point of this? I also think that one-on-ones, particularly when you use them first of stakeholder management. So when you’re meeting with people that’s not your team, but other stakeholders that you may need to deal with, if you have a lot of stakeholders … so I’ve been in a lot of positions where I have a lot of internal stakeholders because I build internal platforms is a big part of what my job has been in the last many years.
Having all these meetings as one-on-ones with those stakeholders can actually be kind of a weakness because when your stakeholders just tell you in a one-on-one that they’re happy or unhappy with things, your unhappy stakeholders aren’t hearing that. So you may have one really unhappy stakeholder and five really happy ones and all you’re saying to your unhappy one is, “Well, everybody else is happy and they’re not seeing it for themselves.” And they’re just having to say, “Trust me, because I’ve had these other one-on-ones with all these people and they’re saying it’s fine.” And it just kind of sounds whiny.
And so, when you’re dealing with a lot of stakeholders and trying to just rely on one-on-one management of that is actually not very productive in a lot of ways. So in general, I guess I just think people should respect their own time more. As much as I just said management, you’re kind of at everyone’s mercy and that is true, but also respect your time. Don’t just load yourself up with meetings because you’re a manager and that’s your job. Do you really have something to talk to a person about? Do you really need to … when you have a one-on-one meeting with someone, you are asking for their time. You shouldn’t just be doing that kind of haphazardly for fun.
This is a little bit of my personality. I’m not a great company networker. Some people are really good at just like, let’s go to get coffee, let’s go to lunch and let’s hang out and build a relationship. And honestly, those people are really successful in many ways that I am not. I do sort of envy that skill. I’m really good if I work with you. If I work with you on something, generally speaking, people really come to respect me because I’m very engaged and I’m a really good collaborator in various ways, but I’m really bad at just getting to know you random one-on-one, where we don’t have a purpose to the meeting.
And that’s not to say those are always bad, but I do think that a lot of people with … that’s your comfort zone, if that getting to know you, random, relationship building one-on-one is your comfort zone, I should probably do more of them. You should probably do fewer of them because you should always be pushing yourself to get out of your comfort zone and are you really getting something out of that or are you just being able to tick a checkbox that says, I had eight meetings today, therefore I was productive.
Lenny Rachitsky: Yeah, that super resonates. Kind of pulling on this thread of how you operate and how you work something that I’ve heard you’re really known for, is creating a work culture where people work really hard but also, have a really good work-life balance. And when we were chatting, you, you actually told me you’re not a great believer in working too hard. Can you just talk about this philosophy on building a great culture where people don’t work too hard but also, get stuff done and don’t burn out?
Camille Fournier: I think we all understand that if we could just figure out and focus on really the most important things, we would just … everything would be better. And it’s hard to figure out what the most important things are, but overwork kind of lets you just sidestep doing the hard work of figuring out what’s important in the first place. I listened to one of your podcasts where you talked to someone who said, if you’ve never fired someone and regretted it, you don’t know where the line is, of who you should and shouldn’t buy. And I will admit I have mixed feelings about that, although I get what you’re saying. If you don’t regularly reset your expectations of what you should and shouldn’t let slide, do you have any idea where the line of what is actually important to work on is?
I just think … and the thing about that is it’s not like firing people where you do it once or twice and you regret it and you learn pretty quickly, unfortunately. I think you actually have to kind of regularly test the circumstances and challenge with, am I really getting the most out of myself? Am I really producing the best value or am I just making … swaging my internal guilt about I need to work 60-hour weeks, I need to sleep in the office, I need to whatever, to show that I’m a hard worker and I care. And so, I guess I do really think that people should challenge themselves to be focused and get the important stuff done and always be asking themselves what is important to do?
And what’s important to do does change over time. But if you’re not regularly doing an audit of your time and trying to knock things off that list that don’t matter, you’re probably wasting a lot of time on things that don’t matter and okay, you don’t want to work less. You love working a lot, that’s fine, but you could probably just be getting a lot more valuable stuff done if you would do these audits regularly, right? I also think people don’t delegate enough. So, if you don’t delegate, then you get overwhelmed because your team doesn’t know how to do anything, because you haven’t bothered to spend the time delegating, which actually takes more time initially, usually, you have to teach people whatever it is that you’re trying to get them to do.
Not always, sometimes they’ll surprise you and they’re better at it than you are, but maybe not. And so, you have to teach them, but then you finally … you freed yourself up to scale. So I guess I’m just a real believer that working hard and a focused way for over fewer hours I think is a more productive way to approach work. And I think I have lived my career that way. I’ve been successful in it and I have encouraged it and people who have worked for me, and I think I’ve seen a lot of success through it, but it’s not a thoughtless exercise. It’s an active process of constant reflection to get to that focus.
Lenny Rachitsky: For someone that is listening to this and is like, I want to start doing this, is there anything … any specific practice you’ve found useful or any specific tactic to actually do this well?
Camille Fournier: I think there’s different approaches you could take, right? One approach you could take is just like every Friday I’m going to stop working at 4 PM or something, let’s say, and I am not, or I’m not going to let myself work this weekend. Forcing yourself to log off, forcing yourself to have boundaries and saying … and then doing out of what did I get done, I think can help. That’s scary. And people don’t like doing that, but I do think that that’s one of the best ways to do it is really just saying, I’m going to log off. I’m going to log off every day this week at 6 PM. I’m going to … because your brain is probably going to keep thinking.
You might still be a little stressed out, you’re still thinking about work, you’re still worrying about it, but there is a difference between thinking about it and doing it, and particularly for those of you who are earlier in your careers, this was actually, I think one of the reasons that I did get to mastery was because I was extremely good at being focused when I was at work, when I was a hands-on programmer and really writing code for many of the hours of the day. And that meant I was not … this was pre heavy social media. I was much less distracted, which I don’t know if I would be able to do it in the modern era as easily, but having that real heavy focus time because I was like, “I don’t want to work on the weekend. I don’t want to stay here until 9 PM every night. I just want to get this done.” And it meant that I didn’t do quite as many copies.
I didn’t go to lunch and chat with people all every day, but I was very, very productive and I learned to get a lot done in a short period of time. And I do think learning those skills earlier in your career and then continuing to apply them throughout your career is another piece of advice.
Lenny Rachitsky: In terms of staying and getting focused, is there anything that helps you focus? Is it like headphones, a drink? What gets you in the zone?
Camille Fournier: I mean, yeah, I have a lot of rituals. I have my caffeination rituals.
Lenny Rachitsky: Say more.
Camille Fournier: Well, I mean I can’t drink coffee anymore because my stomach got messed up at some point, but I drink tea in the morning. I drink caffeinated water also. I have a Diet Coke at lunch, so I have these rituals of my caffeine hits that help me. I have to be in a quiet place. I do find non-music that is … I really like Four Tet, for example, as music to focus or the new Andre 3000 Flute album is extremely good for focusing, where it’s not quite predictable, no lyrics and not quite predictable. For me, that helps me focus a lot. I can’t be listening to any words and focus. My brain just cannot ignore words. So those are some of the things I use to help folks.
Lenny Rachitsky: That is awesome. I have a similar caffeine strategy. I’m drinking tea always during these podcasts and this little thing I got here and then, my wife doesn’t want me to drink Diet Coke because she thinks the sugar and it is not good, but I still drink it sometimes and it works great. I switched to green tea. That’s my approach. Start with black tea and then switch to green tea.
Camille Fournier: That’s smart.
Lenny Rachitsky: Man, there’s so many things you shared that I wanted to dig into. Let me share a couple of things. Your point about delegating I thought was really important, and there’s another benefit to learning to delegate, which is team members feel empowered. You give them a chance to take on responsibility and they feel like I have an opportunity to show I can do this other thing.
Camille Fournier: Yeah, and you’re never going to scale if you don’t delegate.
Lenny Rachitsky: Yeah, and it’s hard to start learning to do that, but once you get good at it, it becomes so great. I love just delegate everything every time, and people enjoy it. They’re like, “Amazing. You’re giving me opportunity.” The thing you said about how … if you’re not sometimes regretting something you cut or potentially firing someone you don’t regret, Elon actually, Elon Musk has a great approach to this. I don’t know if you’ve heard his philosophy on optimizing. He has this whole five-step process of figuring out how to optimize something, and one of them is try to cut things like, do we need this thing or not? And if you don’t recognize that 10% of stuff you cut, it was a mistake, you’re probably not cutting enough stuff.
Camille Fournier: You’ll have to figure out your own metrics. But I definitely think testing the limits, it’s scary though. I’m going to be honest. Doing that is always scary. It brings up like, I forgot to finish the assignment nightmares of school, especially for the overachievers that often end up in these kinds of companies and jobs. Again, you got to do things that scare you or you’re never going to grow.
Lenny Rachitsky: Okay, I’m going to go in a whole different direction. You’ve got a book coming out about platform engineering and platform teams. This is something that I get a lot of questions about. A lot of people are thinking about moving to a platform team or struggling working on a platform team or struggling working with a platform team. So I have a bunch of questions along these lines. The first is I asked a bunch of people that worked with you what to ask you and someone that worked with you shared this quote about his frustration working with platform teams that he’s often complaining to you about and he works on customer-facing products. And so, he said platform teams that are often slow.
They’re often pushing us to compromise on features to adopt their systems. They often get infinite funding even though they don’t have to show any ROI. And so, maybe from the perspective of working with a platform team, say you’re building something customer-facing, any tips for effectively working with a platform team and building a great relationship there.
Camille Fournier: I’m very sympathetic to anybody who feels that way because part of the reason that I wrote this book, I co-wrote it with a friend, Ian Nolan, is that so many platform teams are guilty of all the things that he’s complaining about, that my friend was complaining about, that they don’t listen, they’re not delivering effectively, they’re not explaining their value to the company. And it is infuriating when you’re dealing with that. And honestly, I’m very sympathetic. The thing that I would say though is the more you can, first of all, spend the time understanding that the platform team’s problems a little bit and trying to collaborate and work with them and be clear about what it is you actually need and how you’re willing to work with them, I think the better.
I think if you get mad and you just try to avoid them or undermine them or whatever, that may work in the long run, but it’s just going to make everything worse in the short run. So I do think that if you’ve got a platform team that you’re frustrated with, some tips, I would put are like, “Look, find the parts of that team that are good because I’m sure there are some,” right? Maybe the databases team is awesome. And really make sure you are maintaining a good relationship with that part of the team and you can point to how you are collaborating extremely well with that part of the team. Help give them product feedback.
This is annoying but sometimes needs to happen because a lot of companies, I actually think product … you need to have a product mindset and frankly, you need to have product managers to build good platforms, internal platforms. A lot of companies just don’t do this. They don’t believe that they should waste head count on product managers for internal teams. So you end up with this platform team that has a lot of smart engineers, but they don’t really know what to build. So they’re just sort of building whatever they think is right. And so sometimes your job is to product manage them, is to tell them, these are the problems that we have and this is what we need.
And the clearer you can be about that, particularly when they don’t have a product team, oftentimes, you can kind of lead them from the side in that way. And so I think that’s another approach that I would take when you’re in that situation. Find the parts of the team that are working and working well with your team and make sure you develop those relationships and try to just get over the anger and frustration and just be clear about what it is that you need and help them understand what they should really be doing and building.
Lenny Rachitsky: That is really interesting advice. So especially, you’re saying if they don’t have a PM helping, make sure they’re guiding things well, is you can help them … basically help them think through stuff that will benefit them and also, help the stuff that you’re trying to get done.
Camille Fournier: Yeah.
Lenny Rachitsky: That’s awesome advice. Okay, so what about from the leadership perspective, trying to build an effective platform team, do you have any advice on how to structure these teams and incentivize these teams to help them be successful?
Camille Fournier: First of all, I’m a very strong believer that platform engineering has to involve software engineering. If you don’t have any software engineers on your platform team and you only have more operations systems engineers, DevOps, SRE, which I realize there are some SREs that are software engineers, but they tend to not want to write big software. I think you’re kind of missing the picture. Platform engineering is not just maintaining cloud infrastructure and doing small scripts or blueprints or enablement projects for other teams, because that doesn’t really create a cohesive and coherent platform. It doesn’t create products and frankly you need to be … platforms are products, ultimately.
You should be thinking about how do I create coherent offerings that make this company more productive? So you need software engineers. Yes, you need sort of operations systems, SRE specialists as well. And of course, you need product people. I had product teams on … product managers for all of my platform teams. I’ve really developed out that practice in the companies that I’ve worked for doing this because I just believe that you’re not going to get great results if you just believe that to engineers and engineering management. They will do their best and you do occasionally find engineers that have really great product instincts in this space, but the actual details.
And focus of the product work is just you can’t write a bunch of code and/or manage a big software engineering team and be a product manager at the same time. That’s actually just asking, I think, too much of people to do that really well, at least for very long. So I think when it comes to structuring a team, recognize this is not just like SRE V2. This is more than that. You want software engineers, you want systems engineers, you want product people. And then, one of the reasons you want product folks is because you want to be thinking about impact-based, outcome-based approaches, not just like, “Well, we built this thing that seemed cool, we adopted this technology from this company because that’s what everybody on the internet is talking about.”
Whether it’s VC funded or big company. We actually thought about what are the problems the engineers at my company are facing? How can we improve their productivity or deliver leverage to this business through whatever it is we’re building, right? Are we reducing the cycle time for engineering tasks? Are we solving problems that are preventing products from launching and scaling? Are we making really meaningful cost reductions or efficiencies and, in our products or in our platforms? These are some examples of measurable contributions, but I think one of the challenges is that people create these platform teams and think that they can be sort of divorced from having an impact focus because it’s like, “Well, you just got to run the infrastructure and make sure it works.”
And it’s like, “No, you actually do still have to do … if you do that OKR stuff or goal setting,” or whatever, you’ve got to take a lot of the best practices of product. It’s a little different in the internal world, but it’s still very important if you want to do platforms.
Lenny Rachitsky: On the line of having PMs within the platform teams. Some of the best PMs I’ve ever worked with where PMs on platform teams, and that just tells me, it’s not like where you put PMs that are just meant like that’s … where you could have some of the highest leverage because platform teams enable the rest of the company to move faster.
Camille Fournier: Yeah.
Lenny Rachitsky: And one difference there, I’m curious if you agree, is your ratio of PM to engineer can be a lot higher. You can have a lot more engineers per PM on platform teams.
Camille Fournier: Yeah. Yeah, I think that’s right because I think so much of the work in a platform team is not exactly product work. A lot of it is like scaling or really deep kind of technical, like I got to figure out how to actually do this technical thing or I’ve got to do this performance efficiency and you don’t always need a product spec for that, right? It is often just a very engineering heavy task. So yes, I think the ratios do tend to be a bit different.
Lenny Rachitsky: We dove over right into this topic. Maybe it might be helpful to help people understand what is a platform team, just what are examples of teams that would be considered platform teams.
Camille Fournier: I mean, I guess the high level definition that I have of platform engineering is if you are developing and operating platforms that … where they’re trying to manage overall system complexity and deliver leverage to your business. So a lot of the teams that people think about nowadays and when they’re talking about platform teams, they’re talking a lot about teams that may have formerly been called dev tools. For example, so your CI/CD tooling for the company, a lot of the cloud infrastructure provisioning and tooling. If you’re at a company with certain technical problems, you may very well be building semi bespoke storage systems. For example, maybe part of your platform teams. I actually think that there are … And then, actually web frameworks … Web mobile framework and support for that.
That set of engineering can also be part of a platform offering. I actually kind of believe that there’s also sort of what you might call integration platforms or platforms that are in between that infrastructurey developer tooly stuff and products. So billing platforms for example, if you have a single billing platform for all of the different products in your company, that shares a lot of overlaps in the challenges of those more dev tools, infrastructurey platform teams because you’re probably supporting lots of different product lines that are using this system that needs to be able to scale with certain efficiencies. You need to still do the product discovery.
You probably have a little bit more of a business product focus than the pure internal tools teams, but that gets to the blended area.
Lenny Rachitsky: For founders that are earlier stage or companies that are smaller hearing this and they’re like, “Oh, shit do I need a platform team?” So yeah, you’re shaking your head, if people aren’t watching on YouTube. What’s a sign that’s time maybe to start creating a platform team and setting aside resources for something like that?
Camille Fournier: So first of all, I think it gets to be like, you have 50 plus engineers. I don’t think this is the kind of thing that you start when you are 10 engineers, right? But when you are … so there’s a lot of ad hoc coordination that’s probably happening amongst your engineering groups right now, where maybe you just have one … you have your GitHub and somebody is making sure that all of that stuff is sort of working. You have a few cloud databases and you got a couple of people on each team and they kind of share notes to figure out what’s going on or whatever. Okay, it’s all good, but at some point, you hit either a lot of inefficiency where you’re seeing the same people across a bunch of different teams.
Each team has the same kind of people having to solve the same kinds of problems. It just seems like why do I have three people in every team, dealing with this instead of centralizing it and making it a little more efficient. It also could be that you hit some core scaling issue that starts to really need a dedicated team to solve. Again, that could be developer productivity. Every development team is trying to do it their own way and everybody is just super slow because you just can’t get code released and it all has to be coordinated across every different team and it’s just like, what is going on? We need to fix that or you actually have a technical challenging area that needs a focused team to fix the scaling.
Those are some of the signs that you may want to start thinking about a platform team, but it’s really like … generally speaking, I would not jump into it early. This is something for companies that have matured where it’s worth investing and making people internally more productive and centralizing certain functions just from a cost and efficiency basis at minimum.
Lenny Rachitsky: Say you’re on a platform team, say you’re an engineer or even a PM, any advice for how to be successful and thrive within that environment and be a great platform team.
Camille Fournier: If you want to do platforms. If you’re an engineer, certainly if you’re an engineer or an engineering manager, you’ve got to remember that half of the work is actually the operational quality, operational excellence of these things. Platform engineering is not just writing code and then throwing it over the walls to someone. Being interested and passionate about the operational challenges and scaling bits of systems I do think is fairly important, if you want to be a great platform engineer from a software engineer perspective, if you’re more like a product manager, “Look, you’ve got to really care about …” I think you got to be really both interested in working with really smart engineers who are going to know way more than you do about things.
And almost being a really good, not necessarily zero to one but past one person because actually a lot of the best platform type offerings in companies start in individual application teams. An application team has a problem and they solve it for themselves and it turns out that that’s actually a really good idea for how to solve that problem. So a good platform team is often looking around for those and then sort of taking them and then assimilating them and making them available to more and more people. And so, I think if you want to be in that kind of zero to one building the brand new stuff all the time, you may not be as happy in a platform team.
But if you’re really interested a little bit more of taking things over, stabilizing, scaling them, making them efficient, making them evolve as a company evolves, I think you’ll be happier in that circumstance.
Lenny Rachitsky: Awesome. Is there anything else along these lines before we wrap up and yet a very exciting lightning round that you think might be helpful for folks working with platform teams or working on a platform team, building platform teams?
Camille Fournier: I think there are two things that we haven’t touched on or maybe three that are really hard about platform teams and that I think don’t get much press, which is running platform projects is a little bit different than running agile projects. You can take a lot of the best practices you may have learned from agile type product delivery, but you are running longer, running larger scale, more complex builds because a lot of the stuff that you build at the platform level just takes longer. It’s a little bit more complicated. So you’ve got to be willing to get into that kind of stuff, especially if you’re in a management job in that space.
You are going to deal with a lot of migrations as well. So it is very annoying. Migrations happen, even if you don’t force them on people, your a cloud provider is going to say, oh, you’ve got to migrate from EKS view 19 to 121 or whatever, and that may require changes in code and then that’s a real pain in the butt for all of the application teams. So people who are interested in how to smooth over the customer and company impact of this underlying change, I think we’ll be very happy in platform teams. If you’re not interested in that, you may not enjoy the work as much. There’s just a lot of detail oriented work and platforms. And then of course, the final part is the stakeholders are a nightmare. My friend who wrote the question about how his product or his platform partners drive him crazy. I have no doubt he drives them crazies.
Because you’ve got all of these stakeholders, your peers and tech, maybe product managers, maybe executives that are like, what is this team? Are they really worth the money? Why are we spending so much on it? I don’t understand what they’re doing. I could do it better in some cases. So there’s actually a big part of the job, particularly as either product managers or engineering leadership is stakeholder management and really learning how to do that well. And that is not always, that’s probably I think universally agreed to be the least fun part of the job. I don’t think anybody loves it, but it is certainly a skill set. I’m glad that I have. And so, I think if you are thinking about building one of these teams.
And you’re like, I can just do the fun tech stuff or the cool product stuff, I’m really passionate about engineering productivity or I’m really passionate about state scale storage systems and I don’t want to think about any of the other stuff. You may not actually be happy in the long run in leadership positions. It may be fine as an individual contributor, but for leaders in particular, there’s a lot more to it than the fun tech problems, the fun operations problems, even the product.
Lenny Rachitsky: You said there’s a few things we haven’t touched on. Is there anything else?
Camille Fournier: That’s the fastest and anybody who’s interested, my book will be coming out in the next couple of months from O’Reilly and covers all of this depth.
Lenny Rachitsky: Yeah, is there a date specifically people should watch out for?
Camille Fournier: I think it’s actually pre-order on Amazon now. It’s called Platform Engineering, and then, there’s … I think it’s like a guide for technical product and people leaders, something like that. But I think the release … I don’t know exactly when the Kindle release will be, but we’re still in copy edits, but it should be done pretty soon.
Lenny Rachitsky: Okay, amazing. So you can pre-order it now. Rolling to it obviously in the show notes and description, it’s called Platform Engineering. Before we get to a very exciting lightning round, I want to take us to a recurring segment on this podcast that I call AI Corner. AI is very top of mind for a lot of people and I’m always curious how people are finding it valuable in their work or in their life. So the question is there anything you’ve found AI to be helpful with … in your AI work? Any way you use it in an interesting way?
Camille Fournier: I find it helpful, for example, if I’ve written a sentence and I’m like, I like this sentence, but I feel like, I don’t like the phrasing or the format that I’ve used, it needs to be edited, but I can’t quite figure out how. I will often put it into ChatGPT and be like, “Can you reframe this? Can you rephrase this for me?” It doesn’t always work well, but sometimes it does. It’s like, “Oh yeah, if I just switched this around or changed this word choice, it’s a much easier to read sentence.” I do think it’s … I think it’s just before that and small. I think it’s large, lots of texts I haven’t had as much luck with. I’m a little bit of an AI novice still, I would say.
What I will say is that AI is really bad, if you try to ask it for quotes or at least ChatGPT is. I haven’t used a lot of the other ones that much. I actually saw there was some Twitter or some social media thing that’s like, did Francis Ford Coppola get fake reviews from ChatGPT of the new, what is it, Agopolus.
Lenny Rachitsky: Yeah.
Camille Fournier: Agopolus maybe.
Lenny Rachitsky: Yeah.
Camille Fournier: And I was like, I actually had that scenario where I was like, I need a quote … I was looking for quotes for the book and I was like, maybe ChatGPT knows, but I was like, “Can you give me any good quotes on …” I forget what it was. Let’s just say it was on managing complexity or something like that, and it gave me these really interesting quotes. I was like, that’s great, but I better double check that. And they were not real. They were never real, not a single quote. And I’d be like, that’s not actually a real quote. Yes, you’re right. That’s not, so here’s a different one.
I was like, that’s still not a real quote, so don’t ask it for quotes because … or if you do, make sure it’s a real quote and not just an interestingly phrased … I mean good summarization in some ways of the text, it was sort of quoting from, just not an actual quote.
Lenny Rachitsky: That’s a good reminder of just generally don’t assume what it’s telling is true. Generally, it’s not giving you real things. It’s making things up and usually they’re right, but often they might not be right. That’s a really good reminder. On that first tactic, is there a prompt that you find helpful for how to actually feed it in there? Is it just here’s a line, help me come up with a better version of it?
Camille Fournier: No, I have not figured out the prompt engineering thing at all. I tried to get it to summarize a paper for me the other day, and it literally gave me the summary of a different paper, and then I asked friends and they were like, “Well, here’s a summary.” I was like, “Actually, that seems like a good summary.” And they’re like, “Well, first I told the AI that it was an expert in the field and that it needed to read carefully and that it was really smart,” and I’m just like, how do I have to manage the machine? I already have to manage all of these humans? Why are you making me manage machines now too, please?
Lenny Rachitsky: I thought this was going to solve all of our problems. Yeah, that role. There’s an acronym for how to approach engineering, and there’s always like give it the role. Here’s the role you’re going to play for me. You are an amazing writer and here’s what I want from you. Yeah. I’m also very bad at it. By the way, Claude I here is really good at writing. That’s one of its superpowers, so if you want to try writing, that’s worth trying. Claude by Anthropic. On the second point you made of fake quote. So, yeah, Francis Ford Coppola is coming out with this movie with … As you mentioned, this trailer is just full of all these quotes that people supposedly said about all his other movies that Godfather and stuff. And they’re all like, these are terrible … They’re all terribly mean quotes about his movies.
It turns out, yeah, they’re all not real quotes, and they actually took down the trailer, I just read because he’s just making up quotes by famous critics.
Camille Fournier: Well, so maybe-
Lenny Rachitsky: Maybe it was ChatGPT.
Camille Fournier: You can get fooled. I don’t know if it was ChatGPT or a cheeky intern or something, but we can get-
Lenny Rachitsky: Or very intentional marketing stint.
Camille Fournier: Or that.
Lenny Rachitsky: Yeah. Anyway, with that Camille, we have reached our very exciting lightning round. Are you ready?
Camille Fournier: Yes.
Lenny Rachitsky: Amazing. Okay. First question, what are two or three books that you’ve recommended most to other people?
Camille Fournier: So the first one is, What Got You Here Won’t Get You There. I love it. I think anybody who is trying to challenge themselves and grow, should read it, it’s fantastic. The second one is called When Things Fall Apart by Pema Chodron. That is when you are … For me anyway, when I am struggling with whatever circumstances around me, I find it a very soothing or reminder that life is hard and the best way to … you just sort of have to breathe with it and be with it and let it remind you of how life is hard for everyone and sort of make you a kinder person in the process.
Lenny Rachitsky: Is there a favorite recent movie or TV show you’ve really enjoyed?
Camille Fournier: I loved Alien Romulus. It was great. If you like a scary alien movie, fantastic.
Lenny Rachitsky: I hate scary movies, so that’s a new Alien movie. Okay.
Camille Fournier: Yeah.
Lenny Rachitsky: Anyone know there was a new Alien movie.
Camille Fournier: I loved it.
Lenny Rachitsky: Awesome. Is there a favorite product you’ve recently discovered that you really love, whether it’s an app or even physical product?
Camille Fournier: So I don’t know about recent, I’m a big Whoop fan. I got it during the pandemic and it is one of my … I’m just a weird fan girl for it. I don’t know. I just really … I enjoy it. I use it every day. Maybe it’s totally inaccurate, but it seems accurate enough and I just find it a very interesting and cool product.
Lenny Rachitsky: I know Whoop product, people listen to this podcast, so I think they’ll be happy to hear that. Two more questions. Do you have a favorite life motto that you often come back to, share with friends or family, find useful and work around life?
Camille Fournier: If you don’t challenge yourself, if you don’t take risks, you’ll never grow. That’s a big one. I think you’ve got to … challenging yourself, taking risks is how you grow. I think the other one for me is stay curious. The more you can remember that there’s more that you don’t know than that you do know, and staying open-minded and being willing to be wrong, I think the happier you’ll be and the better you’ll be as a leader for sure.
Lenny Rachitsky: Final question, on the topic of working out, you’re blocking it with your head generally during the podcast, when we moved … Behind you is a very significant looking barbell set or dumbbell set, I don’t know which one is which. Talk about your workout regimen or anything along the lines of how you work out.
Camille Fournier: I have been lifting rates probably for longer than some of your podcast listeners have been alive, which says more about my age than anything else. So I used be … I now have two kids, so I lift weights as sort of maintenance, but I used to be a very … I could deadlift than twice my body weight and I was just a very, very strong person. Now of course, everybody is into weightlifting, which makes the gym really annoying. So partly why I have a set in here, a small set with a baby sized bar is … so when I can’t make it to the gym, I can at least lift a little bit at home.
Lenny Rachitsky: What’s your favorite workout, lifting wise?
Camille Fournier: I love really basic deadlift, squat, overhead press, that kind of very simple, the classic lifts.
Lenny Rachitsky: Amazing. Camille, this is awesome. As everything, I was hoping it’d be, we covered so much stuff. Two final questions. Where can folks find you online if they want to reach out, follow up on stuff and check out your books and how can listeners be useful to you?
Camille Fournier: Yes, so with the weird state of social media now, that’s actually a harder question to answer than it normally is. I am on LinkedIn, so you can always follow me on LinkedIn and I’ll probably … I haven’t traditionally put that much there, but I’m expecting I’ll probably start putting more there in the coming months. I also still use Medium when I write. I actually like Medium, so medium.com, scamille is my username. Those are two good ways. I have a Twitter/X account that it is currently locked, and I may or may not unlock it at some point, but social media, as I said, has gotten weird. So I think probably LinkedIn is the easiest way for this kind of stuff.
Lenny Rachitsky: And I read somewhere that scamille is rooted in your love of ska music back when you were younger. Is that right?
Camille Fournier: It’s true, yes. It was from high school. I was a big ska fan.
Lenny Rachitsky: It’s funny how our usernames just stick from, we were really young and that’s the way we’re represented online now forever.
Camille Fournier: Yeah.
Lenny Rachitsky: That’s absurd. And then, you didn’t answer my final question, which is how can listeners be useful to you?
Camille Fournier: I have a new book coming out. I have another book that I’ve already written. Obviously, I love it when people buy my books so I love when people share my books with other people. My first book is translated into a bunch of languages, which is super exciting, and I hope that if you read it and enjoy it and learn something from it, you will let me know. Tag me on some social media. I think that’s just awesome and stay tuned. Look, if you are looking for people potentially to come talk to your company about platform engineering, I could be interested in that, but I always love to meet interesting people. If you’re in New York, reach out, who knows. This has been an amazing, amazing time getting to chat with you, Lenny. Thank you so much for inviting me on the show.
Lenny Rachitsky: I feel the same way. Thank you for agreeing to come on the show, Camille, you’re awesome. Thank you so much for being here.
Camille Fournier: Take care.
Lenny Rachitsky: Bye everyone. Thank you so much for listening. If you found this valuable, you can subscribe to the show on Apple Podcasts, Spotify or your favorite podcast app. Also, please consider giving us a rating or leaving a review as that really helps other listeners find the podcast. You can find all past episodes or learn more about the show at lennyspodcast.com. See you in the next episode.
Glossary
| English | 中文 |
|---|---|
| Alien Romulus | 《异形:夺命舰》(2024年科幻恐怖电影) |
| Amazon | Amazon |
| Andre 3000 | Andre 3000(音乐人) |
| Camille Fournier | Camille Fournier(嘉宾,曾任 Rent the Runway 首席技术官) |
| ChatGPT | ChatGPT |
| CI/CD | CI/CD(持续集成/持续部署) |
| dev tools | dev tools(开发者工具) |
| DevOps | DevOps |
| Four Tet | Four Tet(音乐人/乐队) |
| Francis Ford Coppola | Francis Ford Coppola(美国电影导演) |
| GraphQL | GraphQL(一种 API 查询语言和运行时) |
| headcount | headcount(人员编制) |
| Ian Nolan | Ian Nolan(Camille Fournier 的合著者) |
| IC (Individual Contributor) | 独立贡献者(IC) |
| jQuery | jQuery |
| Lenny Rachitsky | Lenny Rachitsky(播客主持人) |
| O’Reilly | O’Reilly(技术图书出版商) |
| OKR (Objectives and Key Results) | OKR(目标与关键结果) |
| Pema Chödrön | Pema Chödrön(藏传佛教尼师、作家) |
| PHP | PHP |
| PM (Product Manager) | 产品经理 |
| prompt engineering | 提示词工程 |
| ROI (Return on Investment) | ROI(投资回报率) |
| ska | ska(斯卡音乐,一种起源于牙买加的音乐流派) |
| SRE (Site Reliability Engineering) | SRE |
| Whoop | Whoop(智能健身追踪手环品牌) |
Reformatted by reformat_english.py
工程师们迫切希望产品经理理解的事 | Camille Fournier(《The Manager’s Path》)
产品经理最令工程师反感的行为
Lenny Rachitsky: 我很好奇,产品经理做的哪些事最让工程师反感。
Camille Fournier: 独占功劳。产品经理往往是项目对外沟通的窗口。工程师有时觉得自己得不到应有的认可,因为产品经理揽下了项目的所有荣耀和功劳,而工程师明明为此付出了大量心血。
Lenny Rachitsky: 我发现最优秀的产品经理往往是说话最少、鼓励其他人去做展示的那些——
Camille Fournier: 工程师对产品经理第二反感的事,就是对方根本不了解细节,还表现得好像细节无关紧要。这体现出对工程师工作的严重缺乏同理心,我觉得这真的会让人非常反感。
工程师的内在驱动力
Lenny Rachitsky: 你能不能谈谈人们对工程师的动机可能存在哪些误解?什么才能真正激发他们的热情?
Camille Fournier: 很多人以为工程师只是写代码的。不要低估你的工程师想要理解业务问题、理解客户问题的意愿。我认为那些做得最好的产品经理,不会因为别人有好想法而感到威胁。
嘉宾介绍
Lenny Rachitsky: 今天的嘉宾是 Camille Fournier。Camille 是科技行业最受尊敬的技术高管之一,也是《The Manager’s Path》的作者,这本书被许多人视为职业发展和走向管理岗位的权威指南。在她的职业生涯中,她曾担任 Rent The Runway 的 CTO、Goldman Sachs 的技术副总裁、JP Morgan Chase 的全球工程与架构主管,以及 Two Sigma 的平台工程负责人。她今年晚些时候还会出版一本新书,名为《Platform Engineering: A Guide for Technical Product and People Leaders》,目前已经可以预购,我们会在对话的后半部分深入讨论这个话题。
我们还会深入探讨产品经理做的哪些事最让工程师反感,以及如何避免;为什么大规模重写往往是一个陷阱;为什么你可能应该减少一对一会议的频率;成为管理者后最让人意外的是什么;以及在转向管理之前应该做多久独立贡献者(IC)的一些非常实用的经验法则,还有更多内容。这期节目涵盖面很广,会帮助你以全新的方式思考管理、平台团队、团队文化以及产品经理与工程师的关系。如果你喜欢这档播客,别忘了在你常用的播客应用或 YouTube 上订阅关注。这是避免错过未来节目的最佳方式,对播客也有极大的帮助。话不多说,有请 Camille Fournier。Camille,非常感谢你的到来,欢迎来到播客。
Camille Fournier: 非常感谢邀请我来。
如何做一个不那么令人反感的产品经理
Lenny Rachitsky: 这是我的荣幸。我想先问你一个很多产品经理都在想的问题:如何做一个不那么令人反感的产品经理。我知道你多年来和很多工程师共事过。我很好奇,产品经理做的哪些事最让工程师反感?产品经理又该如何避免?
Camille Fournier: 我觉得产品经理做的让工程师反感的事情有好几件。先说明一下,我确定工程师同样也令产品经理很头疼,所以这是一条双向车道。有些问题很好解决,有些可能稍微难一些。好解决的问题首先是独占功劳。有时候产品经理因为是项目对外沟通的窗口——跟客户谈、跟高管团队汇报等等——工程师有时觉得自己得不到应有的认可,因为产品经理揽下了项目的所有荣耀和功劳,而工程师明明为此付出了大量心血,对吧?所以要尽一切努力分享功劳,把工程团队纳入进来,在适当的时候给他们机会讲述自己的贡献。我觉得这些都是产品经理可以做的事,来避免那种——我认为相当容易解决的烦恼,就是不要独揽功劳,这不只是你一个人的事,有很多人为此付出了努力。
这也就自然引出了工程师对产品经理反感的第二件事:不了解细节,还表现得好像细节无关紧要。我认为这其实是一种文化差异。即便是普通管理者,像我这样需要跨很大范围管理、不得不更多关注全局的人,也会忘记工程要做得好,真正的关键恰恰在于细节。你不一定需要理解所有这些细节,但当你表现得好像它们无关紧要、你不在乎,只是说”我不关心,告诉我什么时候能做完”或者”为什么需要这么久?天哪,这看起来就是件小事”——这就体现出对工程师工作的严重缺乏同理心,我觉得这真的会非常令人反感。不过我也完全同意,有时候你确实会遇到一些并不真正重要的细节,那种情况下只需要稍微耐心一些就好。
“传话筒”与创意压抑
Camille Fournier: 第三件事是当”传话筒”。任何管理角色都可能犯这个毛病,但我觉得产品经理尤其容易让人反感。比如有人问你问题,你答不上来,要么是你确实不知道,要么是涉及到的技术细节只有工程师才掌握,而你把自己置于一个中间人的位置——别人问你问题,你转过去问工程师,拿到他们的回答,尤其是你并不真正理解那些回答的时候——这种情况确实时有发生,对吧?然后你再回去回复最初提问的人,就变成了一个传话中间人的角色。
我觉得这非常令人反感,坦白说,对所有人来说都是浪费时间。各种类型的管理者都会做这件事,但产品经理绝对也这么做,而且特别让工程师抓狂,尤其是项目中的资深工程师。最后一件我想列入清单的是,有时候产品经理似乎想把所有想法都据为己有,对吧?他们想成为每一个产品创意、每一个细节的提出者。在这些情况下,我看到的是工程师开始过度工程化,因为工程师会觉得:好吧,那我需要掌控点什么。
我需要一些发挥创造力的出口,所以我就会用我的工程技能作为创造力的发挥途径,花大量时间去纠结该用哪个框架、这个那个的。这些东西对产品交付可能其实没那么重要,但当你把项目团队的人完全排除在创意环节之外,他们就会在别的地方找到创造力的出口,而这实际上对产品是有害的。
Lenny Rachitsky: 最后一点很有意思。你的意思是,如果你不让工程师在构建什么和优先级排序上有发言权,那就会促使工程师去想”重新构建这个东西吧”、“用个新框架吧”、“重写这个系统吧”。
Camille Fournier: 是的,我的意思是……即使你不这样做,这种情况有时候也会发生。
Lenny Rachitsky: 对。
Camille Fournier: 我确实认为……当我看到最严重的情况时——而且我基本上总能预判到会看到什么——就是大量那种工程师去建造东西、寻找创意出口、去建一些也许不该建的东西。我往往会在那些他们的创造力被极度压抑的地方看到这种现象——对于他们正在构建的实际业务或产品,他们的声音被严重忽视,以至于在那个领域完全没有任何发挥空间,所以他们就会利用自己确实有话语权的领域,也就是自己有一定控制权的地方,而这通常是技术选择和相关的细节。
优秀产品经理的做法
Lenny Rachitsky: 太有意思了。我其实想深入聊聊关于重写的话题,你对此有一个很有意思的观点,不过在此之前,我们先多花点时间讨论刚才这些。这些都很棒。围绕不把工程师纳入创意构思和决定实际构建内容这个主题,从非常实操的角度来看,你有没有见过产品经理做得特别好的做法?
Camille Fournier: 我觉得做得最好的产品经理,他们不会因为别人有想法而感到威胁。他们不会因为工程团队里全是聪明人而觉得受到了威胁,因为他们意识到,没错,有些工程师可能确实有好想法,但他们仍然不知道怎么做产品经理的工作。根据我的经验,有很多工程师其实觉得自己能当产品经理,但他们并不真正理解做好产品经理这份工作需要具备的所有要素。而当产品经理花时间去建立那些关系,确保人们既觉得自己可以分享想法,也开始理解这位产品人员的工作到底是什么。
以及他们真正带来的是什么——比如我们到底怎么衡量这些投入?我们怎么真正理解客户?我们怎么从业务或客户的角度真正想清楚什么能让这件事成功?我认为这确实能创造一个更好的互动模式,然后工程师就可以安心地分享想法,同时理解其中很多想法不会最终落地,但至少有人在认真倾听并愿意花心思关注它们。
Lenny Rachitsky: 回到你说的那些让工程师对产品经理反感的事情,这个当中间传话人的问题,听起来解决方案很明确——直接把工程师和另一个工程师对接,或者把你的工程师和那个正在试图搞清楚问题的产品经理直接连起来,对吧?
Camille Fournier: 这件事并不总是那么容易,因为再说一次,你面临这样一个矛盾:任何管理角色的大量工作就是参加会议、过滤信息,好让那些处于独立贡献者(IC)状态的人能够专注做事,而不是把一半的周末时间花在开会上。你需要非常谨慎地判断自己什么时候越过了那条线,以及是不是越过了太多次。如果你经常不得不说”我回头确认一下,我回头确认一下,我不知道,我回头确认一下”,也许跟你对话的那个人向你提出了错误层级的问题。
也许你需要直接把他们和工程师对接起来,但你要意识到这不应该是一种默认行为。偶尔会发生,但不应该频繁发生,因为如果频繁发生,那很可能是你在遗漏什么,很可能是你在这个传话游戏中丢失了信息,而随着时间推移这会导致问题。
Lenny Rachitsky: 说得好。所以基本上,如果你发现自己当中间传话人太多了,那可能就是时候直接把人对接起来了。我知道产品经理往往害怕这样做的原因是,工程师可能会同意一些他们认为对团队不好的事情,或者可能不理解对产品的所有影响,或者显然就是会把时间花在开会上而不是构建东西。
Camille Fournier: 是的,是的,有时候你是在一个群组会议中做这件事。我觉得 Slack 和其他聊天类工具实际上让这件事变得容易多了——可以在一个群组里让对的人看到,但再说一次,这也会分散注意力。所以这个问题没有一个简单的解决方案,我只是认为意识到这个问题很重要。
Lenny Rachitsky: 这是一个很好的观点。那么关于独占功劳这件事,你有没有见过产品经理在这方面有什么特别好的实操做法?就是每次发布产品的时候说”嘿,这些工程师参与了这个项目”之类的?
Camille Fournier: 不仅仅是感谢这些人,而是有时候要主动退后一步,让其他人来发言,尤其是当这是一个技术上非常有挑战性的项目时。我觉得这个问题没有特别简单的解决办法。我认为就是要真正意识到,当工程师觉得”这是我的工作成果,我得不到任何认可,而这个人把所有功劳都揽到自己身上”的时候,这确实会是一个非常痛的点。
Lenny Rachitsky: 我很喜欢这个观点。是的,我发现最优秀的产品经理往往是那些说得最少、鼓励其他人去做展示和发布的人。所以,我觉得这是一个很好的提醒——让你的工程师去做这些事。好的,太棒了。我们之前稍微聊到了”重写”这个话题——工程师有时候就是想重写整个系统,我觉得很多产品经理其实也一样。很多时候你正在构建的功能是建立在一些甚至已经不在公司的人五年、十年前写的东西之上,总会有一种感觉:“好吧,也许我们干脆重写这个东西,一切都会快得多。” 你有一个非常有意思的观点,我觉得很多产品经理会很想听到,就是重写往往是一个大陷阱,结果往往不是你想象的那样。你能谈谈你在这方面的经验和看法吗?
Camille Fournier: 好的,我个人亲自督导过不少重写——或者说不完全是重写,而是重新架构和重大系统演进。所以我绝对认为有时候这确实需要做,但我也见过太多这样的情况:工程师们说服自己,他们所遇到的那些系统问题的唯一解决方案——系统难以维护,难以修改,没人愿意在上面工作,因为用的是老旧过时的技术——就是到旁边去,构建一个新的东西来替换旧系统,这样就能把他们从痛苦中解放出来。我认为,如果你承认确实需要做一次升级,但制定了一个非常审慎的分阶段计划,并且真正想清楚——好的,我们不需要碰所有的东西,但推荐系统确实需要升级,而且它的 API 边界比较清晰,所以我们可以在不更换整个 Web 框架的情况下开始修复它——我认为系统的演进是有方法可循的,但人们真的会低估。他们低估了从旧系统迁移到新系统所需的时间,这是一个非常、非常大的问题。特别是当你讨论的系统有外部用户在使用时,无论是 Web 界面还是 API。你会想:“哦,我们大概知道怎么回事,所以不会是什么大问题。” 工程师们严重地、严重地、严重地低估了旧系统到新系统的迁移时间,这出了名了。而这会造成很多问题。顺便说一句,你在开发新系统的同时,仍然需要维护旧系统。所以我怀疑在座的很多产品经理听到”我们需要闭关六个月、一年、两年来构建这个新东西,在此期间我们基本上没法给系统加任何新功能”的时候,心情会好。那确实很令人恼火,坦率地说,这也是个问题,而且在很多情况下我认为这不应该是可以接受的答案。偶尔可能确实存在不得不这样做的情况,但我认为大多数时候,你不能真的承受得起说”我们要离开一段时间,很长时间不去碰这个系统,然后在这里构建一个新东西”。这种做法有太多说不通的地方。这也就是你提到的那篇博客文章里的一部分内容。如果你有一个系统,它并不真正需要功能增强或开发,因为它基本上还行,用户也在正常使用,它只是让工程师觉得烦,那你到底为什么要投入那么多钱去写一个新版本呢?有时候会出现一种认知失调——如果你确实需要做新功能,而旧系统确实……确实没办法做你需要的新东西,你需要找到一条通往可持续系统的路径,让你能够继续添加和演进。你应该投入,所以确实需要投资,但你必须问自己:如果我可以撒手不管这个东西,长时间不对它做任何操作,而且不会对我的业务造成真正损害,那改动它到底值不值得?这有没有意义?这里是有一些疑问的。我还认为,当人们尝试做重写时——特别是如果你想做的只是比如迁移到一种新语言,或者以某种方式进行现代化改造——很多时候人们严重低估了旧系统到底做了什么,以及他们对旧系统的了解程度。遗留系统里埋藏了大量的业务逻辑,而且往往是未被文档化的,往往是诡异的。你没有想清楚所有的业务规则,没有想清楚数据格式。我认为同样地,把旧系统中所有重要的东西复制到新系统中,比人们预期的要困难得多。还有更多的原因,但我确实认为有时候你需要演进系统。我的建议是,当你为制定演进计划而苦苦挣扎时,可以把旧系统的部分模块拿出来,对它们进行升级,使它们更具可扩展性,更容易操作,清理技术债务。但如果你想说的是”我们直接走开,我们要重写,我们要构建一个全新的东西,它会解决我们所有的问题”——这种做法很少能成功。
Lenny Rachitsky: 我觉得很多产品经理会说:“是的,非常感谢你说这些。“因为我觉得这也是工程团队和产品经理团队之间一直很大的一个矛盾点。那么总结一下,我觉得很多人在考虑”让我们重写这个东西”时容易忽略的——也就是你所说的很多人容易忽略的——就是迁移到新系统、迁移客户、用户、数据到新系统上所花的时间会比预期长得多。你低估了对旧系统实际功能的了解程度,你会遗漏功能,还会引入新的 bug。这其实和重新设计整个产品流程非常相似。总有一种感觉说”让我们从零开始重新思考这个新手引导流程”或者”让我们重建产品的这个部分”,但每次最终实验结果都是负面的。结果总是变得更差,然后你得花大量时间慢慢恢复到之前的水平,而且你还会忘记那些已有的功能——“哦,糟糕,我忘了那个功能,我忘了那个功能。“所以很有意思,产品端也存在非常类似的情况。好的,太棒了。我要换一个稍微不同的话题,是关于工程领导力的。
工程领导力的技术与管理平衡
我知道你在工程领导力方面写了很多东西,也花了很多时间和工程领导者交流,所以我有几个问题。其中一个是我知道最困扰工程领导者的事情之一,就是如何在保持技术能力和技术专长与领导力专长之间找到平衡,基本上就是找到正确的”高度”——在组织中应该处于什么位置,应该深入到什么程度的细节,同时还要保持足够的技术能力以保持相关性。在你自己的经验中,关于找到这种平衡你学到了什么?你会如何建议那些为此挣扎的工程领导者?
Camille Fournier: 我给大家的一个建议是,在真正觉得技术已经深入骨髓之前,不要停止亲自动手做技术。就是那种你觉得自己已经达到了一种精通的程度——就像如果你流利地掌握了一门第二语言,或者非常认真地练习过一种乐器很长时间,或者非常认真地练过一项运动很长时间,你会有这种体会:虽然我很久没做了,但如果重新拾起来,会有些生疏,但很快就能恢复到状态,对吧?也许体力上不如从前,但你会找到感觉的。写代码也是一样的。
如果你坚持足够长的时间,你同样可以在技术技能上建立一种基础性的精通——你不会像一直在做的人那么快,而且做技术的一大挑战其实是各种工具及其不断演进,但你不会完全摸不着头脑。而且我认为,你在达到那种对某个技术领域的深度精通过程中所学到的一切都会伴随你,帮助你维持对自己技术能力的信心,并保持对”做一个好工程师意味着什么”的共情。
而且我觉得,这也会让你在放手不亲自写代码时少很多焦虑。不过我认为,每个经历这种转变的人,尤其如果你真的不得不完全放手,或者根本没有时间写代码,那么在一两年的时间里,不管怎样你都会感到焦虑。从这个阶段开始,你需要思考的是,“懂技术”其实也包括了解正在发生的事情,保持关注,并能提出好问题——根据我的经验,工程师们关心的是,技术领导者看起来是不是真的理解你在做什么,能不能提出好问题,能不能引导你做出更好的决策,而不是那种”哦不,你应该用这个库而不是那个库”的人。
实际上,如果一个很久不亲自动手的非常资深的人试图告诉你”别用这个库,用那个库”,这还挺烦人的。因为不知道你怎么想,反正如果一个人已经很久不亲自动手了,却试图在我目前擅长的领域指挥我做什么,我是不太信的。但我确实很感激这样的指导——“你考虑过这个吗?""跟我说说你打算怎么处理那个情况?""实现这个的主要技术挑战是什么?“——并且能够真正花时间倾听,然后在此基础上提出有见地的问题。
最后我想说的是,尽可能多地让自己身边围绕着聪明的技术人员,并且愿意倾听他们,和他们聊技术,向他们提问。我觉得这也是我能在下属面前保持技术敏锐度和可信度的部分原因——不是因为我在写代码,我确实没在写。但我确实在听很多非常聪明的人谈论技术,细到”我在调试这个数据库问题,到底是怎么回事”这种程度。而且我始终保持对这些故事的好奇心,从中学到东西,了解那些非常聪明的工程师在想什么、担心什么。
你能越多地建立起这样的、仍在亲自动手的人脉网络并与之保持联系,我觉得帮助就越大。
Lenny Rachitsky: 顺着最后这一点,你实际上是怎么做的呢?是去参加技术会议、和朋友交流,还是别的方式?
Camille Fournier: 对,是的。对我来说,一开始是去参加各种会议,认识人。现在我在很多不同的聊天群里,大家会经常交流,和以前的同事保持联系。我得承认我是个比较社交化的人,人脉比较广,所以这可能说起来容易做起来难。但我确实觉得,加入对的群聊很有帮助。另外,我也觉得——阅读各种技术新闻、技术评论和讨论版,当然这确实是良莠不齐的——但里面确实有聪明人。你找到那些聪明人,关注他们在说什么,这也是保持这种视角的一个好方法。
Lenny Rachitsky: 我在想,如果你对这些都不感兴趣了,是不是一个信号,说明也许你应该去做点别的事情了。就是如果你不再关注技术层面的东西的话。
Camille Fournier: 这很难说,因为我本身就是一个极客。我是真的很喜欢技术。我之所以在这个行业,就是因为我确实对技术的某些领域——不是每个领域,而是某些领域——有着发自内心的兴趣。我想了解数据库和基础设施领域最新在发生什么,我觉得这些都非常有意思。我觉得这些技术问题本身很有趣。所以我觉得这让我很成功,因为我天然就有那种好奇心和热情。但我不确定这是不是一个完全必要的前提条件。
Lenny Rachitsky: 是的,不过你说的这些让我想起推特上的一个叫 LevelsIO 的人。你听说过这个人吗?他最近刚上了 Lex Fridman 的播客。你听过那期吗?
Camille Fournier: 我好像看过一个片段,但没完整听过。
Lenny Rachitsky: 他可以说是最成功的独立工程师之一,完全自己做自己的东西,从不融资,就做自己能赚钱的产品。有趣的是,他的所有技术栈都是 PHP 和 jQuery。他就说,这些就够了。我一直说要学 Node.js、学 Python,但我在忙着做东西的时候没空学这些新东西,而他已经取得了极大的成功。这也印证了有时候也许你不需要一直把所有东西都重写成最新的框架。
Camille Fournier: 是的,我的意思是,实际上我认识很多聪明的工程师都属于这种情况。他们会说,我们用 PHP 和相对简单的 SQL 就构建了了不起的东西,而技术领域有太多的过度工程化了,我并不完全不同意这种看法。但挑战当然在于,适合一个人的方式,不一定适合有规模的团队——不管是好是坏,情况就是不同的。你得衡量让一个人高效的东西,是否也能让一百人、一千人、甚至十个人高效?这总是很难判断的。这也是为什么我确实认为你应该跟上你所在的技术领域正在发生的变化和趋势,但不要执着于追逐每一个潮流。
我认为要了解,但不一定要追逐。特别是,如果你在团队、大型公司甚至中型公司工作,你需要在”让一个人跑得快的技术”和”让十个人或一百个人跑得快的技术”之间取得平衡,而这并不总是同一件事。
值得关注的技术平台与框架
Lenny Rachitsky: 顺着这个话题再深入一下,也算是对你做一个”技术诱导”——现在有没有什么平台、语言或框架让你特别兴奋,觉得确实在帮助人们更快地做出更好的工作?或者反过来,大家都很兴奋但你觉得并不好的东西?
Camille Fournier: 我想说一个我其实写在自己笔记里准备聊的例子——GraphQL。我现在不会告诉一个团队该用还是不该用 GraphQL,因为这已经超出了我的专业领域和我的管理层面,而且这本来也不是我的工作。但它确实是一个既流行又被我认识的大部分资深人士评价不太高的东西。所以我想说的是,如果你在认真考虑用它,而你又不是 Facebook,那你真的要弄清楚自己到底想解决什么问题。因为从我听到的各种讨论来看,GraphQL 给前端工程师的承诺似乎是——你不用真的跟后端工程师协作,自己随便搭就行了,一切都会好好的。但实际上,任何真正在实践层面用过它的人,似乎都没得到过特别好的结果。当然,它显然是可以运作得很好的,因为 Facebook 就用得很好,我确信也有其他公司在用。但这个东西不算新了,却仍然是那种看起来很有趣的风潮,可能正在让很多人踩坑。
Lenny Rachitsky: 太好了,感谢你分享这个。我不知道这算不算一个完全对应的例子,但顺着这个话题,之前那个 podcast levels 的嘉宾,我忘了他全名,好像叫 Peter,他分享过一个观点:当一个框架背后有一家 VC 资助的创业公司时,这不是一个好信号,因为他们的工作变成了说服工程师去使用它然后付费,而这未必意味着它是最好的产品。
Camille Fournier: 这话说得对。不过我也要说,一些最浪费时间的框架也恰恰是从大公司里出来的。那个大公司的环境可能让那个框架在内部极其有用,但放到创业公司、小公司,甚至是没有其余配套环境的大公司里,就不一样了。但我也不觉得他说错了,大公司在这件事上同样难辞其咎。
Lenny Rachitsky: 看来我们都应该回归 PHP 和 jQuery,简单就好。
Camille Fournier: 也许吧。
转向管理之前先达到技术精通
Lenny Rachitsky: 好,那我们来收尾关于工程领导者找到正确平衡这个话题。总结一下你的建议——首先是在转向工程管理之前先达到精通,对吗?
Camille Fournier: 是工程管理。我想特别补充一点,如果你恰好是女性或者在科技行业中属于代表性不足的群体,这一点尤其重要,因为很遗憾,人们往往会一开始就低估你的技术能力。我认为在做出这种让所有人都害怕的跳跃之前,先建立对自己能力的内在信心也非常重要。如果你在跳之前已经具备了那种精通,那就更好。我希望更多人能这样做,因为说实话,我认为有很多人从未真正达到过精通就转了管理,之后也就丧失了技术能力。他们中有些人仍然是很好的管理者,当然,也有一些好的管理者从一开始就不是技术出身。我不想说这不可能。我只是认为,如果你在意自己的技术能力,如果你现在是技术型的人并且想保持这种技术素养,不要在有人第一次提出让你做管理时就接受。确保你真的花了足够多的时间在写代码上。
Lenny Rachitsky: 你有没有一个年数上的经验法则,或者某种方式来判断自己可能已经到了那个阶段?
Camille Fournier: 这个”一万小时”精通的说法后来好像已经被推翻了,但当初确实有这个说法。对我来说,是本科、研究生加上四五年的全职工作。也许我算慢的,我没有像现在的人那样从初中就开始写很多代码。但我经历了几年非常高强度的本科和研究生阶段的手把手实践。所以我认为可能差不多在十年左右——这些年里你花大量时间写代码,真正理解如何成为一个技术专家。
Lenny Rachitsky: 明白了。所以基本上,如果你是一个工程师、正在考虑转向管理,你可能想等到写了大约十年代码再做这个决定。我觉得这比很多人想象的要长得多。而且我猜很多人并没有这样做,而没有这样做的话,后果可能是——
Camille Fournier: 如果你在高中就写了很多代码,又拿到了本科学位,那大概算六年——
Lenny Rachitsky: 我明白了。
Camille Fournier: 那你可能只需要四五年的工作经验,每周四十小时写代码。当然具体取决于公司。但我确实认为,当你看到一个 23 岁的人刚毕业不久——如果你是创始人那是完全不同的生活轨迹——但如果你在一家大公司,有人说”你沟通能力很好,要不要开始做管理?“,这往往实际上是在把你推向产品经理的方向,而在我看来,这恰恰是通往真正领导力最糟糕的路径。如果你觉得还没写够——同样,如果你就是觉得还没写够,如果你还在享受写代码的乐趣,不要急着去做管理。写代码是一件很棒的事,好好享受吧。
Lenny Rachitsky: 我完全理解你的意思。我以前也是工程师,实际上我做了十年工程师。不过我现在肯定算不上精通了。我从工程师转向了产品,我真的非常想念坐在那里写代码、构建东西的感觉,放弃那件事非常难。我想你应该也会想念吧。
Camille Fournier: 我想我可能到这时候已经忘了那种感觉了,但确实没有什么比得上那种满足感,因为你有那个快速的反馈循环,真的很美好。
从 IC 转管理的最大 surprises
Lenny Rachitsky: 说到转向管理这个话题,你写了一本可能是关于工程经理职业路径的最权威的书。那么当一个人从独立贡献者(IC)转向管理时,你觉得最让他们意外的是什么?他们最常不理解或感到惊讶的事情是什么?比如”天哪,我没料到这是我工作或生活的一部分。”
Camille Fournier: 我觉得有几件事。前提是他们确实想做好管理——确实有很多人转去做管理之后,根本不理解这份工作是什么,甚至缺乏足够的自知之明去意识到自己不理解——但对于那些真正想做、想做好的人来说,我觉得让他们比较意外的几点:第一,作为管理者,你真的不拥有自己的时间。你的团队、你的上级、公司拥有你的时间。而且你作为管理者越资深,这种情况越严重。我觉得独立贡献者(IC)常常以为,如果自己转去做管理,还能保留作为资深 IC 时的那种自由度。
但他们同时还觉得自己可以指挥别人做事、拥有各种权力。而现实是,管理更多是一种……我不太喜欢”仆从式领导”这个说法,但管理确实本质上是一份服务工作。你在为团队服务,为公司服务。你的职责是让事情变得更好,而这通常并不意味着你来做所有决定,也不意味着你一打响指别人就跳起来执行。因为如果你真这么干,尤其是在科技行业,大家会反抗的,不会听你的。这种文化在我们这个行业里行不通。
我也不认为那是一种好的文化。我不认为命令与控制——我告诉你做什么、你就做什么——能催生创造力。这跟产品经理试图包揽所有创意是一个道理。你手下有那么多聪明人,你作为管理者的职责不是在每种情况下都告诉他们该怎么做。偶尔确实需要,但更多时候,你是在试图说服他们接受你认为对的方向。某种意义上,你是在引导、鼓励、设定方向,为流程或行为设定护栏,但这绝不是那种”英明神武的领袖”的角色。
不是那种”我来做所有决定,所有人都仰望我,这份工作真爽”的感觉。它要艰辛得多,你基本上是在不断应对当下冒出来的各种事情。这确实是一份很难的工作。我认为,特别是当你认真想把管理做好——既有思考、有温度,同时又保持高效——这确实是一份非常难的工作。
Lenny Rachitsky: 我在想,工程领域是不是转管理后又回流到 IC 比例最高的地方。我见过不少这种情况,不知道工程师是不是最常见的。
Camille Fournier: 我不确定,但——
Lenny Rachitsky: 因为经历了你刚才说的那些之后,他们会想,“天哪,我干了什么——”
Camille Fournier: 你觉得产品经理不会这样吗?因为我觉得产品经理其实也会深受同样的问题困扰——
Lenny Rachitsky: 他们也会。
Camille Fournier: 也许有时候——
Lenny Rachitsky: 他们确实会。
Camille Fournier: 对。
Lenny Rachitsky: 不过有意思的是,我早年做过工程经理,我真的不太喜欢,在那个角色里很不开心。但做产品经理的管理者我就很开心,轻松得多。
Camille Fournier: 对,因为产品经理好管多了。产品经理太好了,太好管了。产品经理想……他们就是很愿意帮忙,沟通能力强。我很喜欢管产品经理。我得说,以我的经验来说,工程师真是太难管了。个个都是 prima donna(难伺候的人)。我自己就是工程师,但产品经理管起来确实更有趣。所以你说得有道理,你说得有道理。
Lenny Rachitsky: 不过我在想,因为我确实没见过太多产品经理管理者回流去做 IC 产品经理的。我觉得一旦你可以通过团队来打造产品,不用整天坐在 Excel 里、跟进各种截止日期,就很难放弃那种状态。你会享受在那个链条中更高的位置。
关于一对一沟通的反直觉观点
Lenny Rachitsky: 顺着这条线聊下去,你在一对一沟通(one-on-one)方面有一个很有意思的、比较反直觉的观点。大多数人的建议是:跟所有人都做一对一,定期做,这很重要。而你却认为也许应该少做一些一对一,尤其是作为工程经理,你能聊聊这个吗?
Camille Fournier: 好,先说清楚,你应该跟你的直属下属和你的上级做一对一,而且应该把这些当作不可侵犯的约定——我一般每周一次,或者隔周一次。所以我说的不是这套一对一。不是指你直接管理的人和你自己上级之间的那些一对一。但我观察到一种现象——不知道是远程办公兴起导致的,还是大公司的缘故,还是什么原因——我听到很多朋友在不同公司抱怨:每个人都在跟其他所有人做一对一。管理者跟自己的团队做一对一,同时还跟所有同级做一对一,跟所有利益相关方做一对一,跟产品和设计做一对一。我觉得这种方式根本不可扩展。它会随着你的人际关系数量线性增长。所以当公司规模扩大、你团队支撑的业务范围增长、团队本身也在增长时,你没法这样扩展。你不能指望在超过一定规模的团队或公司之后,还用一对一的方式来建立组织关系和维护信息感知。
另外我还觉得,人们把一对一当成了万能药。但现实是,你去跟那些其实并不想跟你做一对一的人做一对一——如果他们无心投资你们之间的关系,如果他们并不关心你在做什么,你约他们做一对一,他们可能还挺反感的。他们就是来走个过场,觉得”好吧,我应该做一个好的企业公民”,但心里想的是,“我们为什么要做这个?有什么意义?”
我还认为,一对一在用于利益相关方管理时尤其值得警惕。当你约见的不是你的团队成员,而是其他利益相关方时,如果你有非常多的利益相关方——我做过很多有大量内部利益相关方的岗位,因为建设内部平台是我过去很多年工作的重要组成部分。把跟这些利益相关方的沟通全都做成一对一,实际上可能是一种弱点。因为当你的利益相关方只是在一对一里告诉你他们对事情的满意或不满意时,你不满意的利益相关方听不到其他人的声音。比如你可能有一个非常不满意的利益相关方,五个非常满意的,而你对那个不满意的只能说”其他人都很满意”,但对方并没有亲眼看到。他们只能听你说”相信我,我跟其他所有人都做了一对一,他们都说没问题”。而这听起来就像在耍赖。
尊重自己的时间
Camille Fournier: 所以,当你面对大量利益相关方,试图仅靠一对一来管理他们,实际上在很多方面并不高效。总的来说,我觉得人们应该更尊重自己的时间。虽然我刚才说了管理者处在所有人的”支配”之下,这是事实,但你也要尊重自己的时间。不要仅仅因为你是管理者、这就是你的工作,就把自己的日程塞满会议。你真的有事情要跟那个人谈吗?你真的需要……当你约一个人做一对一的时候,你是在占用他们的时间。你不应该随意地、漫无目的地就约一个人一对一。
这多少跟我的性格有关。我不是那种擅长在公司里社交的人。有些人特别擅长——一起喝杯咖啡,一起吃个午饭,随便聊聊,建立关系。说实话,这些人在很多方面比我成功,我确实有点羡慕这种能力。但如果我们一起共事过,那我就会表现得很好。如果我们一起做过某个项目,一般来说大家都会很尊重我,因为我非常投入,在各方面都是一个很好的合作者。但让我跟一个人在毫无目的的情况下做一对一、纯粹为了”认识你”,我就真的很不擅长。
这并不是说这种一对一总是不好的。但我确实认为,很多人……如果这种”认识你”式的、随意的、以建立关系为目的的一对一是你的舒适区,那你大概应该多做一点。而你大概应该少做一点,因为你应该始终推动自己走出舒适区,而且你真的从中得到了什么吗,还是只是在打勾——我今天开了八个会,所以我很有生产力。
用更少的时间做更重要的事
Lenny Rachitsky: 这个说法非常能引起共鸣。顺着你的工作方式这个话题——我听说你很有名的一点是,打造了一种大家工作很努力、但工作生活平衡也很好团队文化。我们之前聊的时候,你其实告诉我你并不太相信过度工作。能不能谈谈你这个理念——怎么建立一个人们不过度工作、但仍然能出成果、也不会倦怠的好文化?
Camille Fournier: 我想我们都明白,如果我们能搞清楚并真正专注于最重要的事情,一切都会变得更好。搞清楚什么最重要确实很难,但过度工作某种程度上让你回避了这个最根本的难题——去搞清楚什么才是重要的。我听过你的一期播客,你跟某人聊到:如果你从来没有开除过一个人之后又后悔,你就不知道该留谁、不该留谁的边界在哪里。我承认对这个说法我心情复杂,虽然我理解你想表达的意思。如果你不经常重新校准你对”什么该放过、什么不该放过”的预期,你怎么知道到底什么才是真正重要的?
我想说的是,这件事不像开除人那样——你做一两次、后悔了、很快就学会了,很不幸。我认为你实际上需要经常性地测试和挑战自己:我是不是真的在最大化自己的产出?我是不是真的在创造最大的价值,还是只是在安抚自己内心的愧疚感——“我需要每周工作六十个小时、我需要睡在办公室、我需要怎样怎样,来证明我是一个努力工作的人、我在乎”。所以我确实认为,人们应该挑战自己保持专注,把重要的事情做完,并且始终问自己:什么是重要的?
什么重要这件事本身是会随时间变化的。但如果你不定期审计自己的时间,把那些不重要的事情从清单上划掉,你很可能在大量不重要的事情上浪费时间。好吧,你不想减少工作时间,你就是喜欢大量工作,那没问题,但如果你能定期做这些审计,你大概能完成更多有价值的事情。我还觉得人们授权不够。如果你不授权,你就会被淹没,因为你的团队什么都做不了,因为你没有花时间去教他们。授权最初通常需要更多时间,你得教别人做你想让他们做的事。
不总是这样,有时候他们会给你惊喜,做得比你还好,但也可能不会。所以你得教他们,但最终……你把自己解放出来了,可以扩展自己的影响力。所以我确实是一个坚定 believer:以专注的方式、用更少的时间努力工作,我认为是更有生产力的工作方式。我的职业生涯就是这样过来的,也取得了成功,我也一直鼓励为我工作的人这样做,我也看到了很多通过这种方式取得的成功。但这不是一件可以不加思考的事,它是一个持续反思、不断追求专注的主动过程。
Lenny Rachitsky: 如果有人在听这个,心想”我想开始这样做”,你有没有什么具体的实践或策略,可以帮助做好这件事?
Camille Fournier: 我觉得可以有不同的方法。一种方法是,比如每个周五我到下午四点就停止工作,或者不让自己周末工作。强迫自己下线,强迫自己建立边界,然后回顾一下自己完成了什么——我觉得这会有帮助。这很可怕,人们不喜欢这样做,但我确实认为这是最好的方法之一——就是告诉自己,我要下线了。这周每天下午六点我就下线。因为你的大脑可能还会继续想。
你可能还是会有些紧张,还在想工作的事,还在担心,但”想”和”做”之间是有区别的。尤其是对那些职业生涯早期的朋友,我认为这其实是我能够达到精通的原因之一——因为我在工作的时候非常擅长保持专注。当我还在亲手写代码的时候,一天中的很多个小时我都在真正地写代码。那时候我还不是……那是在社交媒体大爆发之前,我受到的干扰少得多。我不知道在当今时代我还能不能这么容易做到。但那种高度集中的深度工作时间,是因为我心里想的是,“我不想周末加班,我不想每天待到晚上九点,我就想把事情做完。“这意味着我没有做那么多的闲聊。
我没有每天跟人出去吃饭聊天,但我非常高产,而且我学会了在短时间内完成大量工作。我确实认为,在职业生涯早期学会这些技能,然后在整个职业生涯中持续运用,这是另一条建议。
保持专注的仪式
Lenny Rachitsky: 在保持专注方面,有没有什么帮助你进入状态的?是耳机、一杯饮料?什么能让你进入状态?
Camille Fournier: 当然,我有很多仪式。我有我的咖啡因仪式。
Lenny Rachitsky: 展开讲讲。
Camille Fournier: 嗯,我的意思是,我已经不能喝咖啡了,因为某个阶段我的胃出了问题,但我早上会喝茶。我也喝含咖啡因的水。午餐时会喝一罐健怡可乐,所以我有这样一套咖啡因摄入的仪式来帮助自己。我必须待在一个安静的地方。我发现某些非歌曲类的音乐……比如我非常喜欢 Four Tet,非常适合用来集中注意力;还有 Andre 3000 新出的那张长笛专辑,也非常适合专注时听——它不太有可预测性,没有歌词,而且旋律不那么容易预测。对我来说,这对集中注意力非常有帮助。我不能在听任何有歌词的内容时集中精力,我的大脑就是无法忽略文字。所以这些是我用来帮助自己进入状态的一些方法。
Lenny Rachitsky: 太棒了,我有类似的咖啡因策略。录这些播客的时候我总是在喝茶,还有我这里的这个小东西。然后我太太不想让我喝健怡可乐,因为她觉得里面的糖分什么的对身体不好,但我有时还是会喝,效果很好。我后来换成了绿茶,这是我的做法。先喝红茶,然后切换到绿茶。
Camille Fournier: 很聪明。
关于授权的补充
Lenny Rachitsky: 天哪,你分享的东西太多了,我都想深入聊聊。我来分享几点。你提到的关于授权的观点我觉得非常重要,学会授权还有一个好处,就是团队成员会感到被赋能。你给了他们承担责任的机会,他们会觉得”我有了展示自己能做其他事情的机会”。
Camille Fournier: 是的,而且如果你不授权,你永远无法扩展自己的影响力。
Lenny Rachitsky: 没错,而且学会授权一开始很难,但一旦你做得好了,就会变得非常棒。我就喜欢什么都授权出去,而且大家也很乐意。他们会说:“太好了,你在给我机会。“你说的关于……如果你有时候不为你砍掉的东西感到后悔,或者你开掉了某个人却并不后悔,那说明你还做得不够。实际上 Elon Musk,Elon Musk 对此有一个很好的方法论。我不知道你有没有听过他关于优化的理念。他有一套五步流程来弄清楚如何优化某件事,其中一步就是尝试砍掉东西——我们到底需不需要这个东西?如果你不觉得你砍掉的东西中有 10% 是错误的,那说明你砍得还不够多。
Camille Fournier: 你得找到自己的衡量标准。但我确实认为,试探极限是很重要的,不过这很可怕。说实话,这样做总是令人害怕。它会唤起那种”我忘了完成作业”的学校噩梦,尤其是对于那些经常进入这类公司和岗位的优等生来说。还是那句话,你得做一些让你害怕的事情,否则你永远不会成长。
平台工程与平台团队
Lenny Rachitsky: 好,我换个完全不同的话题。你有一本关于平台工程和平台团队的新书即将出版。这是我收到很多问题的话题。很多人在考虑转到平台团队,或者在平台团队工作遇到困难,又或者与平台团队协作时遇到困难。所以我在这方面有一系列问题。第一个是,我问了一些和你共事过的人该问你什么,有一位和你共事过的人分享了这样一段话,表达了他对与平台团队合作的不满,他经常向你抱怨这件事,他是做面向客户产品的。他说,平台团队通常很慢。
他们经常推动我们牺牲功能来采用他们的系统。他们往往能获得无限的资源,尽管他们不需要展示任何投资回报率。那么,从与平台团队合作的角度出发,假设你在做面向客户的产品,有没有什么有效与平台团队合作的技巧,以及如何建立良好的关系?
Camille Fournier: 我非常理解任何有这种感受的人,因为部分原因正是我写这本书的动机——我和一位朋友 Ian Nolan 合著了这本书——因为太多平台团队都犯了他在抱怨的那些问题:他们不倾听,交付效率低下,也没有向公司解释清楚自己的价值。当你面对这种情况时,确实令人沮丧。说实话,我非常理解。不过我想说的是,首先,你越是花时间去理解平台团队面临的问题,尝试与他们协作,清楚表达你真正需要什么,以及你愿意怎样与他们合作,效果就越好。
我认为如果你生气了,然后只是试图避开他们或者暗中破坏他们,那也许从长远来看能行,但短期内只会让一切变得更糟。所以我确实认为,如果你对一个平台团队感到不满,一些技巧是——去找出那个团队中做得好的部分,因为我相信一定有做得好的地方,对吧?也许数据库团队就很出色。确保你与那部分团队保持良好的关系,并且能够指出你在那部分团队上合作得非常好。给他们产品反馈。
这挺烦人的,但有时候必须这么做,因为很多公司……实际上我认为做产品需要具备产品思维,坦率地说,你需要有产品经理来打造好的平台——内部平台。很多公司就是不这么做。他们认为在内部团队上浪费 headcount 去配备产品经理是不值得的。所以最终你得到的是这样一个平台团队——有很多聪明的工程师,但他们并不真正知道该构建什么。他们只是在构建自己认为对的东西。所以有时候你的工作就是充当他们的产品经理,告诉他们:这些是我们遇到的问题,这是我们需要的东西。
你在这方面表达得越清晰,特别是当他们没有产品团队的时候,通常你就能以这种方式从侧面引导他们。所以我认为这是当你在那种情况下可以采取的另一种方法。找到团队中运作良好、与你们团队配合默契的部分,确保发展好那些关系,努力放下愤怒和沮丧,清楚地表达你的需求,帮助他们理解他们真正应该做什么和构建什么。
Lenny Rachitsky: 这是非常有趣的建议。特别是,你是说如果他们没有产品经理来帮助引导方向,你可以帮助他们……基本上就是帮助他们思考对他们有利的事情,同时也有助于推进你想完成的工作。
Camille Fournier: 对。
Lenny Rachitsky: 非常棒的建议。好,那么从领导层的角度来看,要想打造一个高效的平台团队,你有没有关于如何搭建这些团队、如何激励这些团队以帮助他们取得成功的建议?
Camille Fournier: 首先,我非常坚信平台工程必须包含软件工程。如果你的平台团队中没有任何软件工程师,只有偏运维的系统工程师、DevOps、SRE——我承认有些 SRE 确实是软件工程师,但他们通常不太愿意写大型软件——那我认为你就偏离了重点。平台工程不仅仅是维护云基础设施、写一些小脚本或蓝图,或为其他团队做一些赋能项目,因为这些并不能真正创建一个有凝聚力的、连贯的平台。它无法创造出产品,坦率地说,你需要意识到——平台归根结底就是产品。
Camille Fournier: 你应该思考的是,如何创建有凝聚力的服务产品,让这家公司更具生产力?所以你需要软件工程师。是的,你也需要运维系统、SRE 专家。当然,你还需要产品人员。我的平台团队都配了产品经理——我为所有平台团队都配备了产品经理。在我服务过的公司中,我真正建立起了这套实践,因为我就是认为,如果你把这一切完全交给工程师和工程管理层,你不会得到很好的结果。他们已经尽力了,你偶尔确实能在这个领域找到产品直觉非常出色的工程师,但实际的细节……
产品工作的重点和方向,你不可能一边写一堆代码和/或管理一个庞大的软件工程团队,一边同时做产品经理。我认为这实际上对人的要求太高了,至少很难长期做到出色。所以在团队结构方面,我认为要认识到,这不只是 SRE V2。它远不止于此。你需要软件工程师,你需要系统工程师,你需要产品人员。而你需要产品人员的原因之一是,你要以影响力为导向、以结果为导向来思考,而不是仅仅说,“嗯,我们做了这个东西看起来挺酷的,我们采用了那家公司的技术,因为网上所有人都在谈论这个。”
不管是 VC 投资的公司还是大公司。我们要真正思考的是,我公司的工程师面临的问题是什么?我们如何通过正在构建的任何东西来提升他们的生产力或为业务创造杠杆效应,对吧?我们是否在缩短工程任务的周期时间?我们是否在解决阻碍产品发布和扩展的问题?我们是否在产品或平台中实现了真正有意义的成本削减或效率提升?这些是一些可衡量贡献的例子,但我认为一个挑战是,人们创建了这些平台团队,却认为它们可以脱离影响力导向,理由是,“嗯,你只要把基础设施跑起来、确保它正常工作就行了。”
但实际上不行——如果你做 OKR 之类的东西或目标设定之类的,你仍然必须做……你必须借鉴产品的很多最佳实践。在内部产品领域情况略有不同,但如果你要做平台,这仍然非常重要。
平台团队中的产品经理
Lenny Rachitsky: 顺着平台团队里设产品经理这个话题,我合作过的一些最优秀的产品经理就是在平台团队中的。这让我觉得——不是说把产品经理放在那里就完事了——而是那里可能是杠杆效应最高的地方,因为平台团队让公司其他人都能跑得更快。
Camille Fournier: 对。
Lenny Rachitsky: 这方面有一个不同之处,不知道你是否同意,就是产品经理与工程师的比例可以更高一些。平台团队中每个产品经理可以对应更多的工程师。
Camille Fournier: 对,对,我觉得这说得对,因为我认为平台团队中大量的工作并不完全是产品工作。很多工作更像是扩展性问题,或者非常深入的技术挑战——比如我必须弄清楚如何实现某个技术目标,或者我必须做性能优化——这些并不总是需要产品规格文档,对吧?这通常是工程密集型的任务。所以是的,我觉得比例确实会有所不同。
什么是平台团队
Lenny Rachitsky: 我们已经深入讨论了这个话题。也许可以帮助大家理解一下,什么是平台团队,哪些团队可以算作平台团队,举些例子。
Camille Fournier: 我对平台工程的高层次定义是——如果你正在开发和运营平台,目的是管理整体系统复杂性并为业务创造杠杆效应。现在很多人谈论平台团队时,他们主要在谈论一些以前可能叫做 dev tools 的团队。比如公司的 CI/CD 工具链,大量的云基础设施配置和工具。如果你所在的公司面临特定的技术问题,你可能正在构建半定制化的存储系统,这也可以是平台团队的一部分。实际上我觉得还有——另外,Web 框架——Web/移动端框架及其支持。
这类工程也可以成为平台服务的一部分。我实际上还认为存在一些你可能会称之为集成平台的团队,或者说介于基础设施/开发者工具和产品之间的平台。比如计费平台——如果你公司所有不同产品共享一个统一的计费平台,这和那些更偏 dev tools、基础设施类平台团队面临的挑战有很多重叠,因为你要支持多个不同的产品线使用同一个系统,这个系统需要以一定的效率扩展。你仍然需要做产品发现。
你可能比纯内部工具团队有更多面向业务的产品关注点,但这就进入了融合区域。
何时开始创建平台团队
Lenny Rachitsky: 对于早期阶段的创始人或较小规模的公司,听到这些可能会想,“糟糕,我需要平台团队吗?“所以你在摇头——如果你没在看 YouTube 视频的话。有哪些信号表明是时候开始创建平台团队、为此分配资源了?
Camille Fournier: 首先,我认为大概是——当你有 50 名以上工程师的时候。我觉得这不是你在只有 10 名工程师时就应该开始做的事情,对吧?当你——所以现在你的工程团队之间可能有大量的临时协调,可能你有——你有一个 GitHub,有个人确保这些东西都能正常运行。你有几个云数据库,各个团队各有几个人,他们互相交流信息来搞清楚状况,诸如此类。好吧,这都没问题,但到了某个节点,你要么会碰到严重的效率问题,你会看到同样的人出现在一堆不同的团队里。
每个团队都有同样类型的人在解决同样类型的问题。你就会觉得,为什么每个团队有三个人在处理这件事,而不是集中起来让它更高效一些。也有可能是你碰到了某个核心扩展性问题,确实需要一个专门的团队来解决。同样,这可能体现在开发者生产力上——每个开发团队都在各做各的,所有人都超级慢,因为代码就是发布不出去,一切都要跨团队协调,简直一团糟——这是怎么回事?我们需要解决这个问题。或者你确实有一个技术难度很高的领域,需要一个专注的团队来解决扩展性问题。
这些都是你可能需要开始考虑平台团队的信号,但说到底——一般来说,我不会太早投入。这是给那些已经成熟的公司准备的,值得投资让内部人员更高效,至少从成本和效率的角度集中某些职能。
Lenny Rachitsky: 假设你在平台团队上,你是一名工程师或者甚至是产品经理,对于如何在这种环境中取得成功、在平台团队中表现出色,你有什么建议吗?
平台团队的成功之道
Camille Fournier: 如果你想做平台方向,如果你是工程师,或者工程经理,你必须记住,这类工作有一半其实是运维质量和运维卓越性。平台工程不仅仅是写代码然后扔给别人就完事了。对运维挑战和系统扩展抱有兴趣和热情,我认为是相当重要的——如果你想从软件工程师的角度成为一名优秀的平台工程师的话。如果你更偏向产品经理的角色——你得真心在意……我认为你必须对与非常聪明的工程师合作感兴趣,他们在很多事情上比你懂得多得多。
而且你要几乎成为一个擅长——不一定是零到一,而是超过一个人的阶段,因为实际上公司里很多最好的平台型产品都是从单个应用团队起步的。某个应用团队遇到一个问题,自己把它解决了,结果发现那个解决方案其实是一个非常好的思路。所以一个好的平台团队经常会在各个团队中寻找这类方案,然后把它们吸纳过来,推广给越来越多的人。所以,我认为如果你想做那种从零到一、一直在构建全新东西的工作,在平台团队中可能不会那么开心。
但如果你对接管已有系统、使其稳定、扩展、提高效率、随着公司发展而演进这类事情更感兴趣,我想你在平台团队中会过得更开心。
Lenny Rachitsky: 太好了。在我们结束这部分、进入非常令人期待的快问快答环节之前,关于与平台团队合作、在平台团队工作、或者组建平台团队,你还有什么想补充的吗?
平台团队的三大难题
Camille Fournier: 我认为还有两三件我们没有谈到的事情,是关于平台团队真正困难的地方,而且我觉得这些方面不太被讨论。首先是,管理平台项目与管理敏捷项目有些不同。你可以借鉴很多从敏捷产品交付中学到的最佳实践,但你运行的是周期更长、规模更大、复杂度更高的构建工作,因为你在平台层面构建的很多东西本身就花费更长时间,也更复杂。所以你必须愿意投入进去,特别是如果你在平台领域担任管理岗位的话。
其次,你要处理大量的迁移工作。这点很烦人。迁移是不可避免的,即使你不主动推动它们,你的云服务提供商会说,哦,你得从 EKS v19 迁移到 v121 或者类似的版本,这可能需要修改代码,然后对所有应用团队来说都是一大麻烦。所以,如果你对如何平滑地处理这种底层变更对客户和公司的影响感兴趣,你在平台团队会过得很开心。如果你对这方面不感兴趣,你可能不会太享受这份工作。平台工作中有大量细节导向的工作。当然,最后一部分就是——利益相关者简直是一场噩梦。我那位写问题来抱怨平台合作伙伴快把他逼疯的朋友,我毫不怀疑他也在把对方逼疯。
因为你面对的是大量的利益相关者——你的技术条线的同级同事,可能还有产品经理,可能还有高管,他们会问:这个团队是干什么的?他们真的值这么多钱吗?我们为什么在这上面花这么多?我不明白他们在做什么。在某些情况下,我都能做得更好。所以,这份工作中实际上有很大一部分,特别是作为产品经理或工程领导层,是利益相关者管理,而且要真正学会做好这件事。这并不总是——我认为大家普遍公认这是这份工作中最没意思的部分。我觉得没人喜欢它,但这确实是一种技能,我很庆幸自己具备这个技能。所以,如果你在考虑组建这样的团队——
然后心想,我可以只做有趣的技术工作或者酷炫的产品,我对工程生产力充满热情,或者我对大规模状态存储系统充满热情,其他的我都不想管——从长远来看,你在领导岗位上可能不会真正感到快乐。作为独立贡献者(IC)可能还好,但对于领导者来说尤其如此,这份工作远不止有趣的技术问题、有趣的运维问题,甚至不止产品层面的事情。
Lenny Rachitsky: 你说有几件事我们没谈到,还有其他的吗?
Camille Fournier: 这已经是最快的了。感兴趣的听众,我的书将在接下来几个月由 O’Reilly 出版,会深入涵盖所有这些内容。
Lenny Rachitsky: 有具体的日期大家应该关注吗?
Camille Fournier: 我想现在应该已经在 Amazon 上可以预购了。书名叫 Platform Engineering,然后副标题是……大概是面向技术、产品和人才领导者的指南之类的。具体的发布日期——我不太确定 Kindle 版本什么时候出,我们还在做文稿编辑,但应该很快就能完成。
Lenny Rachitsky: 好的,太棒了。大家现在就可以预购。我当然会在节目备注和描述中放上链接,书名叫 Platform Engineering。在我们进入非常令人期待的快问快答环节之前,我想先带大家进入这个播客的一个固定环节,我叫它 AI Corner。AI 是很多人非常关注的话题,我也一直很好奇大家在工作或生活中是如何发现它的价值的。所以问题是——你在工作中有没有发现 AI 在哪些方面对你有帮助?有没有什么有趣的使用方式?
AI Corner
Camille Fournier: 我觉得它有帮助的场景是,比如我写了一个句子,我觉得这个句子内容不错,但措辞或格式我不太满意,需要编辑一下,但我又想不出怎么改。我经常会把它放到 ChatGPT 里,问它”能帮我重新表达一下吗?能帮我换个说法吗?“不总是效果很好,但有时候确实有用。它会说”对,如果我把这个调换一下或者换一个词,句子就更容易读了。“我觉得它——我认为它在这类小场景之前还是不错的。我认为对于大量文本,我的体验就没那么好了。我可能还算是一个 AI 新手。
我想说的是,AI 在引用方面真的很差——至少 ChatGPT 是这样。其他的模型我没有太多使用。我确实在 Twitter 或者某个社交媒体上看到有人说,Francis Ford Coppola 是不是用 ChatGPT 给那部新片——叫什么来着,Agopolus——写了假影评。
Lenny Rachitsky: 对。
Camille Fournier: Agopolus 可能是这么拼的。
Lenny Rachitsky: 对。
Camille Fournier: 我看到那个的时候就想,我其实也遇到过类似的情况——我当时在给书找引用,我想也许 ChatGPT 知道,就问它”你能给我一些关于……的好引用吗?“我忘了具体是什么主题了,就说是关于管理复杂性之类的吧。然后它给了我一些非常有意思的引用。我想太好了,但我最好核实一下。结果它们全都不是真的,没有一条是真实的。我就说这不是一个真实的引用。它会说是的,你说得对,这不是,然后给你换一个——换的那个也不是。
Camille Fournier: 我就说,那也不是真正的引用啊。所以别让它给你找引用,因为……或者如果你一定要用,确保那是真实的引用,而不只是措辞有趣的……我的意思是,它在某些方面对文本的概括还不错,只不过不是真正的引用。
Lenny Rachitsky: 这是一个很好的提醒,总的来说就是不要假定它告诉你的东西是真的。一般来说,它给你的不一定是真实的东西。它在编造内容,通常是对的,但也经常可能不对。这确实是个很好的提醒。关于你说的第一个技巧,你有没有什么好用的提示词,可以教大家怎么把内容喂给它?就是直接给一句话,让它帮你写一个更好的版本?
Camille Fournier: 没有,我完全没有搞明白提示词工程这件事。前几天我试着让它帮我总结一篇论文,它居然给了我另一篇论文的摘要。然后我去问朋友,朋友说”嗯,给你一个摘要。“我说”这个摘要看起来不错。“朋友说”是这样的,我先告诉 AI 它是这个领域的专家,需要仔细阅读,而且它非常聪明。“我就想说,我怎么还要管理机器?我已经要管理所有这些人类了,为什么现在还要我管理机器,拜托?
闪电问答环节
Lenny Rachitsky: 我还以为这东西能解决我们所有的问题呢。是啊,那个角色设定。工程学里有个缩写词来说明怎么使用它,总是要先给它一个角色——这是你要扮演的角色,你是一个出色的写手,这是我对你的要求。对。我也很不擅长这个。顺便说一下,Claude 在写作方面确实非常出色,这是它的超能力之一,所以如果你想尝试写作,值得试试。Claude,由 Anthropic 出品。
关于你说的假引用那个话题,对了,Francis Ford Coppola 要出一部电影……如你所说,那个预告片里全是人们据说对他其他电影比如《教父》之类的评价引用,全都是非常刻薄的引言,全是对他电影的恶评。
后来发现,嗯,它们全都不是真实的引用,而且他们实际上已经撤下了那个预告片,我刚读到的,因为他就是编造了那些著名评论家的话。
Camille Fournier: 那么,也许——
Lenny Rachitsky: 也许是 ChatGPT 干的。
Camille Fournier: 你是可能被骗的。我不知道是 ChatGPT 还是什么调皮的实习生之类的,但我们确实可能——
Lenny Rachitsky: 或者是精心策划的营销噱头。
Camille Fournier: 也有可能。
Lenny Rachitsky: 好了。那么,Camille,我们进入了非常令人兴奋的闪电问答环节。准备好了吗?
Camille Fournier: 准备好了。
Lenny Rachitsky: 太好了。第一个问题,你会推荐给他人的两三本书是什么?
Camille Fournier: 第一本是《What Got You Here Won’t Get You There》。我非常喜欢这本书。我觉得任何想要挑战自己、追求成长的人都应该读一读,非常棒。第二本叫《When Things Fall Apart》,作者是 Pema Chödrön。这本书是当你……至少对我来说,当我在周围的环境中挣扎的时候,我觉得它非常抚慰人心,提醒你生活本就艰难,最好的方式是……你只需要去呼吸,去感受,让这本书提醒你每个人的生活都不容易,并在过程中让你成为一个更善良的人。
Lenny Rachitsky: 最近有没有特别喜欢的一部电影或电视剧?
Camille Fournier: 我很喜欢《异形:夺命舰》(Alien Romulus)。非常好看。如果你喜欢恐怖的异形电影,太棒了。
Lenny Rachitsky: 我讨厌恐怖片,所以那是一部新的《异形》电影。好的。
Camille Fournier: 是的。
Lenny Rachitsky: 都不知道还有新的《异形》电影。
Camille Fournier: 我很喜欢。
Lenny Rachitsky: 有没有最近发现并特别喜欢的产品,可以是 app,也可以是实体产品?
Camille Fournier: 说到最近的话不太好说,但我是一个 Whoop 的超级粉丝。我在疫情期间入手的,它是我最……我就是它的迷妹。我不知道,我就是真的很喜欢它。我每天都用。也许它完全不准确,但看起来足够准,而且我就是觉得它是一个很有趣、很酷的产品。
Lenny Rachitsky: 我知道 Whoop 这个产品,听这个播客的人里也有人在用它,所以他们听到这个应该会很高兴。还有两个问题。你有没有一个经常回想起来的、会分享给朋友或家人的、在工作生活中觉得有用的人生座右铭?
Camille Fournier: 如果你不挑战自己,如果你不冒险,你就永远不会成长。这是一个很重要的座右铭。我觉得你必须……挑战自己、敢于冒险,这才是成长的途径。对我来说另一条是保持好奇心。你越能记住自己不知道的比知道的多,保持开放心态,愿意承认自己是错的,你就会越快乐,也一定会成为更好的领导者。
Camille 的健身日常
Lenny Rachitsky: 最后一个问题,关于健身的话题,录播客的时候你一直用头挡着它,当我们……你身后看起来是一个非常显眼的杠铃组还是哑铃组,我分不清哪个是哪个。聊聊你的锻炼计划,或者你是怎么健身的。
Camille Fournier: 我举铁的时间可能比你播客的一些听众的年龄还大,这更多是说明我的年纪。我现在有两个孩子了,所以举铁主要是维持状态,但我以前是一个非常……我硬拉能超过自己体重的两倍,是一个非常非常强壮的人。当然现在人人都开始举铁了,这让健身房变得很烦。所以我房间里有一套小器械,配一根婴儿尺寸的杠铃,就是……当我没法去健身房的时候,至少可以在家举一点。
Lenny Rachitsky: 你最喜欢的举铁动作是什么?
Camille Fournier: 我喜欢最基础的——硬拉、深蹲、过头推举,就是那种非常简单的、经典的举铁动作。
Lenny Rachitsky: 太棒了。Camille,这次访谈太精彩了。和我想象的一样好,我们聊了好多内容。最后两个问题。大家想联系你、关注你的动态、了解你的书的话,在网上哪里可以找到你?另外,听众们怎样才能帮到你?
Camille Fournier: 好的,鉴于现在社交媒体的奇怪状况,这个问题其实比以往更难回答了。我在 LinkedIn 上,你可以关注我的 LinkedIn,我可能……以前我不太在那里发东西,但我预计未来几个月会开始发更多内容。我写东西的时候也还在用 Medium,其实我挺喜欢 Medium 的,medium.com 上 scamille 是我的用户名。这两个是不错的方式。我有一个 Twitter/X 账号,目前是锁定的状态,我可能会也可能不会在某个时候解锁它,但正如我说的,社交媒体变得越来越奇怪了。所以我觉得 LinkedIn 可能是这类事情最方便的方式。
Lenny Rachitsky: 我记得在某个地方读到过,scamille 这个用户名源自你年轻时对 ska 音乐的热爱,对吗?
Camille Fournier: 没错,是的。那是高中时候的事了,我当时是一个超级 ska 乐迷。
Lenny Rachitsky: 有意思的是,我们的用户名就是从很小的时候留下来的,然后就永远成了我们在网上的身份。
Camille Fournier: 是啊。
Lenny Rachitsky: 太荒谬了。然后你还没回答我最后一个问题——听众们怎样能帮到你?
Camille Fournier: 我有一本新书即将出版,还有另一本已经写好的书。当然,我很希望大家买我的书,也很希望大家把我的书推荐给其他人。我的第一本书已经被翻译成了好多种语言,这非常令人兴奋。如果你读了之后觉得有收获,请告诉我,在社交媒体上 @ 我,我觉得那就太棒了,敬请期待。还有,如果你在找人去你们公司聊聊平台工程方面的话题,我可能会有兴趣。不过我总的来说很喜欢结识有趣的人,如果你在纽约,可以联系我,谁知道呢。Lenny,今天能和你聊天真的非常非常开心,非常感谢你邀请我来节目。
Lenny Rachitsky: 我也是。Camille,谢谢你答应来上节目,你太棒了。非常感谢你的到来。
Camille Fournier: 保重。
Lenny Rachitsky: 大家再见。非常感谢收听。如果你觉得这期节目有价值,可以在 Apple Podcasts、Spotify 或你喜欢的播客应用上订阅本节目。也请考虑给我们评分或留言评论,这真的能帮助更多听众发现这个播客。你可以在 lennyspodcast.com 找到所有往期节目或了解更多关于本节目的信息。下期再见。
术语表
| 原文 | 中文 |
|---|---|
| Alien Romulus | 《异形:夺命舰》(2024年科幻恐怖电影) |
| Amazon | Amazon |
| Andre 3000 | Andre 3000(音乐人) |
| Camille Fournier | Camille Fournier(嘉宾,曾任 Rent the Runway 首席技术官) |
| ChatGPT | ChatGPT |
| CI/CD | CI/CD(持续集成/持续部署) |
| dev tools | dev tools(开发者工具) |
| DevOps | DevOps |
| Four Tet | Four Tet(音乐人/乐队) |
| Francis Ford Coppola | Francis Ford Coppola(美国电影导演) |
| GraphQL | GraphQL(一种 API 查询语言和运行时) |
| headcount | headcount(人员编制) |
| Ian Nolan | Ian Nolan(Camille Fournier 的合著者) |
| IC (Individual Contributor) | 独立贡献者(IC) |
| jQuery | jQuery |
| Lenny Rachitsky | Lenny Rachitsky(播客主持人) |
| O’Reilly | O’Reilly(技术图书出版商) |
| OKR (Objectives and Key Results) | OKR(目标与关键结果) |
| Pema Chödrön | Pema Chödrön(藏传佛教尼师、作家) |
| PHP | PHP |
| PM (Product Manager) | 产品经理 |
| prompt engineering | 提示词工程 |
| ROI (Return on Investment) | ROI(投资回报率) |
| ska | ska(斯卡音乐,一种起源于牙买加的音乐流派) |
| SRE (Site Reliability Engineering) | SRE |
| Whoop | Whoop(智能健身追踪手环品牌) |
此文档由 AI 分片翻译(translate_long_document)