A modern browser is required for security, reliability, and performance. Contact us.

Nov 07 2013

Adopting & Adapting The Jeet Framework or How I Learned to Stop Worrying and Love the Change

Hi. My name is Cory Simmons. I write tutorials for TutsPlus, books for Packt Publishing, and created the Jeet Framework. This is my story about my first week at MojoTech.

At the end of October I was hired by MojoTech. I sold my car, paid my way out of my lease, threw away or sold 99% of my belongings, said goodbye to all the people I care about including my wonderful children and supportive girlfriend, and hopped a plane to Providence, RI.

On my first day, my framework, Jeet, officially became a MojoTech project. Seconds after the repository was transferred, Backbone Marionette’s current maintainer and now co-worker, Sam Saccone, filed a ton of issues that essentially pulled a lot of functionality out of Jeet in favor of making it more modular for use in other tools.

My initial reaction was one of someone who was afraid of change. My friend, and fellow TutsPlus/Packt author, Gabriel Manricks, and I had put a lot of work into some of this functionality, and now I was being asked to just throw all that away.

I didn’t want to.

At first, I went through the motions—new job jitters and all—but as time went on I began feeling like I was hurting my users by taking away some of this functionality. I started railing against these changes and made every effort to express these concerns.

At this point it’s important to mention that I have worked with or for a plethora of people who would never have a conversation or explain their rationale. You were just “supposed” to do something, and that was that. MojoTech is not that place. The second I started to speak up, our development director Matt Forsyth stepped into my office, and we had a great conversation about what was going on. He was very understanding and even arranged a meeting so Sam and I could suss out what was going on and the direction of the problem.

Then I realized something. All of my concerns were based around legitimately caring about Jeet’s users and if they would be able to migrate painlessly to this new, modular, version of Jeet.

I mean, I’ve always liked Jeet’s user base, and Jeet wouldn’t be half the framework it is today without the amazing work of some of its users like Mitchell Coote, Joe Cameron, Oskar Zamorowski, and many more, but at the end of the day, I was always making Jeet for myself.

It was a framework I used and loved on every website I made for a year. If I changed something in it, I knew what was going on, and sure I’d Tweet about it, but I was the definition of a cowboy coder. I would make changes almost daily, and within the short life of Jeet’s GitHub repository (11 months or so at the time of this writing), Jeet was up to major version 4. This means that within several months, it had undergone 4 huge changes with no elegant way for users to upgrade from one version to the next.

I realized something else. During this initial week of working at MojoTech, Sam had taught me how to use GitHub the proper way. Sure, anyone can push changes, but to be able to construct clean commits, keep up with versioning, provide documentation to your users so they can upgrade without a hitch, and actually, genuinely care about real projects your users were working on…that’s real open source. It’s not easy and sometimes things take a bit longer to get right, but that’s the right way to do it.

From this point forward, Jeet cares about users. It will be a very stable, modular framework, and if there are any big changes coming down the pike, they will be clean, versioned well, and have all the proper documentation to make transitioning as painless as possible.

In my first week here I: completely destroyed and rebuilt 2 years worth of work; learned advanced GitHub; made my first npm package from scratch in pure Node; and got to show my framework to and have drinks with a lot of my heroes from Artifact Conference like Ethan Marcotte, Brad Frost, Jen Robbins, Jen Simmons, and Dave Rupert.

To be honest, I didn’t realize how lucky I was to land this job. I had a big ego and felt like I had given up a lot to take this position and maybe even had a bit of a chip on my shoulder because of all the sacrifices I made. But if that’s the kind of growth MojoTech can inspire in their team members in just one week, then I can only imagine the things I’ll be doing next year.

Jeet is in safe hands, and as one of the best developers in the world, and fellow MojoTech co-worker, Chris Shoemaker, said during my interview process: I’m in the big leagues now…and I’m very happy to be here.

Cory Simmons