This is absolutely true, and the heart of the distinction. If you are happy with a regular job, then definitely go that route. Building weekend apps and such will keep you up-to-date and you'll be highly prized anywhere you go.
However! For many of us, we simply cannot be happy in a regular job. For whatever reason, it rankles and chafes us. For lost souls like this, we need to find a way to monetize and build businesses in order to escape.
I envy people who love their jobs. It seems like a simpler, more satisfying life. It's just never been that way for me.
>I envy people who love their jobs. It seems like a simpler, more satisfying life. It's just never been that way for me.
We don't have some mental deficiency, absent in you, that stops us from hating our jobs. We have simply found jobs that we don't hate. Just like you.
Just because you are self-employed, doesn't mean that you don't have a job. And if you don't have a controlling share in your company any more, you aren't any more self employed than me.
>I could have the best job in the world and because I'm not working for myself, I'm not going to be happy.
This statement is not internally consistent. If it is the "best job in the world," then by definition you would be happy to do it. It reminds me of people who say things like "I like my chips to be TOO salty!" No you don't.
It also sounds like a self-imposed rule put in place for reasons of contrarianism, which would be deeply maladaptive and self-defeating, but as accusing people of contrarianism is becoming a bit of a meme round here, forget I said that.
EDIT: I appear to have been contrarian over the issue of accusing people of contrarianism. If the internet implodes in the next hour, my bad.
In this case all jobs are equally bad (and equally good,) therefore the words "best job," or even the words "good job" or "bad job" can have no meaningful interpretation.
No, it could be the case that someone is unhappy whenever they're working. For someone like that, the best job is one that pays a lot for a small amount of work. The lower the pay rate, the worse the job.
I think that's a meaningful interpretation. In fact, I think this situation is pretty common among people in the world.
Touché. Although I think bringing higher reasoning into what was clearly a bit of pleasingly pointless formal logic pedantry is a bit unfair. Like taking an assault rifle to a waterfight.
I worked for myself for 4 years (did consulting work, co-founded a startup) but, due to various reasons, decided to find a full-time job. The job I found is fantastic and I still work there. I love it, I love the people, I love my work. I build apps and do some consulting in my free time, and could easily leave and work for myself again, but I choose not to. I'm sure if I worked for a company I hated I would have left long ago. I do what makes me happy, and right now that involves having a full-time job and also working on other things I love to do on the side.
I think it was obvious from the context that by "job" he meant "job where I work for someone else". All he was saying was he won't be happy working for someone other than himself.
DHH doesn't lambast side projects, doing things for fun or even giving things away - Rails is the obvious proof of that. DHH lambasts the weird aversion we software guys have to charging money for things.
Absolutely build apps for the fun of it, feel free to scratch your own itch, but if you build a useful product, try charging money for it before you give it away for nothing. If nobody wants to pay for it then you can always GPL your code and hope for the best, but releasing software under Free licenses by default robs you of big income opportunities.
It is easier to get money by selling things and fame by giving away things. If you get sufficiently famous, you can sell some of it for money.
DHH got his money from 37signals, fame from Rails.
PG got his money from Viaweb, fame from his writing.
Zuck got sufficiently famous.
What do you want more first? Fame or money? If you choose fame, be ready to stick it out until you can sell some for money. That's how most big hit startup founders got rich.
True businessmen are rare.
That's why, Bezos is my hero. He set out to build a great business and did just that. Building a great new technology business is far more impressive to me than throwing apps on the wall to see which one sticks.
I don't necessarily think DHH's problem is with not charging for things, but for not charging and calling yourself a business/company. Listening to him talk about it, he seems to be more pissed about this bubble that's come up in the last few years -- people are coming up with technological ideas that don't possess a lot of real monetary value, yet burn through investor capital without ever developing a revenue model. It's South Park underpants gnomes all over again:
> DHH lambasts the weird aversion we software guys have to charging money for things.
You know, I kind of like that we have this aversion. If the Internet is the first true global common space, the open source 'movement' is one of the coolest things we've ever done as humans let alone software developers.
Not to drink the Koolaid too much. Just think about it, is my point.
Open source does not equal free. There is simply no reason that something you pay for can't also allow you to extend the code or make changes yourself. Personally, I wish I could just pay for more things and not be blasted with advertising all of the time. I love it when apps such as Pandora give me that option.
weird aversion we [...] have to charging money for things
I have exactly this problem right now. I think my biggest block right now is that
try charging money for it before you give it away
is not an effortless thing to do. One has to invest money and time to set up a payment gateway, and then one has the responsibility to respond to customers and maintain the app.
What would you suggest I do in a situation like this?
Beware lock-in, though. If you're doing 1-time payments it's not so bad, but subscriptions are basically impossible to migrate from one platform to another.
The payment gateway stuff is a real pain, I'll give you that.
For the rest, your responsibilities don't really change. Either you're going to respond to your users (customers) and maintain the app, or you're not. That has nothing to do with money.
If you aren't planning on supporting an app, you should probably make that clear in the first place. Remember: Your users are investing their time in you, and to them that's worth at least as much as their money.
People build apps because it's easy. If you're a half decent developer building an app, you _can't fail_ and that is huge. Getting people to actually pay you for something is hard and fraught with uncertainty and danger. No wonder most people choose to build apps.
Getting people to actually pay you for something is hard and fraught with uncertainty and danger.
Just to be more explicit about these dangers and uncertainties:
- It takes time to set up a payment system, and it's not
nearly as fun as building the app in the first place
- When you start charging, you take on responsibility for
the app, and supporting users
- If no one buys it, you've wasted the time and money you
put into setting up the payment system
What you say is technically true, but that's not the real reason people build apps instead of businesses. It may be extra work and not as much fun to setup a payment system, but it's not that much extra work compared to the difficulty of getting people to pay and dealing with the high probability of rejection.
someone should build an app which simplifies payment. Create an account, choose the payment option you like and here is the code you have to include in your app, byebye.
I have to agree. It is fun to build apps, and it does advance your skill set. The fastest way to really understand development is to try and build something. But making money from fun apps isn't easy at all.
If your goal is to do what you love, sure. If your goal is to do what you love and maybe get lucky enough to have it turn into a business, maybe... sure, still might work, but might not. If your goal is to start a business, this is terrible advice.
Sure, if you're trying to land a job, the build apps not businesses approach can work (and is possibly better than the opposite approach, cost/benefit-wise). If you're trying to become your own boss, you need to consider the alternative.
Not at all. The article mentions David Heinemeier Hansson but it completely misunderstands DHH's philosophy, if anything DHH in favor of this kind of approach- working on the side along with a stable job until you are reasonably confidant that your app has traction at which point you can jump onto your app and monetize it. There really is no point in trying to "build a business" when you don't even know your idea is even remotely feasable. The kind of obsessive tunnel vision about "building a business" is a waste of time of the programmer.
There really is no point in trying to "build a business" when you don't even know your idea is even remotely feasable
Exactly. And a large part of the problem is the way people approach this by trying to find a "new idea." Most businesses aren't new ideas, they're either copycats (nothing wrong with that) or fresh approaches to existing ideas.
A social network for dogs is something that you can't know is feasible before you try it. OTOH a timecard app for remote workers almost certainly is feasible and its success depends on your execution.
If you want to start a business, solve a problem a business has in an interesting way. If you want to build an app, build the most amazing thing you can think of and forget about how to make money with it.
> If you're trying to become your own boss, you need to consider the alternative.
They're not necessarily mutually exclusive. One of the nice things about working as a freelancer/contractor is that you are used to managing your time and possibly working on several projects for different clients anyway. If you choose to spend some of your time developing side projects as well, whether for professional development or simply personal satisfaction, no-one's going to stop you... Just keep the expectations realistic about whether a project is being done as a serious business proposition and therefore justifies the time to develop it properly in that light, or a fun side-project that shouldn't be allowed to become a time sink!
David Heinemeier Hansson of 37Signals is known for lambasting businesses that seem oblivious to the concept of profitability. I don’t really agree with him.
In his website
About me
Short answer: I happen to like doing fun things for profit.
How many projects are only a couple of hours in length? I started down this road, and ended up with a list of "learning experiences"; nothing that I'd inflict upon anyone else.
I guess I'd add "... but don't release it". If it's just to build up a portfolio, you can usually make the source code available and maybe a demo.
I do like the idea of "programmer portfolios", however.
Oh yes, damn learning. That pesky little utterly useless thing. Heck burning for eternity in the fires of the underworld is preferable to having learning "inflicted" upon oneself.
I think he's saying that the result of his learning experience, while valuable to him, is not something that you or anyone else would find usable or enjoyable.
There are some differences in approach that need to be considered.
If you're building an app purely for fun, you can expect users to create an account before they start using your software.
If you're building a business, you may need to allow people to try your software without creating an account at all. The alternative is a super-high bounce rate. This could arguably be called a UI issue, but it's also marketing.
If you don't think about stuff like this from the start, chances are you're going to need more than a trivial rewrite if your idea starts to take off. If you're intent on bootstrapping in your spare time, that can be a killer.
Having fun in everything that you do should be the goal. Even if the motivation is purely profit, you should still try and have fun. Otherwise what, ultimately, is the point? Eventual riches will be meagre compensation for decades of unhappy toil. This is an extension of the John Lennon quote, "Life is what happens to you while you're busy making other plans."
Unless you're forced to do something to avoid catastrophic personal circumstances for you or your dependents I guess.
It's a bit of both. You need the app, and the best apps are ones that solve problems you know well. They can become businesses if the problem is one you share with a wide enough number of people. I guess the thing to keep in mind, is if you don't think about profit from the outset, even if you don't initially seek profit, you'll never be able to make profits.
I may be over-thinking this, but when I read articles like this I relate it to the difference between "social norms" and "market norms." When you're doing something in the realm of social norms (e.g., for fun, for helping other people, for recognition, etc.) it's great because you get that warm fuzzy feeling inside for doing it. The minute you cross into market norms (accepting profit for what you've done), it takes on a different form entirely and can lead some people to be less productive or motivated in their pursuit. Not that either way is necessarily good or bad, it's just that when social crosses into market the initial spark can lose a lot of its appeal. That might be why a lot of weekend projects are never properly monetized. Apps built for fun are great when they're purely in the social norm realm (and stay that way), but lose a little bit when they cross into a for-profit.
I think it comes down to what your motivations are--money or fun. Then there are companies like Twitter that have no obvious revenue model when they get started, so do you call it a business? And how often do the Twitters of this world really scale up enough to actually call themselves a business. Given you're a developer, you're going to focus more on the creation of the product. Whereas someone without those skills is going to approach it from a business perspective in all likelihood. If it's just a weekend project, I would say go have some fun with it. But if you're going to invest some time in it as a way to make a living, it's worth doing that ground work before you even get started to make sure people are willing to pay for it.
You wouldn't leave your job to build apps, but you might to build a business.
Of course apps are fun to build. But making something profitable involves doing a lot of things which are not fun, marketing for example. At this point, someone simply making an app is likely to walk away and just build another. After all, their goal was simply to have fun.
It's scratching those little itches that often times leads to a business, while many times, the business first product 2nd leads to pivot, after pivot, after pivot.
I think both work, and the answer lies in the middle. Scratch your itch, and then see if it can become something bigger. I think Balsamiq is a great example of this.
This seems to be comparing apples and oranges. If your goal is fun, build an app. If your goal is money and freedom, build a business. Sure one _might_ morf into the other, but if you have a goal, work towards it, don't just hope to stumble into it.
From the article itself I couldn't agree more on "The ultimate resume". A passionate developer with a lot of cool tiny projects (as his playground) can get plenty of job offerings - as long as the ideas show potential and are executed well. Also, as Sahil mentioned, one of the projects can start small but grow into a big successful business.
"I’ve gotten more job offers because of the stuff I’ve built than the schools I’ve attended."
I feel like this may be true for many in progress students at middle to high tier universities - however once you have a degree from MIT/Stanford/Caltech/Cal, the interest in candidates for full time jobs shifted from having miscellaneous side projects and contributions to FOSS projects to having a decent GPA and a degree. I feel that the writer of the article could try to discuss that the two are at least tantamount, the degree from a distinguished university is a display of four years of hard work, weekend side projects most of the time span the weekend.
Don't set off to build a business for the sake of building a business, build something for the sake of building it and then see how it goes.
How come?
(I personally don't think there is a right answer here. At different stages/situations, I have done both: set out to build a business and set out to build an app. I am just intrigued by those who believe one is inherently better than the other.)
I agree with you. But in a way, isn't that the 37Signals story? Basecamp was a byproduct of their consulting job -- something they just made for dogfooding. They realized they could make money and then released it as a business.
Along with the "build a business" mantra, they also build apps, but they are pretty quick at converting them into businesses when they see the opportunity. When they don't see a business opportunity, they do other things (like releasing Ruby on Rails)
It's exactly what 37signals did. They scratched their own itch by building an app that they wanted to use. It then happened to make a ton of money and eclipsed their consulting revenues. They didn't start off to make all this money, but it was a byproduct of the passion they put into building the app. Many great software success stories are similar to theirs.
For every 37signals there are at least just as many examples of companies that set out to build a business...and built it. I can see why scratching your own itch may be the better way in certain situations. But I can just as easily see going all out to build a business of apps.
Is there even a way to gauge which one is "better" other than personal preference?
Ironically, that's a good business idea for someone: 'MonetizeMe.com'
It would be a company that specialises in taking a working web-app and setting up the payment gateway and other details necessary for making it a commercial endeavour. In return they get a slice of the profit or something. While the original developer doesn't need to endure the headaches of commerce to reap the benefits.
This is absolutely true, and the heart of the distinction. If you are happy with a regular job, then definitely go that route. Building weekend apps and such will keep you up-to-date and you'll be highly prized anywhere you go.
However! For many of us, we simply cannot be happy in a regular job. For whatever reason, it rankles and chafes us. For lost souls like this, we need to find a way to monetize and build businesses in order to escape.
I envy people who love their jobs. It seems like a simpler, more satisfying life. It's just never been that way for me.