In just a few short days I will be starting my new position as apprentice software developer at Constant Contact. While it’s been an amazing adventure getting here it wasn’t all chocolates and roses.
Where I Was
I am changing careers from education to software development. Just over eight years ago I was hired as music director in a small, innovative inner-city public school that has students from 6 to 12 grade. I had many challenges along the way and learned so much. I tackled all sorts of problems that you’d never imagine and unless you’re an inner-city educator you might not even believe.
But I’m not here to talk about that. However, it was a combination of my love of building, creating, and solving problems along with my frustrations in not being able to build my music program that led me to software. I’ve been a tinkerer of sorts since I first laid my fingers on my grandmother’s Apple II and then finally got to mess with the family Dell desktop. In my spare time I built computers for friends and family, provided basic tech support for Windows and Mac and other things. I grew up in a financially strapped environment which led me to investigate free and open source software including Ubuntu way back in the 6.04 days. I got back into this stuff when I had the opportunity to create a class where I could foster this sort of mentality in some younger minds: I dubbed it the Digital Resurrection Squad and we took old hardware that was gathering dust, replaced parts, and installed Ubuntu 11.04. Next, I had the opportunity to teach a full on computer science class where we played with HTML, CSS, Scratch, and some other things. I got a 3D printer through DonorsChoose, figured out how to make a few things with Blender and OpenSCAD, then added that to my curriculum.
Bootcamp at Flatiron School
About a year ago I got an opportunity to be a Flatiron School teaching fellow where I explored full stack web development on the shiny new Learn.co online platform. I quickly became hooked and was the first to finish. I hungered for more, so I joined the full program where I finished after a few more months. I had loads of fun learning about and using things that I had read about like git and GitHub. I felt really nerdy and I loved it. I was building things with open source tools.
My First Project
While I was banging out labs online at Flatiron, a colleague approached me about building a website to rate buildings. I said, yeah, I can do that! I starting with
rails new rate-the-buildings and I was pumped! I finally had a project to work on with my new nerdy skills. As I explored new gems in the track at Flatiron I incorporated what made sense into my application. Gems like devise, cancancan, twitter-bootstrap, carrierwave, and others made lots of sense this way. I signed up for hosting on Heroku, got a domain on GoDaddy, got some cloud storage on Google, and I was off!
When it came time to interview, my first was in Vermont which would have required me to relocate. It was a beautiful town with friendly people. The company was building a brand new team that was working primarily with Angular and cleaning up from the mess that was left when the company decided to outsource work to India instead of hiring a team. These were red flags, but I was willing to overlook that since the new guys all seemed to know their stuff at least as much as I could tell. They were ready to offer me the job but they were not able to even come close to me current salary as a public school teacher so that wouldn’t have made sense to move with my wife who is also a teacher. No go.
From there, I interviewed in Virgina at a company that does forensic software development for the Department of Defense. That all sounded cool and I passed the technical interview and got to round four–yes four–where I gave a technical presentation that was not quite technical enough. I didn’t do all my research there. But, in the end this position would have restricted me to outdated technology and I wouldn’t be able to talk to anyone about the work. The pay was going to be just under my current salary.
I had lots of other calls with internal and external recruiters, hiring managers, CEOs, startups, etc. I landed a final round interview at a startup that wouldn’t require moving. During the whole process, the recruiter kept me in the dark. I couldn’t even directly contact the company! He made me think I had the job so I suspended my search. I didn’t hear from him or anyone for about two weeks when I finally go hold of the lead developer who told me that they had hired someone else. I was not happy. There are so many shifty recruiters out there who are selfish and misleading.
One of the phone calls I got was from a friendly startup founder who had been burnt a few times recently. He was part of a small team who was working to redesign a social media app that connects users and nonprofits. The catch was that they have no money and so compensation was ‘deferred’. I was intrigued but hesitant about basically working for free but had nothing else going outside my own side project and wanted to have a change to work with a team. I am really glad I did. I got to use tools like Trello, resolve git merge conflicts, build pages from mockups, refactor code from other developers, and just work with some talented people remotely.
When It Rains, It Pours
At the end of the summer I got emails from the Flatiron School saying that they would like to set me up on two interviews. That was the first time and I jumped on it! I ended up getting to the last round with both companies and finally got an offer! Wait, actually two offers! Oh man, what do I do now? One offer was for more money but required moving, I’d be the first full-time dev hire and be working with their previous contractor using the proprietary ColdFusion. The other offer was for less money but didn’t require moving, came with senior dev mentors, and I would be using open source tools like Ruby. It was a very hard decision and I could have been happy either way. I chose mentors and open source.
More to Come!
I have more to share on this subject and I will make some follow-up posts about where to look, how to establish yourself online, technical interviews, etc.