From Ph.D. Student to Software Engineer
I have not once regretted my decision to join Launch School and its Capstone program
Note: Vince participated in the Capstone Program, and he wrote mostly about his experience with that program.
About a year ago (2015), I wrote my first line of code. Soon, I'll be beginning a new career as a software developer at a well-established startup in Boston. My head is still spinning!
I knew from attending a local meetup that I needed to differentiate myself from the many bootcamp grads in town if I wanted a really great job. If I wanted companies to notice me, I couldn't just be another face in the crowd with another CRUD app on his portfolio. Launch School's Capstone program definitely helped me to stand out. Within a month of applying for jobs, I started getting interviews, and I was ready for them! I ended up with three offers, and the salary I accepted is substantially more than what's typical for a junior level position in Boston.
The program is not magic -- the work you do is your own, and if you're not doing it, you won't get anywhere. But I'm proof positive that if you trust the process and convert all your ambition and passion for writing great code into many hours of hard work, there's likely a great career out there with your name on it.
The Decision Process
I make my financial decisions very carefully and this was no exception. But I really couldn't see much of a downside, since the only way I'd pay the lion's share of the fee is if I got a great job. Considering the salary I'm now getting, joining the program goes down as the wisest financial decision I've ever made.
I knew that I would have to balance the program with my other responsibilities. It meant working as an adjunct professor, helping to take care of my kids, and putting in a significant amount of time working to be a better programmer all at the same time. My wife and I were very eyes-wide-open about things--we knew the time commitment would put a stress on our family life, but concluded that to be acceptable in the short-term. Things on that front played out much as we'd imagined them. It did indeed at times put stress on my family. Deciding ahead of time that we were okay with that was very important for us.
I won't cover everything we did, but here's some items of note:
I think I can program well coming into the program, and so I was a little annoyed that the first thing I was asked to do was to practice on the fundamentals more. This was not wasted time. If I was pretty good on the basics coming in, by the time I finished this stage, I had them down cold. They'd worked way down deep into my skin. That's a good feeling, and sure up the foundation so that more could be built upon it.
My peers and I were assigned exercises and readings that we met to discuss the next day. Being asked to talk about what we'd read forced us to get more comfortable with the concepts than we otherwise might have. That's a theme, I think, throughout--one of the big advantages that devs with some experience have over new devs is that they've spent a lot of time talking about code, articulating just what it is they're doing and why. These discussions with our instructor gave us an opportunity to get some of that experience.
This was simultaneously the most difficult and the most exhilarating part of the program. With our instructor's guidance, my fellow group members and I built something far better than I ever could have imagined would be possible. We spent countless hours discussing specifications, features, and implementation details. We hit dead ends and found our way out of them. We learned more about http caching than most care ever to find out. We coded, tested, refactored over and over.
The thing that was so exhilarating about building this piece of software is that we did it! It wasn't built from a tutorial. We talked about the project with our instructor daily, but nobody held us by the hand. That's, to my mind, what good mentoring does: it offers the support and guidance necessary to unlock the full potential of those being mentored. I'm so proud of our project, proud enough that I'm continuing to improve it and build it out, and intend to do so into the future.
We were urged to present our project. This took a lot of courage. But, the encouragement of my instructor made me push past my comfort zone. I'm so glad I did, because when people saw what we had built and the ease and authority with which we discussed it, they took notice. The talk that I gave at Boston Ruby Group generated two leads that led to two job offers. I ended up giving the same talk at the company I will be working for, and they were very impressed. That all is worth dealing with some nerves. And it was fun--something I definitely plan to do more of as a professional developer!
Interviewing is not much fun. It was nerve-wracking and exhausting waiting for companies, wondering if they were going to get back to me, doing endless phone screens, phone interviews, and in-person interviews. Even just the emotional support I received from both my peers and my mentor were really helpful in this stage, and even more so, the continued drill and study sessions! What I found out in interviews is that I was well-prepared. All those hours had payed off. I knew my fundamentals and I didn't feel uncomfortable with any of their questions. That was quite the feeling! My interviewers were impressed with what I knew and what I could do.
Part of the pitch for the program was that Launch School is financially incentivized to help me find a well-paying job quickly, and that's true. What I couldn't have known then is that they are also personally dedicated to the success of their students. I've been a teacher in some capacity or another for most of my professional life, and that sort of dedication is, in my opinion, the hallmark of a great teacher. These guys want a successful business, sure, but I always felt that they also genuinely cared about me. That made me willing to push all the harder. I have not once regretted my decision to join Launch School and the Capstone Program.