You seem to be contrasting running a small business with running a large business. My impression was that the article was contrasting running a small business with working for The Man. If so, the original author's argument has merit.
For one thing, software development is almost entirely a knowledge-based industry. It does not require external funding to reach any useful viability in the way that, for example, a factory for industrial machinery or a large retail store would.
Moreover, in software development, the mechanical grunt work is trivial. The real value is determined by things like project ideas, business models, dealing effectively with users, and ability to convert those into a useful software design. That means small teams of really good people can punch way above their weight class.
As I see it, those basically negate the two big reasons most projects would necessarily be implemented by a large company (scale of people and scale of materials). That pretty much leaves variations on the themes of community/personal development and regularity/job security as the major reasons a good software developer might choose to work as an employee of a company rather than going it alone or with a small team they put together.
After a few years, I came to the conclusion that both of those benefits are mostly illusory. Does employee #32,768 at BigCorp, Inc. really have more job security in the current economic climate than a contractor with four or five repeat clients, or than three guys running a lifestyle business that has 1,000 customers and enough money coming in each month to easily pay everyone's bills? And do employees at big companies really develop skills and experience faster than a bunch of guys who build an entire working business from scratch or a contractor who works with four or five different technology stacks within a few months?
I'm not saying employment isn't for anyone. Obviously the kind of regular work environment it brings suits a lot of people, and not everyone wants to take on all the other stuff that goes with doing it all yourself. However, those are basically social constraints rather than technical ones. They don't reflect on the potential value a particular software developer could contribute to a project.
I notice that several people in this discussion have pointed at the need for some things to be done at scale. Pg himself wrote:
> If that happened, the whole world would crumble, because we wouldn't have any technology bigger than could be built by lifestyle businesses.
But the way I see it, every successful large project is either a successful small project that grew or a bunch of successful small projects that learned to interact effectively. No-one says that just because you decide to run a small business instead of working for the The Man today, you can't grow that business or collaborate with others tomorrow.
For one thing, software development is almost entirely a knowledge-based industry. It does not require external funding to reach any useful viability in the way that, for example, a factory for industrial machinery or a large retail store would.
Moreover, in software development, the mechanical grunt work is trivial. The real value is determined by things like project ideas, business models, dealing effectively with users, and ability to convert those into a useful software design. That means small teams of really good people can punch way above their weight class.
As I see it, those basically negate the two big reasons most projects would necessarily be implemented by a large company (scale of people and scale of materials). That pretty much leaves variations on the themes of community/personal development and regularity/job security as the major reasons a good software developer might choose to work as an employee of a company rather than going it alone or with a small team they put together.
After a few years, I came to the conclusion that both of those benefits are mostly illusory. Does employee #32,768 at BigCorp, Inc. really have more job security in the current economic climate than a contractor with four or five repeat clients, or than three guys running a lifestyle business that has 1,000 customers and enough money coming in each month to easily pay everyone's bills? And do employees at big companies really develop skills and experience faster than a bunch of guys who build an entire working business from scratch or a contractor who works with four or five different technology stacks within a few months?
I'm not saying employment isn't for anyone. Obviously the kind of regular work environment it brings suits a lot of people, and not everyone wants to take on all the other stuff that goes with doing it all yourself. However, those are basically social constraints rather than technical ones. They don't reflect on the potential value a particular software developer could contribute to a project.
I notice that several people in this discussion have pointed at the need for some things to be done at scale. Pg himself wrote:
> If that happened, the whole world would crumble, because we wouldn't have any technology bigger than could be built by lifestyle businesses.
But the way I see it, every successful large project is either a successful small project that grew or a bunch of successful small projects that learned to interact effectively. No-one says that just because you decide to run a small business instead of working for the The Man today, you can't grow that business or collaborate with others tomorrow.