From Ph.D. Student to Software Engineer

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.

Note: Vince participated in the Capstone Program, and he wrote mostly about his experience with that program.

A little less than a year ago, 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 the 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. The Launch School Capstone Mentoring 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'll fail. 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

Financial Considerations

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.

Personal Considerations

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.

The Program

I won't cover everything we did, but here's some items of note:

Fundamentals and Book Club

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 mentor, peer, and I, also worked our way through several books, some on coding practices in general, some specifically in Ruby. Each evening, we met to discuss a chapter or two and do some code review. 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. The book chats, and the nightly meetings (yes, every night, with few exceptions) in general, offered us an opportunity to get some of that experience.

The Project

This was simultaneously the most difficult and the most exhilarating part of the program. With our mentor's guidance, my peer and I paired to build 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 mentor 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.

Interview Preparation

We were urged to present our project. This took a lot of courage. But, the encouragement of my mentor 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 peer 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 SQL, my Ruby, my Rails, and whatever else they threw at me. That was quite the feeling! My interviewers were impressed with what I knew and what I could do.

Concluding Thoughts

Part of the pitch for the program was that the mentors were 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 Mentoring program.