Forking, Woo, Free Agency, Automattic, and Me: Or, a Simple Comment that Became a Really Long Post

I started writing this as a comment on Mika’s post on The Morality of Forking, but I think if you start to pass two paragraphs, it’s time to write a post instead. So here it is.

Open source (and specifically WordPress) developers have a lot of options. When Daniel Pink wrote Free Agent Nation back in 2002, the idea that people could just go from good opportunity to better opportunity for no reason other than wanting to (more money/flexibility/peanut butter cups/new challenges/location/people/whatever) was still pretty revolutionary. These days, in our community, it’s the norm. Netflix has a good presentation on how to keep the employees you value. If people feel valued, they don’t leave. We accept less money, shitty hours, and even snotty customers when we feel good about we’re doing. Just look at any startup or non-profit job.

I have not been following the Woo/Jigo thing at all (WCSF and 3.3 have kept me busy lately), but if the description in Mika’s article is accurate about the steps that were taken, I don’t think Woo pulled a dick move at all. I’m the first to hop into the forums (in ninja mode, as Mika says) and tell off someone who wants to redistribute a paid plugin for free without adding any value to it — I do the whole legal-but-a-dick-move spiel. In this case, though, it sounds like they tried to do the right thing.

E-commerce and WordPress seem like such a natural fit, and yet nothing out there is great. Period. I love all the guys who develop these plugins (and I’ve tried most of them) but without exception there are always issues. Spaghetti code, bad UI, weak features… e-commerce plugins have seemed to have some kind of inverse version of the project triangle forever.

Will forking Jigoshop and hiring the developers who got it to its current state catapult Woo to the exalted position of “the ones who got it right”? Maybe. And if that happens then Jigowatt will be super bummed. Maybe not, though. Maybe Jigowatt’s vision is better and they’ll wind up with new developers who share that vision and they’ll come out on top after all. And if Woo just wanted to fork something, they might have been better off forking Shopp — it has a more consistent UI, less complex code, and better reporting. Then again, Jigoshop creates fewer tables and uses custom post types. Hm, but WP e-Commerce also uses CPTs, has way better reporting, and creates fewer tables than Shopp. This is the problem — everyone is doing something better than the others, but no one is hitting all the targets yet.* Presumably Woo chose Jigoshop because they thought it was the best option for a starting point. Either way, whoever gets there first will win the hearts of the community and a ton of new business. (Side note: this is why I think a core commerce plugin that sets up how the WP core developers would recommend doing it and that independent devs could both contribute to and build on top of would be phenomenal and is actually the right answer.)

So why take the developers? Obviously they liked their work, if they were trying to buy it. At Automattic, when we’ve acquired a product/company, it’s always been about the team that made the product more than the product itself. Isn’t that kind of the underlying ethos behind most of the open source models that are successful (both as purveyor and as buyer): don’t pay for code, pay for people?

So I don’t think it was dick move. Good developers/employees are a hot commodity, and you need to give them something they don’t want to lose if you want them to stick around. If Woo looked better to them, it’s none of our business — that’s a decision for them and their families. The devs shouldn’t be judged for deciding to take a new opportunity, and Woo shouldn’t be judged for offering one. It’s not as if they hadn’t made their interest pretty plain, if there had already been acquisition discussions — it’s not the same as secretly trying to poach employees from friends/partners/fellow businesses while pretending to have no interest in them (which would be a total dick move). If Woo doesn’t deliver on whatever promise they’re banking on, the devs will find another opportunity. That’s how it works.

I reviewed Free Agent Nation for the now-defunct New Architect magazine (which had just changed its name from Web Techniques) in 2002 and noted that it resonated with me because I averaged a new job a year as I moved from opportunity to opportunity once the current one stopped being good enough to keep me around. When Matt hired me for Automattic, during the conversation about salary I said I didn’t give a crap about stock options because I’d never stayed at a job long enough for them to matter. We also agreed on an unofficial “easy out clause” that would protect our friendship for the inevitable day when I left after the challenge was gone, got sick of the people, or just plain felt like a change and decided to either go to grad school or run off and be a baker in a beachside cafe in Mexico (or he got sick of me), which was estimated to occur within or around the one-year mark.

Three years later, I’m still at Automattic and am not looking. I have never stayed at one job this long. EVER. It’s not money — though Automattic salaries are competitive, I made more at both of my last two jobs. I don’t run out of challenges, I respect both my co-workers and the company leadership, and Automattic works hard to make sure my work environment is awesome. They even make me take days off when I work too hard. I mean, come on.

Mika mentioned in her post that Nacin almost went to Woo before Matt “snatched him up.” She forgot to mention that John James Jacoby was consulting on WP e-Commerce for Instinct before Matt snapped him up, too. Dan has made a few comments of friendly resentment to me about this, but J-trip had already applied to Automattic when he started consulting for them and had informed Dan of this in advance — I can’t help it if sometimes our hiring process takes a long time (we like to be really sure the fit is perfect, which is part of why we have such low turnover). Even if J-trip hadn’t applied to us first, though, would it have been wrong to hire someone who wanted to be here? We should not be putting the success of companies before the happiness of the people who work for them (and make them successful in the first place). Corporations are not people, as much as the US Congress would like to believe it, and in our community, a company name is only as good as the people behind it. I want every WordPress developer/worker to be ultra happy, wherever that may be. I would believe this even if it meant Woo hiring away every single person from Automattic, and they are welcome to try (though Matt it would probably think it was rude to poach without giving us a heads up for the sake of the relationship, and he’d be right).** Who knows, a maybe a year from now Jigowatt will nab people from Woo. Or StudioPress will swipe iThemes guys. Or WebDev Studios will hire CubicTwo peeps. You get the picture. The thing is, if people are “swipable,” they’re not where they belong anyway, so no one should begrudge a change.

By the way? Automattic is totally hiring badass developers and designers and happiness engineers (wordpress.com support), so if you are one of these and need a new challenge, you should apply. The team I lead, the dot org team, is a group of people that are donated to the open source project: me, Ryan Boren, Andrew Ozz, Daryl Koopersmith, Chelsea Otakan, and Andrea Middleton. Wouldn’t you like to be the next name on that list? I need a developer or two. Must love the GPL, coding according to WP standards, decisions instead of options, Doctor Who/Dr. Horrible/The Guild/Firefly/Portlandia/Buffy/Torchwood (more the old one)/Misfits/Eureka/Warehouse 13, kittehs, standardization, accessibility, watermelon mimosas, turtles (sea variety), Words with Friends/Scrabble/Bendywords, steampunk/paranormal novels, and good food and booze. A couple of those are negotiable. Well, maybe. Think you’re good enough and cool enough? You might be right! Apply.

* Credit where credit is due: John James Jacoby recently did a review of the top shopping cart/ticketing plugins at my request. We’ll be releasing his findings soon.

** Fair warning if you’re going to try to poach from Automattic all sneaky-like instead of right out in the open: we love each other here, and we’re likely to immediately turn around and tell the rest of the company. Better to be up front and transparent and just say, “We really need someone like so-and-so and would love to have them on our team if they’re interested,” than to skulk around like a headhunter. When employees are unhappy, skulking works. Not so much with us. We will mock you on our internal blogs. :)

12 thoughts on “Forking, Woo, Free Agency, Automattic, and Me: Or, a Simple Comment that Became a Really Long Post”

We should not be putting the success of companies before the happiness of the people who work for them (and make them successful in the first place).

That is something every company needs to remember. You may be making gobs of money, but if your people ain’t happy, something’s wrong.

Also “Don’t pay for code, pay for people” is apparently a motto I didn’t know I had until just now :) I pay for ‘membership’ on WP sites run by people I know, respect and trust, even if they have limited products. Because I know they do good work :D

My old start up IntenseDebate was acquired by Automattic in September of 2008, I think that makes me very close to my 3 year anniversary as well. During this time, I’ve learned to appreciate and love the people and products I work on on a daily basis in a way I didn’t knew was possible before. It’s just a great fit.

In the early days of running IntenseDebate, I remember being approached by a number of start ups and other, established companies. I always declined. It’s the same at Automattic, I don’t care about my salary, as long as I can personally be involved in a creative process and be passionate about what I’m making.

It’s true, companies are not people, but people make the company what it is. Thanks to all the great creative minds I have around me and whose brains I can tap into whenever I need, we can create truly great experiences. I think this passion is what ultimately shines through and makes the difference.

I like to say that working on any aspect of WordPress, wether it’s as a contributor or something else, is not really a job – it’s more of a lifestyle.

The fact that you’re now the team lead/designer for the mobile apps team (vs being the Intense Debate designer like you were when you joined Automattic) kind of proves the point that the main benefit of acquisitions is the people, not the code. All code eventually becomes obsolete, but if you hire well, your employees never do.

Back in my civil engineering days my firm had a very strict no hiring from head hunters policy. I remember getting cold calls from them all the time though trying to poach me and I always laughed them off like their telemarketer cousins. I always laughed hardest at their closing statement which was always some form of “Well if your not interested maybe you know someone else at your firm who would be?”. Like yeah I’m going to encourage you to steal away my best and happiest employees (there once was one guy in my department though whom I would have gladly referred to the head hunters… don’t know why we ever hired him or how I got stuck with him).

I loved working for that firm because it had that same awesome corporate culture Automattic appears to.

Final note: I’m really surprised no one has mentioned the acquisition of custom menus from Woo as an example. I’m not versed enough in the history, but Custom Menus came out of Woo’s code even if it was eventually largely re-written wasn’t it?

No one “acquired” Woo menus, though… they contributed their code as a patch to core. Yes, by the time the version released it had been mostly been rewritten, but that’s not atypical as a start to finish feature evolution. Patches benefit from the many eyes and brains in the contributor community, so that by the time any feature has gone through a dev cycle worth of improvements, the final code can sometimes bear little resemblance to the original.

Maybe the main gripe from most people is not that Woo forked the code, or that they took away 2 developers, but that they did both!

Relating to the excellent new WP menus since v3.0, and that ‘starter code’ came from Woo
I wish the same would happen to include a contact form in core WP
It seems to be a forgotten necessity since WP moves more from just a blogging platform to full CMS.
Wouldn’t it be great if WP bought Gravity Forms!? :-)

“This is why I think a core commerce plugin that sets up how the WP core developers would recommend doing it and that independent devs could both contribute to and build on top of would be phenomenal and is actually the right answer.”

Just because someone is a core developer for WordPress doesn’t mean they fully grasp what needs to go into a really good ecommerce solution. Something to keep in mind.

I don’t mean that as a knock to any WordPress core developers but executing on ecommerce takes more than coding skills and WordPress development knowledge. You have to know ecommerce inside and out.

It’s one of the reasons for WooCommerce’s past failures. It’s not that they weren’t hiring or trying to hire good developers… they just weren’t developers that really knew how ecommerce.

There is a reason why so many sub-par ecommerce solutions exist both in and out of the WordPress world. It’s not easy to get right, despite the fact people seem to think it is… yet there are so many poor solutions.

Not only is it not easy to get right, there isn’t one right way to do things. There are always a variety of ways to do just about anything. Despite WordPress purists who will say otherwise, using Custom Post Types doesn’t make one plugin better than another.

Ecommerce is also very support intensive no matter how easy you make it for the user because ecommerce by it’s very nature requires a certain level of hand holding. Dealing with payment gateways, payment processors, etc. Server configuration issues related to integrating with these 3rd party API’s, etc.

Support as good or better than the product itself is a necessity for this type of functionality, especially when it would be relied on as core business functionality by it’s users.

I didn’t mean that the core team would magically invent the way to do e-commerce without input from anyone else. I meant that in conjunction with the people who are focused on it, they could come to agreement on the best way to do things.