1 0

Mutual Companies: The Next Step for Co-Working

November 5, 2010

Inspired by my friend Jeremy’s recent thoughts on co-working, I wanted to take a moment to briefly outline my own thoughts on the benefits of co-working, and especially what I’d love to see from the trend.

At the Web 2.0 summit in 2006, when EC2 had not yet redefined what Cloud meant, Jeff Bezos refers to “muck” and “undifferentiated heavy lifting” that takes up to 70% of the time you spend on your idea. He’s speaking, of course, about a platform that will make him and his company extremely wealthy, as it enables a raft of startups– a platform based on elasticity of compute and disk resources.

As software development consultants, Jeremy and I both spend our professional careers utilizing compute and disk resources. The Cloud, whatever it means now, is a part of our professional lives. We are among the few (we happy few) who can differentiate what Jeff Bezos characterizes as “undifferentiated”. As a businessman who will have two startups survive their first year as profitable companies, I have a different feeling about undifferentiated work.

As a software consultant, I am in constant need of contracts and legal review. When I searched for a retainer contract, the results were terrible. Further, when you use documents that you find on the Internet, it’s clear that your enterprise is unlikely to get the upper hand during litigation, as you’ve had no counsel.

Although Jeremy intimates that taxes are something for which “tools exist” that cost “pennies a day”, this has not been my experience. I believe a good CPA is essential to any young business, and yet they seem to take pleasure in not being differentiated. CPA’s evoke the first lines of Anna Karenina: every good one is the same, but the bad ones are all different– unique in their particular brand of incompetence.

Unhappy Cubicle Code Monkeys

That cliche turns my stomach after Chad Fowler’s incomparable The Passionate Programmer makes it clear how both of those situations are the programmer’s own responsibility.

You want recognition for your work? Earn it. Make it impossible to miss your impact on your business.

You want to be better understood? Go spend the time communicating with the people who matter: those in your organization. Many programmers feel that management doesn’t speak their language. Why shouldn’t you have to speak management language? I understand the arguments, but I don’t think this question is widely considered, and it harms developer’s lives.

Just because it’s common in our community to be victimized by the processes that I believe Jeremy would claim are inherent in all industries doesn’t make it any more desirable or acceptable.

One point that I feel Jeremy is very right to point out is the benefit of low overhead of our industry. It removes one element of the many that keep “code monkeys” tied to cubicles in jobs where they are under-appreciated and misunderstood. There are many others. How will I find work? How will I keep it once I have it? I don’t know any lawyers. None of the lawyers I know do business contract law. I don’t know any good CPA’s. I don’t know anyone who knows any good CPA’s. How will I manage my time working from home with the distractions there? I hate timecards! How much am I going to have to pay for insurance for my family? Obama, Obama, Obama! The list could be endless, and its effect is to chain developers to those unhappy cubicles.

I feel, as Jeremy does, that co-working can address many of these questions. While I feel that the ideas he proposes may require no encompassing formal entity, I think there exists a model for a company that does have formal structure to provide different benefits that directly address the above concerns. It can lower the overall costs of what are typically large one-time or annual expenses, as well as provide a convenient payment scheme for freelancers and small development shops. It can provide access to group health care over time. It can optionally provide many related services, as Ask Sunday or Freshbooks might, either directly or through discount codes. It can provide professional community, not just in the physical world, but in the connected virtual one. In other words, some undifferentiated heavy lifting.

The element I’m most excited about is that of having membership equate to ownership. With a proper set of bylaws and founding members, I believe it can be demonstrated that two concerns of freelancers and small shops can be addressed in meaningful ways. Most developers are used to receiving a predictable sum every (say) two weeks. This is unlikely how they’ll be paid by their clients. By collecting receivables jointly, and distributing among all owners, it can function much in the way a credit union does from day to day. It can provide a payroll service that allows developers to just get the direct deposits and have less to worry about when it comes to managing receivables. As the concept matures, I believe that paid, “workless weeks” can be introduced to those who are billing enough. There is a set of numbers to be cracked, and I don’t even know any lawyers that would be up for this, so I can’t really move the needle farther than this. But it’s a great idea. If you use it, let me know, and I’ll sign up and sit on the board.

Leave a Comment

EL GUINCHO

November 5, 2010

This video is intended for mature audiences, and has some violence towards women but WOW.

Leave a Comment

Goodbye Microsoft, Hello Facebook! « The World As Best As I Remember It

October 15, 2010

There is so much excellent content in this post that it’s an injustice to just include a bit of it, but here it is anyway.

Goodbye Microsoft, Hello Facebook! « The World As Best As I Remember It: “Practice articulating positions you disagree with faithfully and persuasively.  Unless you can do this, you’re implicitly assuming that people who disagree with you are idiots.  Smart people understand why smart people disagree.”

If you are a technologist, I strongly encourage you to read the OP.

Leave a Comment

Ignite! Charlotte « News from The Mecklenburg Times

August 11, 2010

Alberto Balsam

June 29, 2010

Leitmotif

February 13, 2010

A variation on a theme in modern software development.

A few weeks ago, I was wondering about how to keep my fledgling start-up from falling prey to unplanned maintenance or downtime. Because of the nature of the site (managing design mockups), the element that most concerned me was in-Passenger handling of thumbnailing. We use paperclip. Paper relies on ImageMagick, a notorious resource hog, especially when it comes to RAM. I didn’t want to be able to let a single user hamstring our entire site for a thumbnail.

Fortunately, at exactly the same time, Jesse Storimer created delayed_paperclip to defer thumbnailing (or any other paperclip processing) using delayed_job. Very cool! I started watching it.

I knew that I wanted A/B testing and metrics to play a big role in Mocksup and, right now, that means Redis and Vanity. After a very successful trial run with them both, I knew that Redis would play a part in the application’s future. Having read a history of Resque from my friend defunkt, that bit of software was on my list to try out anyway. Resque was easy to get up and running. Why not try to port delayed_paperclip to Resque? After some hacking, it was working fine in my application. Even cooler! So I blabbed on Twitter about it to see if anybody else liked the idea. Some people did, including the man himself. But I couldn’t release with broken tests, that’s not me!

I got the tests passing, and let Chris know. He tweeted about it and suddenly my little hack is trending on GitHub. If Mom could see me now! Well, I mean, she can see me, but— if… I could explain it to her without her being bored! Yeah, that’s it!

Seeing my “name in lights” was definitely gratifying, but I started to wonder what the future would be for this little piece of code. The author is using Delayed::Job; he works at Shopify for god’s sakes. He may not be interested in this functionality. And what of the integration with paperclip over time— am I really going to be able to keep this supported? There’s a lot of sophisticated Ruby work happening in that plugin, to balance Rails, Paperclip, and Delayed::Job. So I sent a pull request and figured “Let’s just see.”

Jesse could not have been cooler, and integrated my changes immediately! He even added on an additional bit of coolness that made the plugin even better for the end user. After one last little change pointing that additional nicety out to the plugin’s potential users, I was done! I updated my fork and pointers to it with the information that the functionality I added was merged into the project.

Let’s recap the winners:

  • Thoughtbot, for getting an even more robust and featureful plugin allowing delayed post-processing
  • Jesse Storimer, who gets a plugin with more exposure.
  • Chris and resque, for getting a new plugin for resque
  • The potential users of delayed_paperclip, for being able to choose which work queue system fits them better.
  • Me, for scratching an itch and getting involved with all these great people and projects.

To me, much of the beauty of contributing to open source is being a member of this kind of community. I enjoyed it so much, I had to write a little bit about it.

Leave a Comment

A little disappointed

January 26, 2010

That's one right-on bug report

January 7, 2010

The case of the 500-mile email: “‘We can’t send mail more than 500 miles,’ the chairman explained. I choked on my latte. ‘Come again?’ ‘We can’t send mail farther than 500 miles from here,’ he repeated. ‘A little bit more, actually. Call it 520 miles. But no farther.’ “

(more…)

Leave a Comment

Happy Bear

September 30, 2009

Happy Bear: “

Savage Chickens - Happy Bear

Dedicated to Happy Bear’s biggest fan, Ashley-Rose!

(Via Savage Chickens.)

Leave a Comment

A Glorious Dawn

September 25, 2009

Remember what wonder was like? Yeah, I didn’t think so.

Leave a Comment