It was just a year ago that I was writing about closing down my consulting business and joining ownCloud as an employee. And now I've moved on to new digs.
Moving From ownCloud
ownCloud was a great opportunity. I really love open source software - software that is written and distributed with the source code and the ability to change and re-release that source code. I've been a contributor to open source projects for a long while, and have even started my own. So the opportunity to get paid to work on such a project was a great find for me.
There were several things that attracted me to my job at ownCloud. First, it was a product, not project work. Rather than working on a new project for a new client every few months, this was a single product to concentrate on iterating and getting right. Second, the daily schedule was pretty free to work how I pleased, as long as I met promised schedules and got done the work I was supposed to do.
In all, I was very pleased with my time at ownCloud. The people there were nice to work with, and I was exposed to a different aspect of software company.
That said, toward the end, I felt that my experience was being wasted by not allowing me to contribute in significant ways to the fundamental design of the product. I felt that prioritizing some fundamental changes was more important than the things I was working on, and after sharing these thoughts, although they became more solidified in my mind, they were not the priority of the company for me to work on. That was ok, and I understood it, but I wanted more.
I think I simply had a bad week at ownCloud, and in mentioning this in passing to a friend, I managed to discover CoverMyMeds.
What is CoverMyMeds?
The simplest explanation is long, merely because if you haven't had the problem, you might have no idea that it needs solving.
Insurance companies sometimes require doctors to specify reasons or meet certain other treatment prerequisites for prescribing certain drugs to their patients before they will approve payment on that drug. To inform them of these prerequisites, the doctor must fill out a form which is usually specific to both the insurer and drug with that information for that patient, and send it to the insurance company. The thing is, doctors don't keep track of this stuff, and patients usually don't find out they need it until the pharmacy, trying to get money from the patient's insurance company, gets denied their claim.
CoverMyMeds provides a system that is free to pharmacies, doctors, and patients to easily obtain the correct forms, fill them out, and submit them to where they need to go.
Interviewing at CoverMyMeds
My interview at CoverMyMeds was the most intense interview I've ever enjoyed. Mind you, I've been at some lousy interviews - Vanguard comes to mind, ugh, chills - but half way in, after meeting the people, I could tell that they were places that I'd never want to work. With CoverMyMeds, things were a little different.
My friend told me that my first interview would be a pretty casual "get to know you" interview with no technical questions. But I found out quickly that they were fast-tracking things to try to hire candidates promptly. While the technical questions surprised me, they weren't crazy; I was simply ill-prepared to answer those types of questions. Fortunately, I apparently know enough unprepared to succeed at answering those.
I had a second Skype interview where I solved some basic coding questions. These were deceptively simple problems, and being a little nervous at someone watching me work, I think I flubbed a couple of things that I should have easily passed. Still, I did well there.
For my last interview component, the company flew me to their office in Columbus, Ohio. I spent the day building a small application based on their specifications, then presenting the app, my code, and an explanation for my decisions to a group of their developers. I answered questions about what I did, and even some impromptu javascript puzzles.
A lot of the interview was oriented toward seeing if I would be a good corporate "fit" within the team. I really liked the people I met. They all seemed like savvy developers, and had similar extracurricular interests to mine. I think we got along very well.
Ultimately, I think I did well at the interview, because they offered me the job!
Working at CoverMyMeds
I've been trying to explain to friends and former co-workers what it's like to work at CoverMyMeds, and always feel like I'm coming up short. I can summarize by saying that it's a pretty great place to work, but there are some specifics.
For one thing, they've figured out management. I suppose this has the potential to change because such a thing is fragile, but right now, management is pretty nice. Unlike many places that "talk the talk, but don't walk the walk", this place "walks the walk". When they say that the company believes in the well-being and happiness of its employees, they actually mean it. I have some silly examples, but trust me - it's pretty great and unique.
Another thing is that the development process is thought out. It's certainly not dogma; there aren't rules for every little thing. There are enough rules to make sure everything gets done smoothly, and make sure that everyone knows how things are supposed to be done and what's expected. And that's it. It sounds pretty simple, but so many places lack this discipline with their development process, it's surprising and refreshing to see it written, in place, and working.
Something that attracted me to CoverMyMeds was the chance to learn new technology. It's a bit complicated to explain, but suffice to say that CoverMyMeds is primarily a Ruby shop. Learning Ruby has always been on my professional to-do list. It was difficult to pass up the opportunity to leverage the skills I have as a PHP developer while learning Ruby and being paid to do so.
CoverMyMeds does Pair Programming, which is an activity where two developers are "paired" to work together on a particular feature or project. It's very hard to explain to family and friends how this really works, but it ultimately results in me being tethered by headset to a guy in Florida all day. It sounds potentially awful, and I'm sure my pair would agree that it has its downsides, too, but all-in-all, it's been pretty nice to have someone to help me work through things, especially while I've been learning the ropes.
Our current project is leading us both into exciting new development waters, and when it's done, it'll be pretty fulfilling to see it in use.
What's Next?
I hadn't really thought about it before starting at CoverMyMeds, so it's both somewhat strange and oddly telling that I'm considering it now. "What will I do next?"
Well, if I had thought of the question at ownCloud, I still might be thinking of doing something new. And with my consulting business, I was struggling to do new things all the time just to keep money coming in. And at Rock River Star, what I wanted to do next and what was available to do next were never going to be the same thing.
So now, when I think of the question, I don't think that I want there to be a "next". That seems pretty good to me, and I hope that next year, when I'm writing another "State of the Job"-type post, I still feel the same way.