Build apps not businesses.
sahillavingia.com
sahillavingia.com
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.
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.
No. Somebody could, in a logically consistent way, be unhappy when doing absolutely any job.
I think that's a meaningful interpretation. In fact, I think this situation is pretty common among people in the world.
It's more like saying, "I can have the best chicken in the world, but I like steak."
You equate working for someone else to working for yourself. Others don't think that way.
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.
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.
Step 1: Steal Underpants (Build software) Step 2: Step 3: Profit!
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?
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.
Setting up a paypal account takes minutes and will be enough in such an early stage.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.
If you want to build a business, do so.
If you want to build an app, do so.
If you want to play games all weekend, do that, and if you want to build a small tool just for your own use, do that.
Trying to come up with a strategy that all developers should follow misses the point that we are all individuals with our own needs and goals.
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 systemSure, 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.
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.
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.
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.
Plus there's that other part where the first two times I implement something it looks like utter trash, and then the third, hey, that's alright.
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.
Unless you're forced to do something to avoid catastrophic personal circumstances for you or your dependents I guess.
What we can agree on, obviously, is to encourage folks to get off their ass and ship something. What is best to focus on is up for debate.
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.
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 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.
But hey, whatever floats your boat is right.
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.
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)
Is there even a way to gauge which one is "better" other than personal preference?
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.)
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.
Build success.