Developer Experience

You graduated from bootcamp, now what?

You graduated from bootcamp, now what?

by Melanie Gilman

In the talk "You Graduated from Bootcamp, Now What?" presented by Melanie Gilman at RubyConf 2016, the speaker reflects on her personal journey as a bootcamp graduate and shares insights on the next steps in a developer's career after leaving bootcamp. The presentation addresses the challenges and opportunities that new developers face, as well as actionable strategies to continue growing in their careers.

Key Points:

  • Career Transition: Gilman discusses her initial struggles in finding her path after graduating from law school, which ultimately led her to enroll in a coding bootcamp, Hungry Academy, where she trained in Ruby on Rails.
  • First Job Experience: After graduating from the bootcamp, she secured a position at LivingSocial, where she faced initial challenges transitioning from bootcamp to a formal work environment. She highlights that it took around six months for her to feel comfortable and productive in her role.
  • Support System: While working at LivingSocial, she enjoyed being part of a large engineering team with diverse talents but noted the challenges of support and feedback during her early days. She lacked regular code reviews, which impacted her development process.
  • Learning from Mistakes: Gilman emphasizes the importance of learning from errors and experiencing failures as a necessary part of growth, which she practiced during her time at LivingSocial.
  • Mentorship: Gilman credits a mentor who helped her navigate her career post-LivingSocial by connecting her with job opportunities at Thoughtbot, where she pursued a consultancy role and explored clean coding practices.
  • Career Progression: At Thoughtbot, she gained significant experience across various projects, benefitting from a strong mentorship culture and learning opportunities. However, she eventually left when she found her learning plateauing and sought deeper product ownership.
  • Personal Reflection: The talk concludes with reflections on the various career trajectories of her fellow bootcamp graduates. It emphasizes that no job is perfect, and it's essential for individuals to identify their priorities and seek roles aligning with those values as their careers progress.

Conclusions/Takeaways:

  • Every job has its pros and cons; finding fulfillment involves understanding what matters to you as a developer.
  • Continuous learning is vital post-bootcamp to adapt and thrive in different roles.
  • Engaging with mentors and seeking feedback can significantly influence career growth.
00:00:15.180 Hi, my name is Melanie Gilman, and I'm giving a talk entitled 'You Graduated from Bootcamp, Now What?' On the schedule, it says 'You Graduated from Bootcamp, Now What?', but that didn't quite fit on my slide, so I left it out. Before I actually get started, I want to share this tweet. 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. This is a response from my grandma. I tweeted that this talk was happening, and I was really hoping she would respond to that one too so I could show you a fresh tweet from her. But alas, all I have is this one from two weeks ago. Anyway, my grandma is on Twitter, and she is cheering me on right now, which serves as my incentive for this talk. So, on to the main topic.
00:01:10.869 You graduated—now what? Why am I giving this talk? I am a bootcamp graduate myself; I graduated from bootcamp over four years ago, in 2012. I thought that as someone who has one of the longest post-bootcamp careers out there, I might have something to offer more recent bootcamp grads about what your career looks like a little bit farther down the line once you are past your very first job out of bootcamp. I'm going to spend a lot of time talking about myself; I hope it's not too boring, and I hope that there is something to be gained from my experience. So, without further ado, let’s get started.
00:02:14.640 Before I started bootcamp, I was working at a law firm and felt a little lost. 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. I didn't want anything to do with that, but I had no idea what I wanted to do instead. I had this idea that I might be interested in tech, but I had never done any programming or anything related to that. I ended up switching jobs at the law firm, moving from being a paralegal to a position called litigation support. In this role, my life primarily involved managing electronic evidence in litigation, using a software called LexisNexis Concordance.
00:03:07.650 In litigation support, I was basically importing documents into the software and manipulating data that I knew could be automated. The software allowed for some scripting, and I started looking up documentation, which mentioned it used a proprietary language, a mix of C and C++. I didn't know what that was, so I decided to learn it. I signed up for a continuing education course in C, and to my surprise, I fell in love with it. This is especially surprising to me now, having done Ruby for four and a half years, but it's true. After taking the course in C, just a week or two later, I heard about Hungry Academy, a program run at LivingSocial.
00:04:05.820 Hungry Academy started in March 2012, and 24 of us were hired by LivingSocial to be trained in Ruby on Rails for five months so we could join their engineering team. I won't go into much detail about the specific bootcamp experience because many of you might have gone through something similar. However, I will quote my friend from the program who said, "It's the most fun I never want to have again." After completing Hungry Academy, I got a job at LivingSocial.
00:05:01.620 LivingSocial is no longer LivingSocial but has rebranded to Groupon, which is its biggest competitor. I joined the internal tools team, working on an application for customer service. The app was a Rails app with a Backbone front end, and I had never done any JavaScript before, which made it quite the learning experience for me.
00:05:21.180 Initially, I started with very small tasks, fixing minor bugs and gradually worked my way up to larger features and responsibilities. It took me about six months before I started feeling comfortable and productive in the codebase. The transition from bootcamp to a real job is definitely a challenging one, but I managed to do it, and you all can too.
00:06:43.919 Some of the really good things about working at LivingSocial included being part of a large and talented team. At its peak, there were about 120 engineers on the LivingSocial engineering team, which provided a diverse range of talents and opportunities to learn from my colleagues. I had the chance to work alongside incredibly smart people and tackle interesting problems. For instance, we had to handle a high volume of requests per minute and maintain legacy codebases at scale.
00:07:14.970 One of the memorable experiences as a brand-new developer at LivingSocial was when we ran a deal that ended up being in the Guinness Book of World Records. We sold one and a half million vouchers for Starbucks, where customers could spend five dollars to get ten dollars worth at Starbucks. While I didn't play a significant role in this particular deal, it was inspiring to watch my teammates keep the site operational as they managed the influx of requests during the event.
00:07:42.310 Another aspect I appreciated was the camaraderie among the 24 of us who graduated from Hungry Academy. Many of us ended up working on the LivingSocial engineering team, which facilitated a strong connection with shared experiences. This bond continues even today as we maintain contact and support each other in our careers.
00:08:24.840 However, it wasn’t all perfect at LivingSocial. We felt that aspects of the structure and support could be improved. Our instructors from the bootcamp were present for a few months after the program ended, but once they left, we felt a lack of support. This was not entirely LivingSocial's fault as they were the first company to hire so many junior developers all at once, and I think they didn't fully realize the work it would take to support all 24 of us.
00:09:06.030 Another challenge I faced was the need for feedback and constructive criticism. Personally, I didn't receive many code reviews or have regular one-on-ones with my manager. It was difficult to improve without this feedback, especially since I often pushed code straight to production without anyone else reviewing it. This environment created some tense moments for a junior developer like myself.
00:10:00.370 Team stability also posed a challenge. Shortly after I joined the engineering team, there was a mass exodus of developers. Since many people left simultaneously, there was considerable reshuffling of teams. I'd formed relationships with my teammates, and having to adjust constantly was disorienting. To improve my experience, I took initiatives like finding new projects to work on.
00:10:57.840 For example, in my customer service role, I often needed to SSH into a production console to manipulate data for customers. I realized it was a silly manual task, reminiscent of my old job, and decided to automate it. By building an application to handle those tasks, I found a sense of motivation and purpose. It became my project—my little baby. Additionally, the large team size offered me opportunities to switch teams and explore different problems, which kept my work interesting.
00:12:10.190 Another critical experience was learning from my mistakes. I had moments where improper code led to breaking changes right after deployments, but I never made the same mistake twice. This cycle of learning from my errors turned out to be a positive aspect of my time at LivingSocial.
00:12:29.950 I was also fortunate to have a mentor who had previously been a co-worker at LivingSocial but was no longer with the company when I was preparing to leave. This mentorship provided me with valuable career advice, as well as a more objective perspective. He helped facilitate my next job through connections at Thoughtbot.
00:13:22.980 Ultimately, I left LivingSocial because I felt stagnant in my career. I had worked on the same project and codebase for most of my tenure there. I wanted to experience new challenges, so my mentor connected me with someone at Thoughtbot. I sought a consultancy role to gain exposure to different projects as a newer developer.
00:14:15.540 I was drawn to Thoughtbot's commitment to clean, well-factored code, TDD, and their famous open source work. So, I joined Thoughtbot as an apprentice. I recognized that sometimes, taking a step back is necessary to move forward. I know not everyone can afford a pay cut, and my salary decreased significantly as an apprentice.
00:14:56.050 In the long run, the highest-paying job is not always the best for your career. As an apprentice, the lower expectations allowed me the flexibility to read documentation, explore new technologies, and fully understand my work. My apprenticeship at Thoughtbot was fulfilling, and I had three different mentors during my first three months, which exposed me to various codebases and approaches to programming.
00:16:09.600 During my two and a half years at Thoughtbot, I worked on several greenfield apps, which is a rarity. I also tackled legacy codebases and dealt with frustrating yet fulfilling upgrades. I improved developer tools, including working on Code Climate, which I found enjoyable because I used it myself. Additionally, I got to explore different technologies and participate in open source projects, further advancing my skills.
00:17:01.570 Thoughtbot has investment days every Friday where we could focus on any passion projects or learning endeavors. I took advantage to delve into Haskell and contribute to Rails. These learning experiences helped me figure out what I truly enjoyed and what I wanted to explore further.
00:17:49.400 One advantage of working at Thoughtbot was the mentorship culture, where regular one-on-ones with my manager helped me clarify my interests and address any project-related challenges. Thoughtbot's strong code review process ensured I received valuable feedback on my work, which significantly impacted my growth.
00:18:29.580 However, consulting carries its pressure. Knowing clients are paying for your time creates a sense of urgency. You can't spend time exploring or learning independently, which adds stress when things go wrong. I frequently had to adapt quickly to new codebases. The increased expectations can be overwhelming, especially for junior developers.
00:19:23.320 I also experienced challenges with information overload while transitioning between several projects and technologies within a short timeframe. It was difficult to maintain focus and develop expertise when constantly shifting priorities. To improve my experience, I learned the importance of asking for help and seeking clarity when feeling overwhelmed.
00:20:00.560 Ultimately, I left Thoughtbot when I noticed my rate of learning declining. I yearned for product ownership, caring about the projects I worked on. Not long ago, I came across a tweet from my current manager, Nick, about building a team in Austin and Denver, just as I was considering my next move. I reached out, and after lunch with him, I decided to join Move Health.
00:20:50.150 I was drawn to Move Health for its focus on healthcare technology. I found it compelling to apply modern tech solutions in an industry often behind the curve. I was excited about the opportunity to work in a potentially great team with valuable pair programming opportunities.
00:21:19.780 Now, I want to highlight some experiences of my fellow Hungry Academy graduates who took slightly different paths. For example, Mary, who was here in the front row, worked at LivingSocial before joining Hungry Academy. After completing the program, she rejoined LivingSocial and found her passion for ops and technical aspects of programming. Eventually, Mary left for Paperless Post, seeking a smaller team with more responsibility. Along her journey, she became involved in mentorship and helped reignite her enthusiasm for programming. Over time, she secured a position at a company she admired.
00:27:05.250 Another friend, Andy, also transitioned from LivingSocial to independent contracting, loving the flexibility it provided. However, he discovered the challenges of collaboration and the need for self-motivation. Jounin, who recently spoke at the conference, initially enrolled in Hungry Academy and later faced difficulties with mentorship while working remotely. He subsequently joined New Relic for improved support, eventually transitioning into developer advocacy at Heroku.
00:28:25.470 These stories reflect the diverse career paths bootcamp graduates may take. We often change roles several times within a few years. So, what’s next?
00:28:47.720 In closing, my experience indicates that no job is perfect. What's essential is to figure out what's most important to you and find a job that aligns with your priorities. Your perfect job may differ from someone else's and may evolve over time.
00:29:04.340 Every job has its pros and cons. Even less desirable tasks contribute to understanding what you find fulfilling. If you’re in a position that feels less than ideal, learn as much as you can and consider that every job can teach you something valuable.
00:29:28.330 Thank you for your attention! I want to express my gratitude to my Hungry Academy friends who provided input for this talk and to the organizations—LivingSocial, Thoughtbot, and Move Health—who provided me invaluable opportunities to be here today.