We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

You graduated from bootcamp, now what?

00:00

Formal Metadata

Title
You graduated from bootcamp, now what?
Title of Series
Number of Parts
67
Author
License
CC Attribution - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language
Producer
Production PlaceCincinnati

Content Metadata

Subject Area
Genre
Abstract
Throughout bootcamp, your biggest worry was finding a job. Now that you’ve found one and you’ve started your career as a developer, what comes next? In this talk, we’ll explore what the career of a bootcamp graduate looks like a few years after the program. We’ll talk about the good and not-so-good parts of being a newly-minted developer. We’ll come away with actionable steps we can take to continue to grow as developers post-bootcamp and be happy and successful, even when we don’t have the mythical perfect job.
14
Thumbnail
44:49
34
Thumbnail
46:50
58
TwitterBootingScheduling (computing)Slide ruleLocal ringComputer animationEngineering drawing
Moment of inertiaRight angleMultiplication signTwitterComputer animation
BitBootingGradientMultiplication signLine (geometry)Process (computing)Computer animation
BitVideo gameBootingPhysical lawProcess (computing)Position operatorComputer programmingQuicksort
Concordance (publishing)TelecommunicationConcordance (publishing)Scripting languageSoftwareMixed realityFormal languageComputer animation
Order (biology)Process (computing)Computer programmingRuby on RailsBootingComputer animation
Local GroupMoment of inertiaGroup actionCartesian coordinate systemQuicksortService (economics)Line (geometry)BootingMobile appDifferenz <Mathematik>Process (computing)CodeSoftware bugDebuggerDependent and independent variablesTask (computing)Computer animation
Cartesian coordinate systemMilitary baseSocial engineering (security)UsabilityCodeSelf-organizationEmailDirection (geometry)Scaling (geometry)Computer animation
WebsiteSocial engineering (security)Software developerComputer animationLecture/Conference
Social engineering (security)Touch typingMereologyProcess (computing)Office suiteComputer animation
Data structureFeedbackStability theoryEntire functionComputer programmingConstructor (object-oriented programming)Stress (mechanics)CodeProduct (business)Moment (mathematics)Software developerHuman migrationFeedbackOnline helpData managementMultiplication signBitData structureStability theory1 (number)Computer animation
Set (mathematics)Process (computing)Moment (mathematics)Multiplication signData miningService (economics)Different (Kate Ryan album)MereologyCodeVideo game consoleMathematicsBitCartesian coordinate systemTouch typingProduct (business)Computer animation
Information technology consultingTouch typingMultiplication signProjective planeProcess (computing)Code
Computer wormCodeProcess (computing)Information technology consultingDifferent (Kate Ryan album)Film editingSet (mathematics)Open sourceReading (process)Software developerSource codeTerm (mathematics)Commitment schemePerspective (visual)Computer programmingExpected valueOrder (biology)DivisorProjective planeBitPosition operatorQuicksortMultiplication signMilitary baseBlogComputer animation
Software developerSoftware frameworkMobile appProduct (business)MereologyCodeSoftware frameworkMultiplication signCartesian coordinate systemMilitary baseSoftware developerType theoryGroup actionComputer animation
CodeElectronic mailing listBitTerm (mathematics)Open sourceSoftwareData managementPressureTwitterRow (database)FeedbackClient (computing)Differenz <Mathematik>Software developerCode1 (number)Projective planeVotingLine (geometry)Different (Kate Ryan album)Computer animation
PressureInformation overloadSoftware developerCodeMultiplication signAdditionMobile appStress (mechanics)BitSoftware frameworkInformation overloadSoftware bugReading (process)Information technology consultingClient (computing)Context awarenessComputer animation
Group actionOnline helpMultiplication signRobotBit1 (number)Confidence intervalVotingComputer animation
Projective planeBit rateTwitterProduct (business)Information technology consulting
BuildingTwitterBitMultiplication signComputer programmingData managementProduct (business)Computer animation
Row (database)Server (computing)Process (computing)Multiplication signService (economics)Projective planeRepresentation (politics)EmailPoint (geometry)BitPapierloses BüroDesign by contractTuring testClient (computing)Computer programmingPhysical systemOperator (mathematics)Dependent and independent variablesSet (mathematics)Coordinate systemProduct (business)SpacetimeComputer animation
Software developerGradientMultiplication signProcess (computing)Computer programmingBootingPlanningOffice suiteDifferent (Kate Ryan album)Programmer (hardware)Remote procedure callRandom matrixComputer animation
MereologyoutputProcess (computing)ExistenceMereologyMultiplication signClosed setOcean currentPerfect groupLevel (video gaming)Computer animation
Row (database)Coma BerenicesXML
Transcript: English(auto-generated)
My name is Melanie Gilman, and I'm giving a talk entitled You Graduated, Now What?
And I think actually on the schedule it says you graduated from boot camp, now what? But that didn't quite fit on my slide, so I left it out. But before I actually get started, I just want to show you this tweet. So I gave this talk a couple of weeks ago at the local Austin Rails meetup, and
I tweeted that it was almost time for my talk. And this is my grandma, who responded to me. And so I tweeted that this talk was happening, and I was really hoping that she would respond to that one too, and I'd be able to show you a fresh tweet from my grandmother.
But alas, all I have is this one from two weeks ago. But anyway, my grandma's on Twitter, and I know she's cheering me on right now. So that's my incentive for this talk. So anyway, I will get actually started now.
You graduated, now what? Why am I giving this talk? So I am myself a boot camp graduate, but I graduated from boot camp over four years ago in 2012. And so I thought that as someone who has one of the longest post-boot camp careers out there, that I might have something to offer more recent boot camp
grads about what your career looks like a little bit farther down the line. And once you're past your very first job out of boot camp. So I'm gonna spend a lot of time talking about myself. I hope it's not too boring. I hope that there is something to be gained from my experience.
So yeah, without further ado, let's get started. So before I, I mean, okay, sorry. So before I started boot camp, I was working at a law firm.
And I was a little bit lost because I joined this law firm thinking that I wanted to be a lawyer, but then I realized that everyone I worked with was miserable and hated their lives, and I didn't want anything to do with it. But I had no idea what I wanted to do instead. And I had this idea that I might be interested in tech, but
I had never done any sort of programming or anything relating to that. And so I ended up switching jobs at the law firm from being a paralegal to a position called litigation support, where my life was basically dealing with this software called Lexis Concordance. And so what litigation support is, is basically managing the evidence,
electronic evidence in litigations. And so I was basically like importing documents into the software, exporting it out, like manipulating things. And I was doing a lot of stuff manually that I knew could be automated in some way. And so the software allowed the use of some scripts that would automate some
of those things that I was spending hours doing manually. And so I looked it up. I looked up the documentation and it said this is a proprietary language. It's a mix of C and C++. And I was like, I don't know what that is, but I'm gonna learn. And so I signed up for a course, a continuing education course in C.
And I fell in love with it, which is kind of unbelievable to me now, having done Ruby for four and a half years. But it's true. And so I took this course in C. And then it was only actually just a week or
two after I finished the course that I heard about Hungry Academy. So Hungry Academy was a program that was run at Living Social. It started in March of 2012, where 24 of us were actually hired by Living Social to be trained in Ruby on Rails for
five months in order to join the engineering team at Living Social. So I'm not gonna go into a lot of detail on the actual boot camp, because I imagine a lot of you have been through that. I will just go so far as to quote my friend who was in the program with me, who said, it's the most fun I never wanna have again.
And yeah, and I will move on. So from Hungry Academy, I got a job at Living Social, which is no longer Living Social. My gosh, it's weird that I did that. Sorry, it's not Living Social anymore. It's Groupon, which is its biggest competitor.
So that's just a funny thing that's happened in the last couple of weeks since I first gave this talk. So I joined the team. I joined the internal tools team. And the application that I was working on was for customer service.
And the app was a Rails app with a backbone front end. I had never done any JavaScript before. So it was an interesting learning experience for me, sort of trial by fire. I started out doing really very tiny tasks, fixing little bugs, like one line diffs.
And eventually worked my way up to working on bigger features and having more responsibilities. But it definitely took me at least six months to start to feel comfortable and productive in that code base. So it's really the transition from boot camp to real job is definitely a difficult one, but I did it and you all can do it.
So some of the really good things about working at Living Social. It was a really big and really talented team. I think at the peak, there were about 120 engineers on the Living Social engineering team.
So there was a really, really diverse talent. Ernie Miller, who's talking probably right next door to here somewhere, over in that direction, was one of my teammates. And Evan Phoenix, who's one of the organizers of this conference, was one of my teammates. A lot of really smart people, if you got to work with them, you could learn a lot from them.
And there were a lot of interesting problems to solve. We were working at a pretty big scale, a lot of requests per minute. And we were working on making legacy code bases usable and performant.
We were working on sending millions of emails a day. We were building new applications to support new business ideas that came up from higher up in the company. There was something for everyone to work on. So that was a really great opportunity. So one of the things that I witnessed as a brand new developer at Living Social was,
we ran a deal which ended up being actually in the Guinness Book of World Records for the biggest daily deal ever, where we sold one and a half million vouchers for Starbucks. So you spend $5, you get $10 at Starbucks. And so I didn't have a lot to do with this deal myself.
But just watching the team work and just sitting at my desk and watching campfire and seeing how all of these really talented engineers were keeping the site up when they were getting all these requests and making all these sales all at once was a really valuable experience. It definitely set a very positive tone for
my entire experience on the Living Social engineering team. So another aspect of working at Living Social was the camaraderie. So I mentioned that there were 24 of us in Hungry Academy and we all got jobs on the Living Social engineering team. And so it was great because the 24 of us all worked together.
We didn't necessarily all work on the same team or in the same office. But we kept in touch and we had that shared experience. And even now today, we still keep in touch and help each other. So that was a really great part of my experience there. So not everything was perfect at Living Social.
So there were some aspects of structure and support that we felt like could have been a little bit better at Living Social. Our instructors from the program stuck around for a few months after the program ended.
But after they left, we felt like we maybe didn't have the support and help that we needed. This is not entirely Living Social's fault. They were the first company to hire so many junior developers all at once. It was a pretty big percentage of their entire engineering team. And I think they didn't realize exactly how much work
it was gonna be to support all 24 of us. Another thing that was missing for me was feedback and constructive criticism. We didn't have any, at least I didn't have a lot of code reviews. I didn't have one on ones with my manager. And it's really hard to improve and get better if you don't have feedback.
A lot of the time, I was pushing code straight to production without anyone else looking at it. And obviously, that doesn't go very well for junior developers. So there are a lot of pretty tense moments and stressful, stressful moments.
Also, team stability was pretty difficult for us. Shortly after I joined the engineering team at Living Social, there was kind of a mass exodus of developers, where a lot of people left all at once. There was a lot of reshuffling of teams, and I had formed relationships with my teammates, and then all of a sudden, the team was different. And it's really difficult to get your bearings when the people you're working
with are changing all the time. So there were a few things that I did to try to make the experience that I was having a little bit better. One thing I did was I found something new to work on. So an example of this was as someone on the customer service team,
there were a lot of things that I did that required actually like SSHing into a production console and manipulating data for customers and for other employees in the company. And so I decided that that was silly. It was sort of like my old job. Why am I doing this thing manually when I could automate it?
And so I ended up taking some initiative and building out an application that took care of the stuff that I was spending a lot of my time just doing manually. And it was a really good experience for me because I actually felt like what I was doing was important, and I was motivated to work on it because I was the only one working on it.
And I was motivated to make it good because that was my thing that I was, yeah, it was like my little baby. And so that was really good motivation for me when I was starting to feel like the other stuff I was working on was getting a little bit tedious. I also was fortunate that the team at LivingSocial was so big because I was
able to, when I was starting to get a little bit not as into what I was working on, I was able to change teams and work on a different set of problems with a different set of engineers. So another thing is I kept learning from my mistakes.
As I said, I was, you know, pushing straight to production. I pushed a lot of bad code. It was not uncommon for someone to, you know, ping me a moment after a deploy and tell me that everything's broken. But to my credit, I never made the same mistake twice. And so learning from those mistakes was a really actually positive part of my experience at LivingSocial.
So another thing is that I was lucky enough to have a mentor who actually had been a coworker of mine at LivingSocial, but he had left by the time I was getting ready to leave. And so it was so valuable to have a mentor who was outside of the company who could offer me career advice that was a little bit more objective.
It's not awkward to say that you're unhappy with your job. And he was actually able to put me in touch with someone at the next company I worked at and actually facilitate me getting a new job. So ultimately, I ended up leaving LivingSocial because I felt like I was stagnating.
I had worked on the same project and the same code base for almost the entire time I was there. So I had this idea that I wanted to work at a consultancy for my next job. And so my mentor was able to put me in touch with someone at Thoughtbot, and I ended up getting a job there.
And so the reason that I decided that I wanted to work at a consultancy next was I wanted exposure to a lot of different projects. Being still a relatively new developer who had only actually seen one code base, there was a lot of appeal to me in being able to sort of go from project to project and see how a lot of different things were done and a lot of different problems were
solved. And I was also really attracted to the culture and values that Thoughtbot is famous for, their open source work, their commitment to clean, well factored code and TDD and the blog, which is always the first hit when I Google anything about programming.
And so I ended up joining Thoughtbot as an apprentice. I realized that sometimes you need to take a step back in order to move forward. So I'm aware that not everyone is in a financial position to take a low salary or a pay cut. I think that as an apprentice, I made $500 a week.
So it was definitely a step down from what I had been making at LivingSocial. But in the long run, the best paying job isn't always the best one for your career in the long term. Ultimately, higher pay often means that the expectations for you are higher. And so as an apprentice, you have the freedom and the flexibility to take things a little bit slower, to spend some time reading documentation and reading source
code and fully understand what you're doing. So for me, starting as an apprentice was a great experience and it was immediately fulfilling my desires for what I wanted in my next job. I had three different mentors in the first three months that I worked there. I was immediately exposed to three different code bases, a whole set of
different problems and perspectives on programming. So some of the good parts of my time at Thoughtbot, I was there for two and a half years, was exposure. So some of the things that I got to do, I worked on Greenfield apps.
It's pretty rare to actually type Rails new for a production application. I got to do that a few times. That's pretty cool. I've worked in some legacy code bases. I've seen some things. They're scary. They've scarred me. I can give you examples later if you're interested.
I've worked on Rails upgrades. I took a couple of apps from Rails 3 to 4.2 over the course of a few weeks all by myself and it was definitely frustrating at times but ultimately so satisfying when you saw the build finally go green again.
And worked on some developer tools. I spent a couple of months working on Code Climate. So it was really fun to actually work on a tool that I used myself and to actually go to the website and see it in action. And I saw some bespoke JavaScript frameworks where, you know,
frameworks that were written by employees of the company that I was consulting with, which is, you know, as if there aren't enough JavaScript frameworks in the world. They needed their own. So that was fun. So Thoughtbot has investment days. They do client work Monday to Thursday and then Fridays are reserved
for doing kind of anything that you want within reason. And so that was great for me. I got to explore different technologies. I learned a little bit of Haskell. I worked on open source. I paired with Sean a little bit on ActiveRecord, which was pretty scary but also pretty cool to see your name on the Rails commit list.
And it was really helpful for me in terms of figuring out the things that I really like to do. So it was great to have that experience. Personal growth, I was lucky that Thoughtbot gave me the opportunity to go to conferences and give talks and just build a network in the community.
That has been immensely helpful for me. There is also the aspect of mentorship and one-on-ones. I didn't actually have an official mentor at Thoughtbot but I did have regular one-on-ones with my manager who helped me figure out what I liked and didn't like
and could support me when things weren't going as well as I would have liked on a project. And code reviews. So Thoughtbot has a really strong code review culture where you basically never put anything on to master without someone else having eyes on it. So this is a real tweet from just over a month after I started at Thoughtbot.
In the end, the 26 comments actually probably went up a fair amount on that 75 line diff and it's so useful when you write code to get actual feedback and other opinions on ways to do things differently. Even if you don't actually take that advice just to consider other ways of
doing things is like one of the best ways that you can grow as a developer. So some of the harder things about working at Thoughtbot, the pressure of consulting is real. You're aware that clients are paying for your time and it makes you feel like you aren't working quickly or efficiently enough and you can't spend time doing the
things that you would really like to do that I actually got to do as an apprentice. You can't spend time exploring code or reading documentation and then you feel extra bad when you introduce a bug and you have to spend time fixing it. So that can add a lot of stress. Ramp up time, you have to be able to get into a new code base and start being
productive in it very quickly and it turns out that the more senior you are, the more you're expected to be able to solve a given problem and ramp up quickly regardless of how familiar you are with the technologies. And so that can be pretty hard when you're still a pretty junior developer. And for me, information overload was a pretty big problem.
In addition to bespoke JavaScript frameworks, in the last six months that I was at Thoughtbot, I worked on an Ember app, a React app, a vanilla JavaScript app, and the bespoke JavaScript framework app. And so I learned all of those things a little bit and none of them will.
And so I think that for more junior developers and probably for anyone, it's very helpful to be able to focus on one or two technologies rather than jumping from one to the other in quick succession. So some of the things that I did to improve the time I was having
at Thoughtbot was I was always asking for help. When you're feeling overwhelmed, you need to ask for help. There's no shame in asking questions, but the longer you wait to ask, the more awkward it's going to be. So just get over it. I know, I know, I know, it's sometimes really hard and it's really embarrassing,
but no one's judging you for it. So also remember that you're there for a reason. This company has hired you and they've given you a vote of confidence and you are capable of doing what's being asked of you. No one knows everything and you're as capable as your more senior teammates
to figure things out. It might take you a little bit more time. You might need to ask a few more questions, but you can do it. So ultimately, I ended up leaving Thoughtbot because the rate of, my rate of learning has started to slow down and
I wasn't as interested in jumping from project to project anymore. I missed the aspect of product ownership and actually caring about the product that I was working on. And I also, after two and a half years of consulting, had a much better idea of the things that I liked or didn't like. And so just a few months ago, I saw this tweet.
This tweet is actually from my new manager, Nick, who's sitting here. So he was looking to build out his team in Austin and Denver. And this was right around the time that I was starting to think about leaving Thoughtbot. And so I was lucky enough to have met Nick a couple of times at conferences. And so I reached out to him and we had lunch and
I ended up joining him and his team at MOVE Health. And so some of the reasons that MOVE was appealing to me were I was interested in working in healthcare technology. I have had a little bit of exposure to it and
I knew that it would be really an interesting challenge to work on modern technology in an industry where the technology is often kind of backwards. And I know that Nick was going to be building a really strong team, that there were gonna be opportunities for pair programming and the product and the company are all very interesting to me.
But I wouldn't have known that that was what I actually wanted to do without having the previous experience that I had at Thoughtbot. So anyway, enough about me. I've been talking about myself for a pretty long while already. I thought that I would highlight the experiences of a few of my fellow
Hungry Academy graduates who have gone down slightly different paths than me. So I'm gonna start with Mary, who's actually sitting here in the front row. So Mary was an employee of Living Social before Hungry Academy. She actually worked on the customer service team and
then after Hungry Academy joined the same team as I did, working on the tool that the customer service representatives were using. So during Hungry Academy, Mary quickly realized that she really liked the kind of ops and very technical aspects of programming. She ended up building her own email server and then eventually,
after working on the customer service team for a bit, worked on the email team at Living Social. From Living Social, she ended up going to Paperless Post. She wanted to work on a smaller team with more responsibility. She wanted to work on a new set of problems and a different product, but she was still really interested in email and Paperless Post's business is
sending emails. So in the end, Mary actually left Paperless Post a few months ago. She ended up working on their payments system instead of email, which she acknowledges is very important, but it wasn't what she wanted to be focusing on. She felt like she had stopped growing and
she didn't have the mentorship that she needed to be successful. During this low point in her career at Paperless Post, she got involved with mentorship at the Turing School in Denver, which reignited her enthusiasm for programming. She wanted to provide the mentorship experience that she had received at Living Social that had been so integral to her growth and success.
So she got so involved in the end that she ended up taking a part-time job as the mentorship coordinator there, which she's still doing. A couple of years ago, Mary met a HashiCorp engineer at a conference and learned about what they were doing in the DevOps space. And she knew that she wanted to work there someday, but she knew that she wasn't ready. At that point, she made it a goal to get to that point.
And one and a half years later, she got a job working there. So another one of my Hungry Academy friends is Andy. So Andy also, like Mary, worked at Living Social before Hungry Academy. And he spent about two years on the engineering team until he decided to leave and pursue independent contracting.
So he loves independent contracting. He loves being able to work his own hours and to choose the projects and clients that he supports, and to have the flexibility to work on side projects and learn new skills, but there are also some downsides to it. It's hard to collaborate with other people and
you need to actually dedicate time to independent learning so that you can then justify billing your clients to work on things that you might not be very familiar with. And so finally is Jonan, who actually gave a talk here yesterday. So Jonan moved from Portland to Washington DC for Hungry Academy.
And then shortly after the program ended, he moved back to Portland. He felt like he wasn't getting the mentorship and support he needed, especially because he was working remote. And so he ended up joining New Relic, which had an office in Portland and also had a dedicated mentorship plan.
He wanted to work on developer tools because he felt like he could understand the user being a programmer himself. And he also wanted to learn metaprogramming and improve his technical skills. So while he was at New Relic, he was interested in moving from an engineering role to developer advocacy, but when that actually didn't end up working out,
he changed jobs to work at Heroku as an engineer. And then just a short time after joining Heroku, became a developer advocate there. So just a few different career paths of bootcamp grads. I guess we've all had three or more jobs already in four and a half years,
but I guess that's the way this industry goes. So now what? So just a few closing thoughts. My experience tells me that there is no perfect job. What you really need to do is figure out what's most important to you and find a job that matches your highest priority.
So you're not gonna find a job that is perfect in every single way. It just doesn't exist. Another thing is that my perfect job is not your perfect job. The perfect job looks different for everyone and it changes for you over time. What I needed two and a half years ago is not what I need today.
And finally that every job has its good parts. There's a lot of value in doing things that you don't like because that helps you figure out what you do like. And so if you find yourself in a job that you don't think is great, stick with it to try to get everything you can out of it. Don't rush to get a job if your current job isn't perfect. There's something to learn in every job.
And thank you, I just wanted to give a couple of thanks. First to my Hungry Academy friends who gave me some input on this talk and told me their stories. And thank you so much to Living Social, Thoughtbot, and Move Health for giving me the opportunities that have brought me here to the stage today. Thanks.