Featuring:
- Chad Myers
- Chad Fowler
- Sara Chipps
- Scott Reynolds
- Doug Rohrer
Rob: Hey, Scott. Dude, I have a great idea - let's do a podcast. We can do a thing like This American Life, and I'll loop in some groovy tunes... what do you think?
Scott: What are you talking about? I mean, what is this... what is this awful music? There's too much music. We should try something that sounds a little more like [sings the Hanselminutes theme].
Rob: Oh come on, ok just play along. Alright, I'll get to the point. If this podcast didn't exist, and I just got you one day while you were, I don't know, installing some kind of service pack or something, and I said "Dude let's do a podcast where you riff, and I play music in the background, and we talk to people who are miserable...what do you think you would say?"
Scott: I would probably say that it's been done before, I would probably stop pronouncing my L's... and uh, honestly, really I mean I've listened to your music. I don't want to listen to your weird hippie music. I would tell you to do a podcast without the music, call it Coneryminutes...
Rob: Ok... you know, yeah, music, where have I heard that before? Oh yeah, your blog. Oh man, the comments on your blog every time you put up a show. But you know...
Scott: You take it too personally.
Rob: I know, I must. But you should know by now that making fun of me is painful, at least as far as you're concerned, with this show.
Scott: Yep, you are an angsty teenage girl. But I personally have had a great time, you know, listening to what you do with my voice, using the high quality professional tools like... GarageBand. Uh, seriously though... what is this music? This is a problem.
Rob: [with deep voice effect] Uh, what if the show this week is Rob playing with GarageBand while Scott brings his wife and family on, and you dump in some awful music... it's just this incredibly compelling, very emo stuff. What is the point to this show, again?
Rob: [laughing] Oh, that never, ever gets old. Ok so here's my point. I'm genuinely curious - what would you have said about my podcast pitch to you? I mean I'll tell you what I think, right? If I say to you, "Hey Scott, let's do a podcast," right, and this podcast didn't exist - you would say, "No way." I mean, you're like Mr. Geek Hollywood. How many podcasts are you on? How many recording are made of you each week, or day... each hour, right?
Scott: Maybe, I mean I probably would have been skeptical, but no more skeptical than if you'd invited me over for tacos and said, "Hey I've got a great business opportunity for you." Nobody wants to get involved in yet another failure.
Rob: You know, true. But I think you would probably have been a little more than skeptical. But alright, ok, so I'll let that go. Here's my point. You have got a squelch filter - a geek squelch filter - that is set pretty high. I mean, you know squelch filter, like the button on your kid's...
Scott: Right, right, I know what a squelch filter is. Right, increases the signal-to-noise by reducing the noise... and also the incredibly bad music, and... it filters out the nonsense, yes. No programmer is a fan of nonsense, and no one wants to waste people's time. I mean, my whole other podcast is dedicated to not wasting people's time. Like right now... I think you're about to come to your point?
Rob: Right, I get that. Ok, so to my point. How did your squelch filter get set so high?
Scott: You have to fail! I've failed a lot. I've been involved in a lot of dead end projects, deathmarches I suppose you could call them. And as you can imagine, myself... or I'm sure any kind of relatively senior engineer... hears a lot of ideas from people. You always get pitched. I'll listen to anybody for a couple of tacos, but that doesn't mean I'm going to sign in as your CTO. Like, a buddy of mine... years ago we have this joke, which is "expiredfoods.com - your B2B marketplace for food that has reached its expiration date." My buddy Joe... convinced that this is a great business idea. We all have the kind of like, "Dude... expiredfoods.com - we have to make this happen. Quit your job, move into my garage, it's going to be awesome..."
Rob: Ok, so of course to anybody listening now, that has a few projects under their belt, I mean of course that sounds horrible. And in fact I'm sure there are some people out there who are saying, "You know... I've actually worked on a project like that." My point being, is that now of course with hindsight, you can easily make that call. You can say, "Oh, expiredfoods.com sounds horrible." But when you're just getting started, when you just start programming... you know you're starting to build web sites, and you think "hey this is really cool." Don't you think it's a little harder to make that choice?
Scott: Because you're not jaded. You don't have the scars. If you haven't gone on a deathmarch, you don't know enough to... say "Gosh I don't think that's a good idea." You don't have the... you know how you get code smell? You develop code smell? You have to get project smell.
Rob: Exactly.
Scott: Going, "Hey, let's all go on a hike in the desert without water. That would be awesome. Let's do that."
Rob: Well you know it's funny that you bring that up, because... so whenever you go out with geeks, I'm sure like when you go out on your Nerd Dinners, people sit around the table and they start at some point kvetching, right? Someone will lift up their geek sleeve, and say "Look at these scars I've got." And then, you know you start bantering back and forth... well, like these guys.
[Musical interlude]
Chad Myers: Quickly, they started to hire more marketing people and the requirements really just started... getting weird.
Rob: That right there is Chad Myers.
Chad: And, lo and behold we came to find out that it was a multi-level marketing scheme. And if that just sounds weird, multi-level marketing dating site, then yeah, it really was. It really was crazy. It turns out that the owner, we believed had a serious cocaine habit. And he was one of those sort of slimy, salesy... you know, he would come in and tell us we had to work at all hours of the night, which was really tough because I had just had my second child at that point, and the family was really ramping up so it was tough. He came in one time with, I don't know this for certain, but it sure looked like hookers on either arm. And he sort of flaunted them, walked up and down the aisles and flaunted them, introduced us to them and it was like Bambi and Bimbo or something... I can't remember their names. And then they went into the conference room and closed all the blinds and we heard lots of giggling, and I'm sure there was lots of grabass and stuff going on in there.
[Musical interlude]
Scott Reynolds: Wasn't able to use source control...
Rob: This is Sara Chipps talking to Scott Reynolds.
Scott R: ...because he didn't know how to use source control, and he wanted to be in some way involved in the code. Right, so I was just pushing my code, you know the whole xcopy source control thing, up to a central server. Well, server, whatever... it was his PC. In the meantime, I am making legitimate progress on the piece of software that he wants, and it's actually in kind of a usable form. I mean it's not like a full-featured whatever, because it's only really been like a month and I've been doing other things. But it's in pretty good shape, and I have put a lot of work into it. And he decides one day in mid-January that he is unhappy with C#.
Sara Chipps: Ok.
Scott R: Because he can't follow it, and he doesn't understand the code I'm writing. And he's been looking at it at night, and he doesn't know how to make changes.
[Pause, brief musical interlude]
Scott R: Facepalm. Start over...
Sara: [laughing] No...
Scott R: No. Yes. No, just wait. Don't even react until I say the rest of it.
[Dramatic pause with music]
Scott R: In Access.
[Musical interlude]
Doug Rohrer: Pretty much got the call, showed up the next Monday morning...
Rob: And this is Doug Rohrer.
Doug: And somebody kind of pulled me over to the side, and said, "Just so you're aware... we only bill 40 hours a week on this project. But we're working about 50 or 60." I don't know, it was a week or two in when we had this giant pizza party because the application would build. Not that it ran or it worked, just that it would build. So they had taken an existing app and kind of gutted it, and rewritten large chunks of things to make it work in a new context. It had taken them something like two or three months to get the app to just compile again. So there we were, eating pizza drinking beer, everybody's very excited about the fact that the application compiles. And I'm kind of looking around going, "What is going on?"
[Musical interlude]
Doug: Is this what enterprise projects are really like?
[Musical interlude]
Scott: Yikes, ok. That's... that's actually quite typical. I want to be like, "Oh no! I've never had that happen before." But you know, we've all had just really uncomfortable programming stories. Some of them are a lot more painful than others. You know, as you gain time and you spend more time in the industry you'll toughen up and you'll eventually decide not to do that. You'll get your project smell developed. You'll dial that thing up and you'll start saying no. I think saying no and avoiding these projects is a big part of growing up.
Rob: Yeah.
Scott: And I think that, by the time I'm 40, I think I'll have that skill.
Rob: Well absolutely, but you can't just all of a sudden have a squelch filter. You have to work a number of projects before you can decide, "I don't want to do this project." In other words, you need to have been burned at least once to understand what being burned feels like, right?
Scott: Absolutely. It's about being burned, it's about being boiled. Slowly. Nobody joins a deathmarch. No one says, "I've got this great contract in Pennsylvania. It's a deathmarch. Would you like to join our deathmarch?" No, it happens slow. You turn the heat up slow. The frog doesn't know he's getting boiled.
Doug: Hmm, never tried to make Skype shut up before.
Rob: Wait, so who's this you're going to be talking to? Who's this in the background?
Scott: Ok, so this is Doug Rohrer. He's getting set up, and he and I, we sat down and we talked about a project that he was on that was literally sucking the life out of him. Check this out, this was the part that got me.
Doug: It's one of those things where you wonder, "Why am I here? Why am I doing what I'm doing?" I was away from my family for the better part of a year. I missed the first year of my son's life, basically. He was three months old when I left on this project, and I was home maybe two weekends a month if I was lucky.
Rob: Oh, man. Yeah that wouldn't work for me at all. I can't imagine for you either.
Scott: No, not a chance. Absolutely not. But you know, then again, some people have the luxury to some degree, being able to turn down projects you don't want to do. But we've all been in a situation where you're on a deathmarch, but at least it's a paying deathmarch.
Rob: Well Doug sounds like a really smart guy. I mean I have to think that even if he really needed a job... there has to be a line that you're not gonna cross. What keeps someone like Doug going on a project like that?
Scott: That is exactly what I asked him.
Doug: Number one, as a software developer why do I do this? Why do I allow the project to make me do these things, right? Because sometimes you don't have a choice. Sometimes it's "this is my job, and the economy right now is really bad." If I were on a deathmarch today, I probably would be carefully sending out my resume, but at the same time understanding that this is what I gotta do. And if you've got a family and a mortgage, that's what you do. But there are other reasons that people do these things. I think back then, being younger and a little bit earlier on in my career, that was certainly part of it. But there was also this "I have to prove myself to the world" kind of thing. To my peers, to my new company that I just started working with. And as horrible as the deathmarch is, there's this incredible camaraderie that comes out of it. There were 20 of us in that room, every day for a year going through this stuff. And at night we went out drinking, and played full contact darts, and just generally got to know each other really well in a way that I think is almost impossible otherwise to a certain extent.
Rob: Interesting. So Doug has this project that is driving him crazy, making him stay away from his family, he can't see his kids grow up... yet he's managed to bond with the people that he's working with. That's fascinating, I mean we all have stories like this I'm sure. In fact you do too, right?
Scott: Oh yeah, absolutely, we've all got stories like this. Mine was actually years ago. In fact when I was done talking with Doug about his, I kept the recorder rolling and I told him my story.
[Musical interlude]
Scott: My favorite story was when we were working at 800.com And 800.com was like a pre-Amazon.com video service. And you would go up, and DVDs had just come out, I want to say this was like '99 but I'm not sure. It was early, whenever DVDs first came out. And it was running on like ISAPI and classic ASP, and we didn't have offices. We were sitting on the stairs in a marketing company, and it was just very "sleep with the servers" kind of environment. And the marketing people were just making up stuff. They were just pulling marketing square out of their butts. And one of them was like, "Hey, how about three DVDs for a dollar?" And then they just said, "Ok cool, that's a great idea" and they put it up. They didn't do any testing, they didn't do any scalability... they just said, "Let's do three DVDs for a buck." And the Internet showed up the next day. They just descended upon us. This is before Twitter, so everything spread on Usenet. You know, "Three DVDs for a dollar?" I mean it was just bananas. And what happened was, from a technical perspective, it changed the way that the site scaled.
You think about a site that is a product catalog, it is a shopping cart, and it's the checking out. So those are three aspects of a site. And you figure that 99% of people are browsing. And some small percent, one percent, two percent of people are putting things in their cart. And a percent or two are checking out. I guess that's like 104% but you get the idea. That ratio changed. Suddenly 1% of people were browsing, and 99% were trying to check out. They were trying to give us money. So our site wasn't optimized to take their money as fast as possible, and ironically they were only getting us a dollar. It literally would have been easier to just give them the DVDs for free. Because it would have taken the pressure off the shopping cart and the checkout process. But the entire web farm kind of scale got flipped on its ear, because at the time, thinking about web farms was not sophisticated. I think we were doing 40 or 50,000 concurrent users on, I don't know, 5 or 10 boxes. It wasn't big, but it was big for 10 years ago. And we were on a deathmarch then, it was like "You better get this up, you're turning away business." You know, every hour goes by we're losing business.
All the tricks that you know how to do today, we kind of figured out just on the fly. Move all your images to a different DNS server, and have them serve from a separate place. Have your shopping cart on one farm, and your product catalog on another farm. And then eventually when it got so crazy, we made the product catalog static. Such an obvious idea, isn't that just the thing about a deathmarch right? You look back on it and you go, "Wow, you know we could have just turned left and it would have been fine." Had we simply made the product catalog read-only, it would have taken all the pressure off of that. Which is what we ended up doing. We made the "three DVDs for a buck" pages, and all of those products and those DVDs that were eligible for that, read-only. They were like, text files.
Rob: It almost seems like this kind of storytelling is built into our DNA, like we're warriors who want to share our stories...
Scott: Oh lord, ok are we Radiolab now? I mean, which National Public Radio show are we going to rip off now? This is where you have like this scientist come in, and explain to us how a butterfly flaps its wings, and then a software engineer fails to compile a thousand miles away?
Rob: Ok, yeah alright you got me. I mean I love Radiolab, sure, fine... well let's just stay on track. There's something there. You hear a story, you want to respond with a story of your own. A bit of camaraderie, kind of like band of brothers.
Scott: Oh absolutely, ok I see that. In fact when I spoke to Doug about why he stayed in that project for so long, one of the things that he mentioned was exactly that.
Doug: And as horrible as the deathmarch is, there's this incredible camaraderie that comes out of it. There were 20 of us in that room, every day for a year, going through this stuff. And at night we went out drinking, and played full contact darts, and just generally got to know each other really well in a way that I think is almost impossible otherwise. To a certain extent.
Rob: I've definitely felt that. You know, you're on a team, "We'll get this done," you invent opposition if you will. Some sort of made up thing that you're fighting against as a group. A lot of managers will actively use this tactic of making you fight against the odds, to make the team band together. I mean it reminds me of something that Javier Lozano said to us in Episode 3.
Javier Lozano: There were many times when I would reach a point and say, "Damn it. We're going to be here as long as it takes." And I guess at that point, it really wasn't because of the problem. It was because I wanted to succeed. I wanted to have a win for myself and the team. I wanted everyone to say, "Yes. We tackled this together. It sucked, but you know band of brothers, we move forward, this is all great..." And it sort of builds that camaraderie, right, that every team yearns for and wants to have. And I bet you if you ask the team members now, several years after, they'll think the same way. It's like, "Yeah, we got it done. It wasn't pretty," but was it important? No. It was more important for us to do it and to build that strength around us, in making sure that, "Hey, as a team we can accomplish anything."
Scott: Sure, sure, but does that really describe the motivation? Or is that just a managerial tactic. With Doug, I mean here's a guy who's being dragged through a nightmare of a project, right? He's away from his family, his kids. He's got some camaraderie, but seriously you're not seeing your kid? Your wife? It's like a weekend per month? I mean maybe if you're in the military, but not in software development. We're not saving the world here, that doesn't add up to me.
Rob: Me neither. One thing that Doug said, however, resonated with me and seemed to add a bit to the why.
Doug: There was also this "I have to prove myself to the world" kind of thing. You know, to my peers, to my new company that I just started working with.
Rob: Which makes perfect sense to me. I mean you have your squelch dial turned to, what, 9.9?
Scott: Oh I can't even hear you, my friend.
Rob: Right, I suspected. Well you have your squelch dial set precisely because you've seen these things happen. You have the scars. But you don't when you're just getting started, which is kind of what we were talking about before. Doug seems like he is just a bit beyond getting started, he seems like he knows what he's doing. He's been around. But it also sounds like he wants to prove himself. For I don't know, what? Like upper management, a promotion? There's a lot of people that will bend their own wills, they'll do things they don't want to do, flex their family like Doug... in order to succeed.
Chad Fowler: Alright, I think I'm ready to go.
Scott: Ok, so who is speaking here?
Rob: This is Chad Fowler. He's a prominent figure in the Ruby community. He co-founded the International Ruby conference, as well as the International Rails conference. Big name in the Ruby world, yadda yadda. He wrote a great post the other day that I read, about developers being stuck in Stockholm Syndrome. You know what Stockholm syndrome is?
Scott: Right, yeah, Stockholm syndrome is when you basically fall in love with your captors. Let's put it in terms of software: you get a job, you hate your job, it's awful, it's literally torture and you're trapped. But after a while, your only redemption is found through those that have put you in that situation. You live for your managers, you live for the march. You know you're going to die, but you love them regardless.
Rob: Right, yeah, and I called him. Or I sent him a little email, I should say, and I said, "Well, do you have experience directly with this?" And he said, "Ohhhhh, yeah." So I asked him directly, "Why do you continue working in a deathmarch, dead-end nightmare?"
[Musical interlude]
Chad: My career started with me being a professional saxophone player who was really into Doom. And being into Doom got me into computer programming, and just computer support, which basically just opened the door to a career during the dot-com boom and all that. So, therefore I always had this feeling of being kind of an impostor. And there's actually a thing called Impostor syndrome, which is said to lead to Stockholm syndrome in some cases. In these sorts of cases, where impostors can't recognize their accomplishments for being their own. For me it must have been luck, because I had no qualifications. I'm working with all of these people who have all of this experience, years of experience, degrees... I have no degree, and all I had done with my life before then was study music and play music professionally.
So, coming into the situation like that, I was very impressionable. And I felt like I was just getting lucky over and over again. Maybe I didn't deserve the stuff that was happening to me, the good stuff that was happening to me. But I also probably really intensified my desire to fit in, and the whole isolation of it all. I also felt, therefore, kind of stuck. Because I didn't know if what I had done there would translate to the quote-unquote "real world." We had such a bubble, a cultural bubble there. And the perceived inability to escape a situation, even if it's not negative, is one of those four foundational situations that are said to lead to Stockholm syndrome. So I recognized that, and I didn't know it was Stockholm syndrome. I probably didn't even know that term at the time, but I recognized that I was feeling stuck. Trapped. Not in a negative situation, but I could see it becoming a negative situation if I wasn't careful. And I like to be in control of, you know, my job and my life. So I made the decision to leave that company, simply because I was too comfortable and I felt like I might be getting myself stuck later down the road.
[Musical interlude]
Scott: Interesting. Ok, well I don't think I've ever had to deal with a situation quite like that, but it makes sense.
Rob: Oh really... listen to this.
Scott: [from a previously recorded interview] You're sitting in a meeting, where you don't want to open your mouth because you're afraid that you're going to say something stupid. That sense that, "I am the stupidest person here."
Scott: Ok, right, sure. But that's Microsoft, it's a little bit different.
Rob: Really, I mean you don't feel like you need to prove yourself there, maybe just a bit more? I mean it seems to me that the stakes are a bit higher for you. Like, perhaps you would feel the need to take higher risks. To do things that demand more of your family, ask your family to give in a little bit more as far as time goes. Maybe moreso than when you're just starting out. I mean I know I did. I remember a few projects that... well they weren't deathmarches, but at the same time let's just say it made me feel uncomfortable. I mean I did them anyway, I knew the time demands and everything else were a little bit much. Don't you think that it's kinda the same thing?
Scott: Well... ok, let's say it this way. Developers that are, let's say early in their career, are prone to take on more risky endeavors because they want the experience. Presumably they don't have a choice... or they necessarily don't necessarily have the experience to identify that what they're getting into might be a bad idea. So I agree that the stakes can potentially get higher as your career progresses, but I disagree that you're more prone to fall into a deathmarch. I think the more experience you have, the less likely you are to do the wrong thing. So listen here to how Sara Chipps breaks down an offer for a project that she was asked to jump on recently. She recorded a segment for our show and she was in fact talking to Scott Reynolds in New York.
Sara Chipps: I had, I was approached by someone. I think I'm kind of spoiled, I was approached by someone a few weeks ago to work on a project. And there was a lot of red flags, he mentioned he had been through six or seven developers so far. He mentioned that he had been swindled by a few of them.
Scott Reynolds: [laughing] Oh, god.
Sara: The project had been in the process of being worked on for seven years. He had the Facebook idea before Facebook...
Scott R: Of course he did.
Sara: So it's the answer to Facebook, but he's never been on Facebook. Because he's angry... you know it was just a lot of things.
Scott R: That I think I would have to turn down, just on the face of it.
Rob: Yeah, If only it was that easy.
Scott: You're saying that it's not?
Rob: Sometimes not. So listen to this, I talked to Chad Myers about this just the other day. He worked for a consulting company, you know a dot-com super neat idea manager that... well here I'll let him describe this guy.
Chad Myers: It turns out the owner, we believed had a serious cocaine habit. He was one of those sort of slimy, salesy... you know he would come in and tell us we had to work at all hours of the night, which was really tough because I had just had my second child at that point, and the family was really ramping up so it was tough. He came in one time with, I don't know this for certain, but it sure looked like hookers on either arm. And he sort of flaunted them, walked up and down the aisles and flaunted them, introduced us to them and it was like Bambi and Bimbo or something, I can't remember their names. And then they went into the conference room and closed all the blinds, and then we heard lots of giggling... and I'm sure there was lots of grabass and stuff going on in there.
Rob: Ok, so we have a manager who is clearly a bit of a sleazeball. I mean, why did Chad do it?
Chad: I was working as a consultant, and they put me into a dot-com startup. And I wasn't the team lead right away, but I was tapped to be the team lead shortly after. So I walked into the middle of the project, and it was already fully ramped up. I guess they were planning on hiring one or two more people, but it was in full swing. And at first it seemed like a really exciting thing. It was a dating site, an online dating site. And they were starting to do some cool stuff with Flash, and they wanted to do instant messaging inside the web application. Which was fairly new at that point, instant messaging through the web. And then they, you know, we had to do all the stuff with blocking, and you know, making sure that people couldn't harass other people.
Scott: So, what happened?
Rob: Oh, I suppose it's your typical story in this way. He worked the long hours, slaving over the code and driving his team to produce more and more... burning the midnight oil. Then eventually things came to a head.
Chad: One night, after having been working til 2 or 3 in the morning several nights successively, I came home and my wife was there with my daughter, second child. And she had waited up for me, it was like 3-something, and she was just crying. And she said, "Chad, I can't do it anymore." And that's when I... that put the nail in the coffin. That's when I knew, "Ok, something's not..." I can't make excuses for him anymore.
[Musical interlude]
Rob: You gave reasons, which you had to stick with this cocaine hooker guy. And then you come home and your wife is falling to pieces. I mean that must have been crushing.
Chad: Yeah, you know, because she saw through everything right away. You know, she saw the simple facts. The simple fact is I was staying late for work, this thing wasn't going anywhere it was supposed to be going. You know, all the promises that had been made to me that I turned around and made to her, none of them were coming to fruition. So you know, she saw right through the whole thing.
[Musical interlude]
Chad: And, you know it's tougher when you're right in there, in the middle of it. Because you say, "Well, you know maybe he missed this prediction or maybe he missed that promise, but there's still a lot of potential here. You know, we're getting in on the ground floor, and this is going to be really great, really awesome..." And really, you just lie to yourself. Like you said, Stockholm syndrome. But, yeah, it's another reason why I love having a family. Because it really keeps you honest. There's no lying to the family - you can lie to them all you want, but they see right through it.
[Musical interlude]
Scott: Ok, ouch. I mean I'll give you that, I think we've all been there. We get a little swept up, a little carried away... our families react to it, they pull us back down to earth. We talked about this a little bit last week in Disconnecting. Family first. I found when I had kids, just for me - and this is probably why I'll never be a millionaire, and why I'll never be a vice president anywhere - was that as soon as I had kids my sense of career aspirations just stopped. You know, family first, career ninth. That's just how I roll, and more and more I think people realize that that old adage is true. No one ever finds themselves on their death bed saying, "Man I really wish I worked more."
Rob: Right, ok so let's bring this back on track. I mean what we're talking about here is, well we started out with the metaphor "squelch dial." But let's maybe put this to where other people can understand it. In Hollywood they say you make your career by the scripts that you turn down. And so it seems like the same thing holds true for our industry. That you have to master the ability to say, "I will not take that project, it is going to flex me too much." And you get to a point wher eyou start understanding that it's more important to turn a project down to keep your family life, your personal life and everything intact. It's much more important. As a matter of fact, Sara - who we just talked about - she talked to Scott Reynolds. Former geek, just like us. He writes for McSweeney's now, he doesn't do so much development anymore. And one of the interesting things about him, as opposed to Doug, he seemed to know full well what was happening to him when he was in the deathmarch. He had sort of a presence of mind as, well, this is hopeless. Here, I'll let him tell you.
Scott Reynolds: At the time I was living in a very small town, that had really no tech. So I was working part-time at Barnes & Noble in the cafe. And this was after I had been a software developer in Boston for several years. I was employable, there was just no employment. So even afterwards I was still living in that same place, and you know some projects are... they're not gonna happen, but you've got a job so what are you gonna do, right? You just slog through it, even though you know bad stuff is gonna happen. And then you're like, well, maybe I can say "I told you so" to somebody... get a little personal satisfaction out of it.
Sara Chipps: Right, right, "I'm gonna rescue this."
Scott R: So I come in one morning, and he was there. Like his car was there.
Sara: That's a total Joel Test fail.
Rob: Just to catch you up, Scott and Sara are talking about Scott's employer. The guy who wouldn't let Scott use source control, wouldn't let him use C#. Instead telling him to rewrite everything in Access. Oh, and by the way, apologies up front for the sirens. The story's just too good.
Scott R: Yeah, it was...
Sara: A 0 on the Joel Test.
Scott R: Like a -86 on the Joel Test. So I come in one morning and he's there, which is odd because he's a night guy. And he usually does most of his work from, like he'd come in at 4-5 in the afternoon and work through til 6 in the morning, and go home and go to sleep. My interview with him was at 11 o'clock at night.
Sara: Right.
Scott R: That might have, maybe been a red flag. But I was kind of a night owl too, so I was like, "Hey this is cool." So I get there one morning and he's there, at like, you know 9 o'clock in the morning. And so I kinda got that feeling, I was like "This is it, we're done." And so I come in, and he's like "I need to talk to you." I'm like, ok. And he goes, "Yeah, you know, I hired you to fix my accounting stuff." (Ehhh, no you didn't, but ok. Sure, that's what you hired me to do.) "And it's been months and you haven't done it." (Well I have... twice actually, but ok.) "So, you know, I'm just gonna have to let you go." And I was like, "Ok." And he's like, "I'll give you two weeks... or... two paychecks of severence." I was like, "Sweet. See ya later." And so I left him my laptop and I hopped in my car. I didn't have to put my coat on because I already had to wear it at work. And I went home. Took a nap.
Scott Hanselman: That's extremely... I would even say remarkably grounded. I mean, good for him. He's able to recognize that it's just a job, and here's a guy who is able to either turn down scripts or take them with his eyes wide open. And what did you say that he's doing now?
Rob: Um, well I think he quit the Internet basically, and the whole development thing. And now he's writing full-time for McSweeney's.
Scott: Hmm. Well, maybe he didn't handle it so well.
Rob: [laughing] True, I guess I didn't think of that. I mean I bet there's a number of ex-developers out there that, well, cracked for lack of a better word. I mean I'm not saying Scott did. But the pool is thinned because of it. Chad Fowler handled his situation pretty well. You remember his story about being an impostor. Well it turns out that he worked for a guy who was a pretty charismatic character. He did all the things that a cultish-style leader would do. Picking favorites, and a militaristic leadership style, and so on. And then comes the day when Chad's had enough.
[Musical interlude]
Chad: Like, your dad wants you to join the family business and run it. And you have no interest in running a dry cleaner, and finally you have to tell him. That's kind of the way I felt to let this guy know. And the funny thing is, the conversation where I let him know... at the time I was actually a couple of layers down the chain of command from him, doing a specific project. And it normally wouldn't have been him that I would have told. You know if I kind of followed the normal corporate chain of command when I was ready to leave. But, one day he sort of unexpectedly called me into his office because another one of the leaders was being transferred out of the organization, and he was basically offering me suddenly a big promotion and a position on his direct staff. Which is exactly the direction I'd been trying to go for years. And it was in that conversation that I had to say, "I can't do that because I'm gonna leave the company."
So the way I felt when I left was actually at first just very emotional. Not negative or positive. I think by the time I got home I was absolutely comfortable with the decision. It's one of those funny things that I had felt sort of trapped for a long time. Trapped, you know, by my own devices. And as soon as I realized that I could un-trap myself, I was no longer worried. Um, for one thing I knew I had left on good terms. I hadn't even left yet, but I knew I was leaving on good terms. I had seen people leave this organization and come back, so I knew that was an option. But I didn't expect that to happen. What I expected to happen was that I would go out into the quote-unquote "real world" - try what it's like to be in a smaller, maybe faster-moving, more agile organization. I don't know why, but the moment when I broke the chains in this one organization was the moment that I realized that I wasn't an impostor.
[Musical interlude]
Rob: I can identify with that. I felt for the longest time that I was just a geologist who could code. It wasn't until a few years ago, I guess maybe when I got a job at Microsoft, that I stopped feeling that way. I mean, look what Chad's doing now. He's a prominent figure in the Ruby community, organizing conferences, appearing on awesome, derivative podcasts like this one...
Scott: Yeah, like this one. Certainly he should have turned this script down, if he's talking to us. We've had some interesting stories this week, right? Doug talks about proving himself, while bonding with his peers working on a project from hell. Chad comes of age as it were, starts to believe in himself more, in his abilities. You know, a trial by fire forces him to confront his boss and exit on his own terms. And Scott Reynolds, he knows what's happening to him. He knows it's just a job. He collects a paycheck, again, on his own terms. Goes home, takes a nap. Not sure where this leaves us, other than a little bit depressed.
Rob: Well I think one thing we can say - and this might be an overly stereotypical male thing to say - but in a way, well I mean a deathmarch is a proving tool. It's a strenghtening tool. It's like a, geek...
Scott: No, you are defined by your failures in life. Not by your successes. I remember getting a resume from a guy who put his name, and then comma, MCSD Microsoft-certified this and that. And the commas, and the all-caps, and the commas and the acronyms went on and on and on. And I wrote a blog post about this, saying we should put the number of failed projects, right? I want to see Rob Conery, comma, eight failed projects, two successes. And that tells me this is a guy, or gal, who has suffered. And with that suffering comes wisdom and introspection.
Rob: What do you think about, as you move through your career, that... you know, in the beginning as we keep saying, you don't know the projects that are coming to you. So you're being more apt to take the deathmarch. But as you move on, those deathmarches become bigger. In other words, the bad scripts that you receive become worse. But then once in a while, you're going to have to take one. I mean, you're going to have to put more skin in the game if you want to succeed, if you want to become the CTO. What do you think of that?
Scott: Mmhmm. Yeah, absolutely. Just like in Hollywood, using the script metaphor, it's about the scripts you don't take that make your career. But sometimes the trick in reading the script is, "Well who's directing it? And what's it gonna bring me?" And, you know sometimes you have to do a Jersey Girl, if you're going to get The Town or something like that. You do a bad film and it makes you grow, and then you move on to the next thing. I mean I might, if I was offered a job at Twitter or Facebook, go on a deathmarch. Just for the building, the character building as my dad used to say. This is character building, like all through Karate Kid... all that wax-on/wax-off, that was character building type stuff. And as you get older, you get better at selecting those scripts. But you know, there's always a shark out there ready to be jumped. You remember this in Happy Days, right? You're the Fonz, it's the 70s, everyone loves you... and then you read a script where you get to waterski over a shark. And this is where the term "jumping the shark" comes from, right? There's nothing left to do... Happy Days, the Fonz, it's the number one show on TV. "What are we gonna do now? Let's jump a shark." And the whole thing went to hell after that.
Rob: [laughing] That's just something that screams no. I mean, Fonzie? Waterskiing? A shark? I mean, yeah. I would look at that script and I would think, "No." In blaring, bold, red letters. But then again, I mean it's not like I'm a stranger to situations that are nothing but, well, horrible. And I do it anyway. Remember this story?
Rob: [from a previously recorded interview] I could have avoided all this. I know that. This is probably the worst part of the whole thing for me. I knew it the very first meeting. I knew it the first month, second month... first week through the twelfth. I knew it the entire time. But I kept believing in myself.
[Musical interlude]
Rob: That happened to me, actually quite recently. And I kinda feel like I'm old enough to know better.
Scott: So you're... you're Fonzie.
Rob: More like Potsie. I mean, now that would have been funny. Can you imagine Potsie jumping the shark and getting eaten? I mean, that would have been the better script. But anyway, it's the same thing with me.
Scott: Right, so here's the thing. You're saying someone should have told Henry Winkler, "Don't jump that shark." And here you are, jumping the shark right? It's always the guy who quits smoking who tells the people, "You need to stop smoking." Nothing worse than a reformed... shark-jumper.
Rob: Alright, I can't hide from this one. It was professional shark-jump right there. And you're absolutely right. But I didn't do it because there was nothing left to do. It's not like I did all the things and all of a sudden, "Well hey, now I gotta go do this really stupid project that I know I'm gonna get fired from." I did it for all the reasons that we kinda talked about earlier. Friendship, money... I mean for all the reasons I knew it would fail, I sincerely felt that I could make it work. Specifically because of my experience... ah, but really it was mostly money.
Scott: Ah, and there it is, right? Ok, let's spin it this way. It happens tomorrow, not in the past. Is this something you would look at, and remember vividly what happened to you? Or are you gonna go and ignore it ever happened, and then just plow forward?
Rob: Oh I'll remember. And no, it will never... I'll never do that again. I mean I will seriously go get a job as a bartender down the street at the gourmet before I go against my instincts. Or in keeping with our analogy here, dialing down my squelch button or accepting a really bad script... that shark has been jumped, my friend.
Scott: I still find it curious that you would even make a mistake like that in the first place. I mean, they put you up against offshore developers. They pay you a rate that's way below what you should be making. They totally make it clear to you that their ability to manage the client and their own process is going to be a problem. It doesn't get much clearer to me. And Sara too... it sounds to me like it was the same person, right? Sara said no and you're like, "Eh, sure why not?" Alright I'll tell you what, I have another theory. You like being boiled quickly. You want to be thrown into boiling hot water. You think that's fun. You are a risk-taker - you know you said yourself - you like the startup scene. You left the... Microsoft, and what did you do? You started... up.
Rob: Yup, I jumped onto a startup shark.
Scott: Very risky. And I remember telling you that was stupid. I remember telling you... actually you told me you cashed in your 401k to do this, is that true?
Rob: Yep, I sure did.
Scott: And now, I can see you ending up in a story like this. You hired someone to do Tekpub with you, you're... running around the office with hookers, and you're doing coke off the desk... presumably on a Macintosh...
[laughter]
Scott: And in other words, when you risk that much - you, Rob, are now the unstable weird manager guy. Have you become that guy?
Rob: Well, jeez. [laughs] Well, I mean sometimes I feel that way. Sure, ok I'll admit it. I mean I think I definitely have seen... I mean let's just say I'm understanding more where these guys come from ok? I mean I have a lot of skin in the game now. And yeah, if you took me from 10 years ago and made me work for me right now, yeah I might think I'm a bit off my rocker, sure.
Scott: So this is a risk/reward thing, right? You and I can sit here and get all kind of "alpha geek warrior" and talk about scars, and get all chest-thumpy. But at the end of the day, right, this is self-inflicted deathmarching. Right?
Rob: Yeah.
Scott: You have decided to do this, and you're gonna go for it. It's almost like you're one of these old guys in The Expendables, you know. "All I know how to do is go to war," you know, and there's a... "We're going to Grenada everybody!" It's totally self-inflicted.
Rob: I've... you know I've thought about that. And yeah, I think a bit of it is absolutely self-inflicted. I mean here's an analogy that always seems to work for me. Surfing. It parallels life in a lot of ways, right? All these variables in the water - wind, water, wave, everything - stacking up to present you a wave that you get to ride on top of. The wave changes shape every single second you're on it. The wind changes directions, changes speeds... you have to adjust as you go. Much like life. Now some people love to ride the bigger waves. Because the variables, well they get more intense right? Bigger variables, more choices, bigger consequences (like dying). Others enjoy the more mellow ride on smaller waves. So, it's like in life. Risk/reward as we've been saying. But in a lot of ways, the guys that ride those big waves, they are driven to do it. A lot of them would say it's not really a choice for them.
Scott: Sure, sure. And I'm more of a doggie paddle type of a guy. But I'll get there. I'll doggie paddle for 15 years but I will make it. You're saying some people are more prone to take deathmarch projects - it's just like an adrenaline junky. There's a bigger risk to themselves and to their career.
Rob: Yeah. Well, ok, right. Remember Alex? Listen to this, listen to his pitch here.
Alex Payne: Every time I've gone in search of a new one, I've found a slightly even crazier idea to pursue. I mean, with BankSimple it's basically, "Let's go out and fix banking." I mean, that's... it's kinda nuts when you think about it. Our creative director is fond of saying that there's something kind of punk rock about starting a bank, because it seems really fundamental. It's like a hospital or a school or... you know, something in your community that seems like this bedrock that's always been there. You know, you don't really think about somebody actually going out and starting it. So the idea of, you know, going and planting this seed yourself is weird.
Rob: So let's pretend you don't know who Alex Payne is. Would you ever in a million years leave Microsoft to work for some guy who says to you, "We're gonna reinvent banking, come along with us?"
Scott: Eh, that's... that's not really in my DNA.
Rob: Right. Well I mean I probably wouldn't either. But at the same time, I mean Alex just came from a service that, on the face of it... well it's not terribly inspiring if you think about it. And I'm talking about Twitter. I mean an SMS service for friends, really? I mean isn't that Facebook, or... I don't know, I mean do we really need that kinda thing?
Scott: No, I mean you have a point. I mean I was... I'm all about Twitter. But I was one of the people who thought it would be... well, nothing. I didn't think it'd become Twitter.
Rob: Me neither.
Scott: I was like, "Oh tiny blogging? Wow. Constrain it to the point of uselessness?" Yeah, I would bet against Twitter every time.
Rob: Right. And for all the people that we've interviewed talking about deathmarches, I have to think, well there's some percentage of people who think they're in a deathmarch, only to find out that boom. Well it's a big deal, it's Twitter.
Scott: Mmm, there's a show.
Rob: Yeah, I think you're right. Let's see, The Deathmarch That Could... I mean what would we call that?
Scott: I like one-word names, I like what we've got going here. Maybe like, The Long Shot or just Long Shot.
Rob: Yeah. Alright, you got it. Well let's come back to this week. I think we learned something here.
Scott: Ok, well we came into this initially just asking people about the worst project they've been in on. The idea was to collect stories of deathmarches. And I think we just assume that these projects just exist, and it's just a given they would never succeed. I mean deathmarches never go anywhere, that's why it's a deathmarch and not a lifemarch.
Rob: Right, and I think what's closer to the truth here is that these projects are just higher risk. I mean sometimes with ideas that are so out there that we as developers... well we can't identify, we can't see how it could possibly succeed. So we just say it's a deathmarch. The bigger the risk, the crazier the PM has to be to push the idea forward, the more we say, "This is a deathmarch."
Scott: Are you saying that there's no such thing as an actual deathmarch?
Rob: I think I am, yeah. Because, I mean every deathmarch has a chance of succeeding, no matter how small. I've seen it happen. I mean I'm sure you have too. A project you were certain wouldn't succeed, and guess what?
Scott: Twitter. Facebook. Amazon.
Rob: Yep. Groupon. Yep. A ton... GitHub. Any of the big sites out there, you never know. Maybe the project you're on right now. Now it seems utterly mind-numbing, horribly boring... I mean it could be the next Facebook.
Scott: [laughing] Ok, let's keep it real right? I've seen The Social Network. The odds against that are pretty high.
Rob: Yeah, you could be right. But hey did I ever tell you that I had an idea about a podcast? Where we talk to people, play some music, rip off NPR, This American Life... but it's for developers.
Scott: Dude, could we do it all in GarageBand, on a Mac? And then pick music that is like creative commons?
[Music begins playing in the background]
Rob: Oh yeah, let's do that.
Scott: Can we just read the sponsor list now?
Rob: Not until you admit that I have a good idea with this podcast. Come on. Come on!
Scott: Ok wait a second, what is this here in the background? Are you seriously playing Lady Gaga?
Rob: You know it.
Scott: You know I would never have been on this show if you were going to dub in Lady Gaga. I would... oh, my head, this is hurting my ears.
Rob: [with deep voice effect] Please, make it stop. Where's the volume?
[Music plays louder]
Sara Chipps: Hope you enjoyed this week's This Developer's Life. And to remind you, we couldn't do this without Twilio and Sublime SVN. They're helping us pay for things like bandwidth and production tools, so we can continue creating awesomeness for you. Please check them out at twilio.com and sublimesvn.com, if only to say thanks for supporting this podcast.
Rob: [deep voice effect] This show is starting to feel like a deathmarch...
[Music plays and fades out]