My perspective is a little like that of C3PO in Star Wars, a minor character throwing his hands up in dismay at calamity and providing others with an interesting viewpoint on the great events of the last forty years.
Like any space opera, the story of information technology is a very simple one. It is played out in a myriad of different ways by a revolving cast of characters, but it always has its loveable heroes, its predictably nefarious villains, innocent civilians to be saved, and bumbling bureaucrats that aren’t inherently evil, but begin every story aiding the forces of darkness out of a misplaced belief they are preserving law and order in their corner of the galaxy.
You may have heard or learned from painful experience that job fairs are like this:
Unspace’s gatherings are a little more like this:
The two photos above were taken at an event that they threw called Technologic, which took the typical evening tech seminar on its ear. You can read more about it in my blog entry about that event.
If you’re looking for work that involves Ruby programming and you’re going to be in downtown Toronto on Friday, you should register to attend the Ruby Job Fair. It’ll be your chance to meet prospective Ruby employers and their representatives, which will include me – I’ll be there as the Shopify Guy. You won’t be able to miss me: I’ll be the one with the accordion…
The quick details about Ruby Job Fair:
Date: Friday, February 10, 2012
Time: 6:00 p.m. – 9:00 p.m.. Do not show up early. They’ve got work to do.
Why Work at Shopify: The Hard-Nosed, Pragmatic Business Reasons
Normally, I’d start with a description of Shopify’s hacker ethic, how it’s a great-yet-casual work environment, that everyone gets a MacBook Pro or MacBook Air as their work machine, that and how fun and rewarding it is to work there. That’s all true, but I’m sure every software development shop has a spiel along the same lines. So I’ll give you that spiel later. How ‘bout I answer the question that might be lingering somewhere in your mind: “Are you guys still going to be around a year from now, or are you going to crash and burn and leave me looking for work again?”
For starters, we’re in the ecommerce business, and business is good. How good? In the second quarter of 2011 – remember, that’s only April, May and June – ecommerce sales in the U.S. were $48 billion. And impressive as that figure may be, ecommerce is still less than 5% of all retail.
We want to do good work, and good work needs good tools.
Good work needs a good physical environment, and we’ve got that in spades. Check out our brand-new office. Here’s the reception desk, which is occupied by Laura, our gets-stuff-done-so-we-can-get-stuff-done person:
We believe that small, agile teams work best, so we’ve broken our space into offices just like the one below, and each team is free to set up and decorate their space as they see fit. They’re not normally this crowded; the photo below is from the party we had on Friday:
I’m in the developer advocate/evangelism group, and we went with this pop art wall covering in our zone:
Others on our team have some great illustration talents and put them to good use:
Sure, we’ve got your standard meeting rooms (and they’re pretty nice for what they are):
…but one of them’s equipped with an Xbox and Kinect:
And then there are little gems like this room:
It’s the 8-bit paradise. I spent an afternoon working on API docs in the room, a nice quiet space where you can concentrate, after which you can reward yourself with classic 1980s console action!
This poster was created by our design team, a very talented bunch:
We’ve got a fine collection of vintage cartridges:
Ah, the Atari 2600. It takes me back to my wonderfully misspent youth:
Why Work at Shopify: The “I Want to Draw the Owl” Reasons
One of the reasons that Shopify is successful is that we’ve worked out some ways of doing things. We’re all about “drawing the owl”, and the way we do things is an in the service of drawing that owl. (Don’t worry, you’ll soon know what “drawing the owl means”.)
Shopifolks – that’s what I like to call people at Shopify – are self-starters. Once given a goal, they use their skills, knowledge and good judgement to do the work necessary to hit that goal. They get stuff done. They’re what Y Combinator’s Paul Graham calls “resourceful”.
Act like an owner. You don’t "just work here", you own a piece of a company and have a stake in its success. Work as if your livelihood, career and reputation were riding on it, because as an owner, it is! Be entrepreneurial and own your domain: if you have an idea and it lines up with the company’s goals, make that idea happen.
Know what to work on and what things to ship. While owners have the freedom to work on and ship whatever they like, they also work in the real world. 80% of what makes the company go is often achieved by doing the most important work first, which typically makes up 20% of the available tasks. Sometimes these tasks can be tedious and feel like drudgery, but if they’re what makes things happen for our customers and their customers, they’ve got to be done, and with the highest priority.
Done is better than perfect, or "the best" is the enemy of "the good".Perfectionism is a form of procrastination. It assumes that time is an infinite resource, that other tasks can wait while you add "just one more touch" and that "perfect" is attainable. You have to be able to make the call and say "done" at some point. A good feature that our customers use and enjoy is infinitely better than a perfect one that "will be available soon". As they say at Apple, "Real artists ship".
Have high standards. While done is better than perfect, good still remains better than bad.
It’s okay to fail; just fail gracefully. The only sure-fire way to not fail is to not do anything. Since we can’t do that and remain in business, never mind take the company to the heights we want to, we have to accept failure as part and parcel of trying. Sometimes we’ll make mistakes, other times we’ll do things right and still our best-laid plans won’t work because of circumstances outside our control. The trick is to learn from failure and make sure our failures aren’t fatal. As our CEO Tobi likes to say: "If I’m not failing every now and again, I’m not trying hard enough."
Communicate good news quickly, communicate bad news ever more so. The first part is easy: it takes no effort to tell the team your project is a success. It’s a good thing to do so; good news bolsters the team and success often breeds more success. However, a combination of pride and fear (and in some companies, a "cover your ass" culture) makes it difficult to tell the team that you’re having trouble or that something’s not working out. It’s best to tackle problems as soon as possible, while they’re still small and manageable, and the best way to do this is to communicate bad news as quickly as possible — remember, it’s okay to fail.
Understand and respect the makers’ and managers’ schedules. As Paul Graham wrote in his essay, Maker’s Schedule, Manager’s Schedule, makers and managers operate by different schedules. Managers’ days are determined by their appointment calendars, which divide the days into hours and even half-hours, and things like meetings fit into the manager’s schedule easily. Makers, on the other hand, do things in half-day or even full-days blocks, and things like meetings are disruptive. Some of the team operate on a maker’s schedule, other operate on a manager’s schedule, and many of us switch between the two, depending on what day it is and what tasks they have on that day. Know who operates on which schedule (and when), and understand and respect those schedules.
Operate lean and mean. We’re made up of multi-talented, capable, autonomous, ambitious go-getters, and that means we don’t have to operate like a big, lumbering beast. Unless the circumstances are unusual, there really should be 2 people maximum per deal or project. Meetings and calls should be kept to 30 minutes or less, not counting brainstorming or design pow-wows. And full-on meetings aren’t always necessary: you should be able to "just pop by" anyone’s office or desk or call them up on Skype.
Update often. Because we operate lean, means and independently, communication is vital. Keep your teammates apprised of your progress!
Draw the owl. In the end, that’s what you’re trying to do…
Think You Can Work at Shopify? See Me at Ruby Job Fair.
If Shopify looks like the sort of place where you’d like to work, and if you think you’ve got the skills, enthusiasm and passion to work with us, come see at Ruby Job Fair. I’d be happy to answer all your questions and hook you up!
After Shit Silicon Valley Says comes Shit Programmers Say. There’s a swear word at the end, so if you’re at an office that doesn’t tolerate salty language, make like the programmers in the video and switch to headphones!
The era of powerful portable computers, mobile phones, the internet and an increasingly globalized economy has made it possible for people to start businesses in their living rooms, kitchen tables, spare bedrooms and home offices, as well as “third places” such as cafes. I myself have done work at all these places; in fact, as I type this, I’m in a friend’s living room (see the photo above for my current setup).
As nice, inexpensive and convenient as it is to work from home and as pleasant as it is to work at a café, there comes a time when you need to work at a place structured a little more like an office. Home comes with all sorts of distractions and can be isolating; cafes also have their downsides, from security (who’s going to watch my laptop while I’m in the bathroom?) to jockeying for the table close to the power outlet to wearing out your welcome from a staff who might see café work as freeloading. At the same time, leasing an office is too expensive for most of us. An increasingly popular solution to this problem is coworking.
With coworking, you work in an environment that physically resembles an office, with desks and chairs, meeting rooms and some shared facilities. The difference is that the space is shared by people or groups who typically aren’t working for the same organization; they’re paying rent on one or more desks that they may or may not use full-time. It gives you considerably more security than a café (you can generally feel safe leaving your laptop on your desk to go to the bathroom or get a coffee), the social interactions you’d get in an office environment, opportunities to collaborate with other people in the coworking space and a more casual feel than a typical corporate workplace.
Coworking has more of a community focus than superficially similar working approaches like business incubators and executive suites – there tend to be more nonprofit organizations, community-focused businesses and techies in coworking spaces. Just about every coworking space's "About" page on their website talks about the benefits of community, social interactions and just being able to work alongside other human beings being better than working in solitary confinement.
Many coworking spaces are open concept, which makes it possible to rent a single desk on a full- or part-time basis. Some larger coworking spaces offer small private offices for individuals or small groups who need a space of their own (the Shopify office in Toronto, which comprises four people including myself) rents such a private office at Camaraderie Coworking).
The Wikipedia article on coworking states that coworking people tend to participate in events like BarCamp, and having visited eight BarCamps in 2011 as Shopify’s representative on the BarCamp Tour, I am inclined to agree. What appears below is a list of some of the notable coworking spaces in cities where the BarCamp Tour visited, and where we'd love to hold some kind of Shopify event in the future!
Located in New Orleans’ arts district, Launch Pad is a coworking space for local entrepreneurs, freelancers and creative types. It offers desks on a part-time and permanent basis, as well as a small number of private office spaces. It plays host to a number of tech events, including monthly programmer meetups for various tools and technologies (Ruby, Python, PHP and .NET) and was one of the places that opened their doors to BarCamp NOLA in July 2011.
The building in which Launch Pad is located – 643 Magazine Street – is home to a number of tech businesses and organizations, many of whom I met at BarCamp NOLA. In talking to them, I found that one thing that bound them together was a sense of a need to rebuild the city and its communities, a theme that pervades post-Katrina post-BP oil spill New Orleans. If you’re a techie, creative or entrepreneur looking for a coworking space in The Big Easy with a strong community focus, you won’t find one that’s friendlier or more community-oriented than Launch Pad.
Here’s a video that explains Launch Pad, starring a few of the friends we met at BarCamp NOLA:
Milwaukee’s Bucketworks was the home of BarCamp Milwaukee in early October 2011. It bills itself as “a health club for your brain” in which they’ve swapped “the weight machine for the computer, the exercise bike for the table saw, and the mirrored aerobics room for the collaborative meetup room.”
Of all the coworking spaces I’ve visited this year, this one was by far the largest. In its two storeys, it boasts over 20 rooms varying in size from cozy private offices to open areas large enough to handle BarCamp Milwaukee’s kick-off session, a rooftop deck and a garage large enough to do small aircraft repair in. It spans 3 buildings and over 25,000 square feet.
The photo above shows the main downstairs room, which functioned as the room for BarCamp's kick-off session as well as a general meeting area. The photo below shows another downstairs room, which proved to be suitable for sessions on robots and 3D printing:
Bucketworks was large enough to get lost in, but also large enough to host nearly a dozen break-out rooms for BarCamp Milwaukee. Here's one of the upstairs rooms -- it's large enough to host a developer meetup or an aerobics class:
That room pales in comparison to the really big one in the back:
If you need a space that isn't so wide-open, you can opt for one of the meeting rooms. This one easily handled a BarCamp session with two dozen attendees and their laptops:
And if your space needs are a little smaller, there are smaller meeting rooms like this one:
Here’s the central upstairs room, which offers access to just about all the other rooms upstairs:
And finally, if you need to get some fresh air, the rooftop deck is easily accessible from the kitchen area:
Bucketworks is an amazing space, and I’d love to lead some kind of Shopify or Ruby app development session there sometime this year. And, of course, catch the next BarCamp Milwaukee!
Mention “coworking” and “Philadelphia” in the same sentence, and someone will bring up Independents Hall, also know more coloquially as “Indy Hall”. A play on the better-known city landmark Independence Hall, it bills itself as a coworking space and community for “designers, developers, writers, artists, entrepreneurs, scientists, educators, small business owners, telecommuters, marketers, videographers, game developers, and more”. It unofficial mantra is “We all know that we're happier and more productive together than alone.”
Located in Old City Philadelphia and very close to the city’s most popular restaurants and bars, Indy Hall is a great place to mix your social and work lives. It’s an open concept workspace covering 4400 square feet and offering 35 desks, each with gigabit ethernet in addition to 802.11n wifi covering the office. They offer amenities such as a conference room, projectors and other A/V equipment you can sign out, a networked laser printer, a lot of whiteboard space and free coffee.
CoCo -- short for collaborative and coworking space -- runs coworking spaces in both Minneapolis and St. Paul. The Minneapolis coworking space used to be the trading floor of the Minneapolis Grain Exchange and provides 16,000 square feet of space.
According to their site, they offer:
Casual and flexible workspaces for freelancers, entrepreneurs and mobile workers available on a membership basis
Permanent workspaces for individuals and groups, also available on a membership basis
Extraordinary meeting rooms and collaborative settings for rent by the public
Event space for conferences, meetups, fundraisers and receptions.
Facilitation for strategic planning, ideation and innovation sessions
When I went to BarCamp Omaha in early September, I got to meet Omaha's thriving indie and startup community, and many of them sang the praises of Camp Coworking. It's located in Omaha's North Downtown area in a building called The Mastercraft, which houses a number of startups and creative companies, which makes it an excellent location for the small indie or startup looking for a space with the right "vibe".
Portland may not be as big a tech hub as other cities on the West Coast such as San Francisco, San Jose and Seattle, but that doesn't mean there isn't a lot of tech activity going on there. For starters, it plays host to a number of O'Reilly conferences, most notably OSCON, as well as a number of smaller gatherings, which included BarCamp Portland, which took place in mid-May 2011.
One of the hubs of Portland's lively tech/indie/creative community is Collective Agency, Located in downtown Portland and only a hop, skip and a jump away from the Ground Kontrol arcade (it's my main Portland landmark), there've been a lot of good word-of-mouth and Yelp reviews about this place.
In addition to providing collaborative coworking space, they also play host to a number of workgroups of all sorts, ranging from software, research and social entrepreneurship to visual arts, film and theatre.
Bocoup is a company that develops web applications, and Bocoup Loft is what they call an "open source hacker space" within their offices. It's close to South Station, which puts it within an easy walk from Boston's Chinatown and therefore one of the hacker food groups.
“The visionary starts with a clean sheet of paper, and re-imagines the world,” writes Gladwell. “The tweaker inherits things as they are, and has to push and pull them toward some more nearly perfect solution.”
Here’s the key line, which immediately follows: “That is not a lesser task.”
The Tweaker, which could be described as an Apple-esque reduction of the Steve Jobs biogrpahy by Walter Isaacson, is exactly the sort of essay we’ve come to expect from Gladwell. At its heart is an interesting tale, but it’s his trademark touches that make it, from the way he can put together a narrative to the details that make a tale resonate in your mind to the little detours he takes into parallel stories, often culled from history, as a means of underlining his thesis.
In his essay, Gladwell explains Jobs’ genius by way of the industrial revolution and why it took place in Britain and not in nearby and equally-rich France and Germany: Britain had the tweakers – people who took the inventions that defined the age of industry and refactored them, either making them work or work better. They came up with what economists Ralf Meisenzahl and Joel Mokyr (whose article on the industrial revolution and tweakers Gladwell cites) call the “micro inventions necessary to make macro inventions highly productive and remunerative.”
The MagSafe power connector: a great example of the lengths
to which Apple goes in their tweaking.
It’s hard not to write about Steve Jobs’ creations without making some reference to his rival, Bill Gates. While the more hardcore Mac fans and even Jobs himself dismiss Gates as an copycat, Gladwell has a different take. He suggests that they’re two sides of the same coin. Both are tweakers, but one “resisted the romance of perfectionism”. Jobs saw Gates’ current role as philanthropist – something that isn’t all that popular in many corners of the relentlessly libertarian, cyberselfish world of Silicon Valley and apparently eschewed by Jobs -- as something not requiring imagination, but Gladwell counters with this observation:
It’s true that Gates is now more interested in trying to eradicate malaria than in overseeing the next iteration of Word. But this is not evidence of a lack of imagination. Philanthropy on the scale that Gates practices it represents imagination at its grandest. In contrast, Jobs’s vision, brilliant and perfect as it was, was narrow.
Can a tweaker be an innovator?Dylan Love, in the title of his article in Business Insider says “no”, but I disagree. The Latin root of the word innovate is innovare, meaning “to renew of change”, and the dictionary definition of the word means both “to introduce something new” and to “make changes in anything established”. By tweaking established inventions and in turn redefining – or perhaps I should say tweaking – whole areas of technology, Jobs was most certainly an innovator.
Sunday, October 16th was declared Steve Jobs Day by California governor Jerry Brown, and that’s great. With Apple, NeXT and Pixar, he and the goodies he helped bring to us changed the way we work, live and play for the better. Jobs died on October 5th, and the world is a poorer place without him.
Sunday, October 30th was declared Dennis Ritchie Day by geek publisher and conference organizer supreme Tim O’Reilly, and that too is great. Perhaps laypeople won’t understand his contributions in the same way they understand Jobs’, the technologies and tools we use today are descendants, either direct or indirect, of his work on the C programming language and the Unix operating system. Ritchie died a week after Jobs, and the world is also a poorer place in his absence.
I think it’s high time to declare John McCarthy Day. “Uncle John” passed away on October 23rd, and as with Jobs and Ritchie, the world is once again a poorer place with him no longer around.
Uncle John’s Accomplishments
McCarthy is the creator of the Lisp programming language. Even if you’ve never used Lisp (or, if you’re like me, took it in a course and swore off it for life), if you’re a programmer, the odds are good that you’ve benefited from an idea borrowed from it. That supposedly-newfangled functional programming you’ve been dabbling in lately? Lisp’s had that since Elvis was skinny. If-then-else? Uncle John invented that sucker for Lisp. Do you perform cool stuff on collections using IEnumerable’s methods in .NET, Ruby’s Enumerable mixin or Python’s list comprehensions? Lisp got there first; after all, its name comes from “list processing”.
Every time you don’t have to worry about freeing memory that you had to malloc, you owe a debt of gratitude to Uncle John. He invented garbage collection, and he did it ages ago – in the same year Fidel Castro took over Cuba. (We had computers back then?)
Time-sharing, and later software-as-a-service or platform-as-a-service? He was the first guy to put forth the concept in public.
And just for extra nerd points, Uncle John was one of the people who came up with the idea of the space fountain.
Let’s Give Him a Day: Sunday, November 13th
I don’t have the convening power of the Governor of California to make an official Steve Jobs Day. I don’t have the clout of Tim O’Reilly, who was able to declare an unofficial Dennis Ritchie Day. But I’d like to use whatever pull I have and your help to make Sunday, November 13th the unofficial day in which we mark the life and achievements of John McCarthy. We’ve all benefited from his work, and I think it’s only fair to pay him back with some tribute.
Please help by spreading the word! Let’s use the #JohnMcCarthyDay tag on Twitter and Google+.