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.

A month or so ago, I took a walk around the neighborhood with Berta, as we often do after dinner when there's still light out and the heat isn't overbearing.  These walks often contain what feels like awkward silence, or rather, they would if I would ever shut up.  For whatever reason, regardless of the breathlessness the pace and incline induces on my completely out-of-shape and asthmatic self, I can't help but take the opportunity to fill the silence with some chatter.  At some point, I'll have to ask Berta if she feels this is my habit and whether she'd rather walk silently, since although she does contribute, I feel like she'd rather just walk with her thoughts unpolluted.

Anyway, it was on this one walk when I found myself resisting the urge to offer the usual rhetorical diarrhea, and instead focused on some of my own internal contemplation.  It was actually a really nice day, I remember.  The temperature was just what you'd want in an early summer evening.  The sky was not cloudless, but full of colorful pink and purple twilight-lit clouds.  No cars on the road and a gentle, comfortable breeze.

Whatever the cause, I was in one of those weird "imagine if" mental scenarios, like the kind where you imagine yourself in an alley at night in the city fending off muggers, and you imagine in vivid detail the things you'd say and moves you'd execute to disarm and disable the attackers, and the results and cost of the scenario afterward.  Except this scenario wasn't about muggers; it was a what-if about having a regular job.

I've been contracting on my own for two years, and the work I've done has been rewarding.  No doubt.  The ability to see the results of my own drive and tenacity have been both exciting and revealing.  No concerns there.  I think it's important to say that I know, and others who I'd care to prove it to know, that I can do it.

But I wasn't thinking about it in the abstract.  I was imagining a concrete present where I was an employee somewhere, working on a project.  I imagined the unexpected freedoms that come with not having to find my own work, receiving regular pay, and being able to take a vacation. 

Seriously.  I've said this to people before, but I don't know if it really sinks in.  When you work for yourself, any time you're not working, you are also not being paid.  There is really no such thing as a "paid vacation".  Sure, you can plan out paying yourself to the point that you can be "paid" while you're not working, and that all works out.  But for me, I've never been able to shake the idea that when I'm not working, I'm doing something wrong.  It causes stress.

Imagining vacations and not having to worry where the next job comes from and a horde of other things... very attractive.  I even imagined some of the potential concessions of this kind of employment, and I must say, the idea of being generally a better person (for a certain personal definition of "better") wasn't entirely off-putting.

I dunno.  I probably should have written about this right after the walk, because it's not coming out right.  It's not as simple as, "Oh!  Employment could be easier!"  There are other things in this imagined scenario about who I could be as a person, and how that could be better if given a chance to be someone different in one significant, catalyzing way.

I came around a corner thinking how great it would be to just be different.  And weirdly, things were different.  Just the way I thought about it was enough.  Now I'm looking for hooks for changing habits to transform my life.  Radical changes, really, spawned by small catalysts.  Maybe it doesn't seem it on the outside, but I'm hoping I get there.  I hope that one day Berta and I can be on a walk and she'll realize these changes, and maybe say to me, "You've changed a lot since that walk back then.  I like it."

I have joked with co-workers about giving up programming and going into a profession that doesn't involve technology at all.  Usually, the profession is farming, selected because it's so far removed from technology, and obviously - literally - fruitful. 

But the reality is that I would not make a good farmer. The hours are long and bad.  The money is not good.  I'm actually not good at growing things, in general.  So while saying "I'm giving up all this web insanity and becoming a farmer" makes the point easily, it's not really practical.

Instead, I've decided to choose a practical fallback profession:  Bread making.

It's probably a little strange to say, but I do like making bread.  It's something you can do with your hands that produces an obvious useful output - food.  There's enough science involved to make it interesting to experiment with.  Altogether, it's a significant improvement over farming.

I also have some great ideas about how to improve the production and distribution of bread in general.  The type of shop I would work from would produce small loaves of bread for use in sandwiches.  The story I usually tell about how this idea came to me involves the loaves of sandwich bread you get from the store.

Have you ever noticed how supermarket-bought commercial bread can sit on the counter for weeks and not get moldy?  Yet if you buy fresh bread from a bakery, it'll go bad after a couple days?  You have to wonder what chemicals are in that commercial bread to keep the mold away for so long, and whether that's a good thing to be eating.

I want to make small loaves, and deliver them to homes on a schedule.  You'll never run out of bread that you have to buy loaves at the grocery store, and the bread will be fresh within a couple of days.  You can select the type of grain you like, and get artisan-quality bread instead of pre-packaged, mass-market, big-label brands.  Overall, I think people will like this idea, and I will like making it.

Anyway, that's the "plan" if all else fails.  Or working as a fry cook at McDonalds.  Who knows at this point.