So, for those of you who haven't heard, I have put in my notice at my current place of employment (the Democratic Communications at Michigan State Senate) and taken a position with Mashery effective March 4th.
Needless to say, I am really excited, but it does put my current team in quite a predicament, because they really need a developer!
So let's talk about the elephant in the room, shall we?
The reasoning behind why I am taking a new job is multifaceted, but essentially it boils down to it feeling like it was time to look at what else was out there. There is a lot of interesting stuff going on here, and a ton of benefits, but nothing I was truly passionate about anymore.
About those benefits
The benefits here are great. 5+ weeks of PTO, great insurance, 401k matching, the list goes on and on. And that's just the standard benefits. Let's look at a few of the technical benefits:
- You get to pick your own platform for new projects -- as the only developer, you decide how to solve the problems handed to you.
- You get to work with an awesome team -- everyone here "gets it." The people you will work with here are skillful and creative, and understand how the art/science mesh of things work.
- You get to solve actual pain points for actual people -- most of your users are in the office, or next door. Real people that you can see as much (or usually as little) as you like. Building software that you can see the impact of directly is very cool.
The down sides
As with everything, there's some "less awesome" pieces of the job as well.
- It's on-site in Lansing, Michigan. No remotesies.
- You will be the only full time developer on staff. While that gives you a lot of freedom, if you can't actually swim, you will want to stay out of this water. There is nobody else to blame when your project isn't done on time.
- There are on very rare occasions (2-3 times per year, we will say) some very tight deadlines. New websites going up in a matter of days. Usually the scope on these is kept fairly tight however.
The skill set required
Realistically, you need to be able to handle everything involved with building a website beyond the html/css. You will have to set up vhosts in Apache, and understand the basic workings of source control (we're set up with git and bitbucket). Deployment strategies are varied -- new stuff uses capifony and capistrano while older stuff deploys via FTP or (and I'm very very sorry) issuing a git pull on the live directory structure.
Current projects you will maintain will involve Symfony 1.4 (current CMS), Symfony 2 (some internal tools), and Silex (other external sites). Future projects can use... whatever you care to use, provided you're not intentionally leaving a pile of junk for the next person to pick up.
You will be given all the rope you need to hang yourself many times over, so you have to really be self-reliant on completing your projects, as there is nobody else here who can do your job, for better or worse.
If you have any questions, please feel free to contact me, or just ask in the comment area below!