Tim Bourguignon 0:05 What is a good software developer? What do excellent developers do? There are probably as many answers to these questions as developers in the world. So let's ask veterans and newcomers what their story look like. Let's learn directly from them. Welcome to developer's journey. Hello, everyone. I'm here live in London with an callin difference between right You did? Oh, I did a plus. Okay, cool. Um, we are the SP a conference. A tiny bit gorgeous conference in London in the middle of London. weather is great. It's absolutely gorgeous. And then hold held talk today. It was fantastic. I think about what's your experience growing from a junior developer to what cannot be named? Because there's no name for that. So the middle career
Anne Cahalan 1:04 never we don't settle on a good name. At the top, unfortunately,
Tim Bourguignon 1:08 yeah, the problem being it's often referenced by what it's not. So it's not a junior anymore. And it's not yet or not a senior. But this is not really satisfying. And you are right in searching for this. I hope you will find an idea for that. And I thought there was a this this is absolutely gorgeous. It matches perfectly with devil poetry. This is exactly what we want to hear the journey, how people are progressing in their career with waste or choosing how they're growing and what makes their journey unique. So welcome.
Tim Bourguignon 1:42 Thank you. honored to be here. All right, great.
Tim Bourguignon 1:44 Um, do you want to start by explain how you came to focus here. So what led to to to you being here.
Tim Bourguignon 6:26 Cool. Um, let's recap that could in clarify, maybe, um, how does bootcamp work?
Tim Bourguignon 8:31 How do you ever phrase that? Yeah. How did you realize this, what were the symptoms or the science that that
Anne Cahalan 8:39 I would, I would look at like how much support you're going to need on a project when you come on. And my experience, especially coming out of my boot camp was that with a lot of support a lot, a lot of support. Everybody could contribute to a project and ramp up very quickly. But if you think about, you know, a junior developer who has come out of a CS degree or something like that, or who has a little deeper background, as opposed to just like a short, intense immersion, some of that knowledge is settled a little more, and they need a little bit less handling, I think people coming out of a boot camp, at least the one that I went to, and the you know, the ones that I've seen around, since are primed for something like an apprenticeship prime for something where you can give them a little more explicit education, a little more like actual, you know, maybe sitting in a classroom or maybe a, you know, a sort of guided hack project sort of thing. They're in a great place for that. And we'll come out of that in a short time ready to actually contribute to a project and you know, you can in good conscience bill a client for their time.
Tim Bourguignon 9:55 Okay. So let's define apprenticeship now. And then in relation to to this, this boot camp. Others work well how would you do work at Shoreline,
Tim Bourguignon 12:30 From push model, maybe to pull on one.
Tim Bourguignon 12:32 Yeah, exactly. Exactly.
Tim Bourguignon 12:34 Um, how does this relate studio, but when I think about apprenticeship, I think about this guild model? Yeah, apprentice, Junior, journeyman, and master? Have you met this? My feeling is that the apprentice was over. And now you're you've reached the entry level of journeymen and no, you're sufficient or professional enough to be on your own in the world and start learning on your own? Is this how it's supposed
Anne Cahalan 12:56 to work? That, that makes a lot of sense to me, that sort of maps to how I think about it. And I think about the sort of things that if you think about guilds, or craftsmen or tradesmen, a lot of what you do as an apprentice, when you're, you know, historically, an apprentice Carpenter or an apprentice blacksmith or something like that, a lot of what you're doing is very repetitious, and it's very low stakes. You think about an apprentice blacksmith, making a lot of nails. It's okay, if you screw up one or two nails with a meltdown. We're not going to have you like machining engine parts just yet. But man, if you keep up with those nails, then pretty soon you're gonna make a perfect nail. And we're gonna be like, that's great. Now try something more complicated. And that sort of maps to, to my experience coming out of the apprenticeship. The first sort of project I was put on was a lot of, you know, we need some UI stuff, we needed to make sure these labels are correct, we need to make sure the background color is all good. If you're off by three shades of blue, nothing's going to collapse, we're just going to tell you to go you know, fix the blue. And then slowly moving up to like, okay, here's this bug, we're pretty sure this is how what's causing it, investigate and come up with a solution. So it's a bug where they've already kind of got an idea what it is, you know, I'm not gonna blow anything up, I'm not gonna come up with anything too crazy, cuz they've already given me a direction, explore that come up with a solution. And then on to like, here's a simple feature, we need to add another screen to this app. Go ahead and do that. You know, again, it's a little more complex than just changing a background color. But also not going to be terribly dangerous. Until eventually you do get hit that something dangerous, where you're like, here, you know, this API call is failing. It's showing up in production. Everybody's screaming. What do you think it is? Yeah,
Tim Bourguignon 14:51 that's really interesting, really interesting, um, during your talk or what you presented your move or the final step of it. journ, your junior doctor, this is your journey. This has been kind of abrupt and being that way, which which perfectly maps for me with the idea of a journeymen? It's not, you know, everything is as my semester as mastery so well, you know everything I don't know. So now out the door and going to work, which is kind of what should I do that? Yeah, that's how I felt when you describe it. I couldn't finish it again.
Anne Cahalan 15:27 Yeah, that's and that's how it felt for me. So we had at Detroit labs we had, they announced one day that they were going to start evaluating the former apprentices, current junior developers to see if any of them had progressed as a junior developer. And they weren't really clear about what the criteria were or being evaluated against. And I was in a position where I was just the best junior developer, I could be. And I felt like I was awesome, because I was asking all the questions, and I was, you know, encouraging all of the feedback and like taking everything I could just trying to absorb as much as I could. And I kind of felt like I had gotten really good at this, you know, whatever this thing is of being junior developer, I felt like I'd gotten very good at it. And that's about the moment that they sent an email to the entire company saying, congratulations, and it's no longer a junior developer. And in my talk, I describe it as like going from the top of one mountain to the bottom of another one. And the complicating thing is a lot of the stuff you're learning as a junior developer. It's sort of the distinction between simple and easy. It's not easy. A lot of it's very hard. But it's simple in the sense that you're asking a lot of questions that have definitive answers to them. How do I do this thing? You know, what's the approach we take here? Like, how it's all a lot of how questions that you can find an answer to there's a right way to, you know, or at least a better way and a worse way to do things like change your background color. As a sort of mid career developer, this is journeyman once you're once you're out of that, now you're facing questions that don't have answers. They're judgment call questions. They're, you know, what's the best approach to take with this particular API? In, you know, to move it to these particular models? There's 1000 ways to do that. If you're super lucky, one of them's bad. Mostly, it's, all of them are kind of okay. You know, there was another talk I went to where they talked about how there were three, you know, you're faced with three options. Frequently, one of them is the one you don't want to do. One of them is the one that's going to be really complicated, and one of them is one you absolutely hate, you know, and you got to pick which three of those you're going to go with, those are the questions you get faced with, when you are no longer a junior developer. Um,
Tim Bourguignon 17:50 absolutely, that's exactly how I pictured it. But still, I wonder why you didn't change in one one night? So know what what change is, is the the the impression that something else is expected from you is a peer pressure, is it? Did people start behaving differently with you? Not?
Anne Cahalan 18:15 Not that I noticed it first. But what I started to notice was that my responsibilities, or what was expected of me on a particular project was changing. One of the things I talked about in in my talk was the feedback I got from the project I was on right after my promotion. I spent maybe a solid year after that promotion, pretending it didn't happen, looks like I'm just gonna keep being a junior developer, cuz I'm good at that. It's been working out so far. And then I went on a new project, and I was like, I'm gonna be a junior developer, it's been working out for me great. And the feedback I got towards the end of that project was that I hadn't contributed enough to the decisions that were being made, that I hadn't spoken up enough that they didn't get my voice heard when there were architecture decisions being made. And that sort of was an eye opener to me that like now, instead of as a junior developer, you're expected in those conversations to ask smart questions. And sort of absorb What's going on? How are these decisions being made, sort of take that in? And what I was expected to do now was to contribute to them to have more than just questions to have an opinion. And I was not prepared for that yet. I like to think that I took that feedback, and then started having opinions in my next project, and started being able to, and this was terrifying. The first couple of times I did that, to be able to say, you know what, I don't know if that's the best approach. Or to know that, you know, there's this meeting coming up. We're going to be making this decision at this meeting. I need to read up on what this decision is I need to think about it in terms of what if there was nobody else in this meeting, and I had to let go sit in a room and put the sticky note of like, this is what we're going to do. And actually sort of take a stand kind of, um, and that was that was really scary. And I'm still not entirely comfortable with it. I'm not sure one should ever be comfortable with that. But I've definitely not hard, it's hard for me to speak with that kind of authority. So I sort of forced myself to do it.
Tim Bourguignon 20:26 That's a good trick. If I quote you during the talk, I wrote this down, because I found it really interesting, as being a junior is all about getting better, you know, not Junior anymore is getting good at. Yeah, I find real true. You have expectations from Jr, that relative expectation. So it's gonna be better than yesterday. And yeah, it'll be better than the day before.
Anne Cahalan 20:48 Somebody, somebody in one of the participants in the the fishbowl conversation said that his expectation of junior developers is that they're going to fail, that the expectation is that they're going to fail. With I'm assuming the attendant expectation that they're going to learn from failure, fail in new and exciting ways. Tomorrow. Going from this, there's a comfort in that and being a junior developers terrifying because you always think you're going to set the project on fire, and that everybody thinks you're dumb. And that you're two seconds away from getting fired. Like that's, that's sort of the brains mindset of a junior developer at all times, or at least in my experience, it has been. But there's also sort of safety there, in that. People expect you to fail, nobody expects you to be good. That's something that I tell junior developers now, and I mean, it to be reassuring, that nobody expects you to be any good at that. And when they're coming to me frustrated, like, Oh, I don't know how to do this. And so of course, you don't have to do this, if you know how to do this, we you know, expect an entirely different set of things from you, you know, we'd be paying you on a different scale, if nothing else. There's a safety in that there's a safety in you expect me to fail. And I feel like part of the the change in perception of other people from junior developer to to mid level and beyond is, we don't ever expect you to fail. Now we expect you to be competent, we expect you doesn't mean you're never going to make a mistake, but that we expect you to be kind of good at this, like, sort of get it not fail all the time. And the mistakes that you make aren't necessarily failure mistakes.
Tim Bourguignon 22:25 The district realization change, for me to step two step four, do you ever get contact with the new juniors? Are you supposed to to to guide them through? Yeah, Adam? Did this realization change the way you were working with them?
Anne Cahalan 22:40 Yes. So at Labs is very much a culture as you can imagine, from a place that comes up with an apprenticeship in the beginning. It's very much a culture of learning and very much a culture of teaching. And my experience, there has been tremendously supportive. We have explicit mentorship programs, and also a lot of implicit mentorship when you're pairing with more senior people and things like that. And for me, the impression that I was, I don't know how the sounds but no longer appear to a junior developer, but someone who could teach them something that was really powerful. And it did a lot for my confidence. And it did a lot for I don't know, I every once in a while turn around and look at sort of like the arc of this decision to change careers and do something different. And realize I have come a certain distance I am now had like, half the time that I spent working in PR, that is now how long I have been not to doing that moving on this different direction. And that's kind of a little dizzying sometimes to think about. And that those moments of, you know, I can provide reassurance I can provide support, I can teach somebody, something I have experienced that I have lived through that is kind of a complete thing. Sort of a discrete like, I have been a junior developer, it's the thing that that happened and is over and now I'm some other thing that gives me a different perspective and the kind of advice that I can give from the you know, you're not expected to be good at this call down to you'll live through this. It'll be fine. You know, this is survivable. I got here. I'm not that great.
Tim Bourguignon 24:30 You say everything, you were pretty good and stage. Let's stick to the stage thing. How did you come to teaching witness to being able to go on stage have a really clean and neat set of slides have a really concise and, and well thought training and take a room of 30 people only like this to a position where we can do it. fishbowl discussion, open discussion with free kosher questions. Yes, was the trigger for half an hour? It was really moderated and went well. How did you get there?
Anne Cahalan 25:11 Um, that's a good question. And I'm not entirely sure I know the answer to it. Some people have a fear of public speaking I am not, I've never been really, I'm afraid of heights and spiders instead. Other people can go up on on high things I cannot.
Tim Bourguignon 25:29 I have done
Anne Cahalan 25:33 like community theater type stuff like I've acted before on stage. So this is, you know, speaking my own words is not as scary as trying to remember somebody else's an order that somebody else's relying upon. So there's that, that confidence. And then one of the things that I learned when I was doing sort of community theater type stuff was that I enjoy it. I just like it, there's something about the energy you get onstage and the energy that comes to the stage from an audience like it's, it's much more of a conversation than people realize, I enjoy going to theater, even as a spectator and being part of that conversation in a way that's kind of hard to describe. And also, I've done a fair bit of conference speaking and meetup speaking, because early on, I sort of hit on that as a way to build my confidence. I'm sort of a strong believer in that, you know, you don't know something and you can teach it to somebody else. So while I was in boot camp, coming out of boot camp, during the apprenticeship, I would take opportunities to submit that I knew something, or share an insight and feel a little less alone in the world. They're in the position that I'm that I'm in by by speaking in front of other people. I'm Uh, I'm constantly trying to advocate for people to do this, I know that public speaking is not for everyone, I know that it is terrifying. I also think you should do one scary thing every day. But I'm constantly trying to encourage others to, there's also a measure of I'd like to go to conferences, I feel very engaged and inspired when I come to a conference, everyone is like a recharge of the batteries to go do creative and interesting things. But I have noticed that there are very few people who look like me on stages at conferences, or wandering around the conferences. There's a couple acces to that I'm a woman, I'm 41 years old, so I'm older than a lot of the people who I work with. And I want to I want to sort of be an example to other people that, that look like me that have not taken the sort of, you know, I got super into math when I was in high school, and I took trigonometry. And then I, you know, got a CS degree and like, who didn't take that path, um, for a bunch of different reasons, or for people who look around the industry and don't see anyone who looks like them. So they think that the industry is not for them. That's that's important to me, is to make sure that I'm visible in that way. And that I show people that it's achievable. It's not that hard, and it's not that scary to go there and do that. And then also, I am very aware that there are people in the world who I'm very few but vocal, who don't see the lack of people who are not, you know, youngish white men as a problem. So there's also a small measure of like, in your face to those guys.
Tim Bourguignon 28:40 Do that.
Tim Bourguignon 28:43 white male in my 30s?
Tim Bourguignon 28:46 Um,
Tim Bourguignon 28:48 you didn't say it, but you were touching the the idea of a role model? Did you have a role model in this five years, last five years to look at it?
Anne Cahalan 28:57 Um, I've had a couple I've been very, very lucky in that. The first one and this is very cliche, but I'm going to say it anyway, is my mom. She was a mainframe developer. She was one. She started taking computer science and programming classes in the late 60s at the University of Michigan. And I remember, she was working on a project for the National Bank of Detroit converting their machines from punch cards to tapes, when I was a very little kid, so I remember her bringing the punch cards home for us to color up. But she's always been inspirational in that way. Where I this was, you know, I didn't think this was a thing that I could do because I didn't have the same math background that she had. But that's a that's a different issue. Once I started moving into this area, and started you know, doing online tutorials and things like that, like looking at her and being like, Man, you like programmed massive financial transactions. That's amazing. And also she's always been very supportive, vocally in anything I wanted to do. She's always been a main cheerleader. And then besides my mom, at Detroit labs, there's an amazing woman named Erica Langer and who is running our apprenticeship and training programs right now. She followed a very similar path that I did, she was working in, I believe in psychology, like, it's like, how would you feel also wasn't fulfilled. So she went and taught herself. Police, she taught herself Java, and got herself a job in at a development company in Detroit and sort of worked her way up the ladder, and has been instrumental in this sort of turning around and pulling people up behind her. And very much the sensibility of Detroit labs, training programs in Detroit labs, apprenticeship programs come from her, and from this idea that anybody can do this given sufficient time and space and nurturing to do it. And also, she's a great cheerleader of anybody. If you are ever in a moment where you are doubting yourself, and you need somebody to tell you that you're great, you can do it. Erica's always right. They're
Tim Bourguignon 31:18 pretty amazing.
Tim Bourguignon 31:19 That sounds like a great mentor.
Anne Cahalan 31:22 Yeah, she's probably the main professional mentor I've had, and I wouldn't trade it for anything.
Tim Bourguignon 31:30 I've given the chance to go to replicate this with the next generation 60 radio, the fifth generation cohort, your apprenticeship or maybe the fourth or the third.
Anne Cahalan 31:40 I certainly try. I Detroit labs has a program. We're committed to being a flat organization with very little sort of formal leadership, but in structure and hierarchy in the traditional sense. So we launched recently, a program of guides where you are, like, every, every employee has a guide, then there's a cohort of guides, there's the people you turn to you for career advice, or for, you know, problem resolution, or you know, any number of things, all of the things that you would go to a really good manager for, except for the part where we're the boss of you, because we're not. And I am. There are some amazing people that I am guiding who are incredible and smart and are, you know, the ones that are not more senior than me already are going to be any minute now. And I spend a lot of time thinking about the people who have mentored me and like, what would they do? what's, what would Erica say in this minute, what would my mom say right now. And luckily, the vote still around, so I can ask them, but, but I very much try and follow the model and think about how I could not have gotten where I'm at now, if I didn't have a lot of support and encouragement, and to make sure that that's available to the people that I've sort of formally, mentoring in that way you're guiding in that way, and also informally as much as possible. One of my best friends right now is somebody who our friendship started. She was in the cohort after me in the apprenticeship. And out of the blue, she texted me one day having sort of a panic attack about how hard everything was and how you know, and I have no idea why we're friends, because my response was yet super hard. You're doing a hard thing. You should be kind of freaking out about it. I mean, don't you're doing fine. But yeah, it's understandable. This is really hard. I'm, she said that was great and supportive. I look back at it now. And I think I was a jerk move. Just tell her she's doing great. What's wrong with you?
Tim Bourguignon 33:37 You Yeah, but I think it's a that's, that's exactly the career advices and the the support that's needed in such such a moment. And the thing that just not only a mentor can do, I've had similar discussions with my mentees, where they say, well, you were there at the right moment to say the right thing. And this was not what a friend would have said, not the the kind of comforting, reassuring comment that we expected from a supportive person. It was instead the whole truth, but in a nice way that was helpful. And so I'm not totally surprised by that. That's not that's that's what I've seen work. So
Tim Bourguignon 34:17 since
Tim Bourguignon 34:18 I'm kicking myself for that one, yeah. Don't don't feel like we
Tim Bourguignon 34:20 can tell you something shoulder sounds great. Sounds great. Um, it may be up early us this question, but he's learned something from you the feedback of your talk on discussion. Are you taking something with you by the MIDI notes? I think Yeah. 12 posts. Oh, yeah.
Anne Cahalan 34:39 Um, yeah, there were a couple of things to really concrete ones. I think one of them came from you actually was to keep a log of sort of the successes that you have and to set aside time, every week to do that. I already kind of do that when something big happens, but the idea of celebrating Every week you accomplished something you did something you should be proud of. That I'm definitely going to like that's going to be a calendar entry. Because I do think we, if we do mark that stuff, as it happens, it tends to be the big things and not the little stuff. And I'm a firm believer that the sort of life and universe is made up of a bunch of little things. So you should pay attention to those. Then the other one, which I am going to start as soon as I get home is the woman who said that her office or her women in tech support group was one of the other has a channel in their, their slack or HipChat or whatever. For Friday, bragging, about like a chance to sort of turn that that little successes each week into something that the community can celebrate the whole company or everybody. I think that's the sort of thing that not to not just have a look at the cool stuff I did, I have this little private log of it, but to publicize that a little so that the small successes get seen by everybody else, and also get applauded by everybody else. And yeah, there's a power in having people say you did a great job. Whether it's a small thing or a big thing. Yeah. I think the tech industry gets a little competitive and weird. You know, all it's toxic in a bunch of different ways. And one of the ways to stop that is to, within your own small little bit of it, remind each other that you're doing something cool, and sort of lift each other up as much as you can. Maybe two that I picked
Tim Bourguignon 36:31 up that one as well. Yeah. Really to, to to implement. That's really cool. That sounds like two great ideas, because one of them. But this Friday, bragging as well, yeah, I'm cool. Talking to you, I think we have a we have a wrap up point, where can the listeners fun? Or
Anne Cahalan 36:56 you can find me I am north of normal on just about everything. So I'm north of normal on Twitter, and I'm on GitHub, and you can email me at North of normal at gmail, working on getting a website, but it'll get there someday.
Tim Bourguignon 37:12 Is there a story behind that,
Anne Cahalan 37:14 um, you know, when I first got my Gmail address, I was trying to come up with something clever, and I was trying to come up with something that would be a good blog title. And this was well, before I was thinking about the tech industry at all. And I was trying to think about where I was in life, and what about my personality, I would want to highlight. And I'd like to think that I am a little bit north of normal myself a little bit, you know, it's within sight, but I'm not quite there. So that's sort of how I how I envision that.
Tim Bourguignon 37:49 Cool, very, very cool, great. Um, so I encourage people to get in touch with you. If they had some more questions, or I don't see different links to the shownotes where you can find links and hope to hope be talking to you again, in a few years when when you're further in the career and they can be another I know, you can look back at this and say, Well,
Tim Bourguignon 38:13 how very wrong I was.
Tim Bourguignon 38:17 When you say, wow, I was I was somehow.
Tim Bourguignon 38:21 Cool. I thank you very much. This is great. It's great talking to
Tim Bourguignon 38:28 you, listener. If you haven't subscribed yet, you can find this podcast on iTunes, Stitcher, Google music and much more. If you like what we do, please help your fellow developers discover the podcast by writing it and writing a comment on those platforms. Thanks again. Two weeks