Why do you think that is? I'm not sure what you're referring to exactly.
>B) Large companies are controlling more areas than ever. People often wary of regulation as a barrier, but as time goes by the market participants creates their own barriers. Many areas are just harder to have an impact in than it used to be.
That one definitely sounds true to me, the complexity of modern software definitely makes it harder to be competitive with big shops. You can be the smartest coder on earth, if you want to write a complex application today (say, video editing software, smartphone interface, a kernel, a web browser etc...) you're looking at man-years of work if you want to start from scratch. And if you don't start from scratch it'll be harder to differentiate yourself from the competition and "disrupt" the status quo.
I'm always amused when I read stories from the 70's and 80's about lone hackers writing a cool hack for a computer or application of the time and managing to sell it for a lot of money. Like this story I remember reading on HN of the hacker who managed to write a task switching application for some Apple computer of the time and managed to sell it to Steve Jobs (I don't remember all the details and I can't find the article at the moment). It was a clever and completely non-portable use of the hardware resources, in the end it was probably a few kilobytes of (very clever) code. It's hard to imagine something like that today.
As software professionals, this is a problem of our own making. Nobody is asking for software to be complex. Users don’t want complexity. Development companies don’t want costly complexity. Software developers don’t even want complexity. Who has sat down at the start of a project and said, “you know, this software needs to be as complex as possible!”
Yet we keep building complex software. Layer after layer of libraries and APIs. Frameworks and more frameworks. Containers. Multiple languages. Front end and back end. Machine learning. Problems that used to be solved on a PC now require a 150 node cluster.
It’s fashionable to throw huge teams, hardware and middleware at problems these days.
There is still opportunity for the lone coder and the lean startup. You need the competence to stop writing all these bullshit layers and code simply.
Sure, there are lots of times where you're better off ignoring these user requests, and where scope creep or bureaucracy or tech debt or just sloppy coding introduce unnecessary complexity. But even if we could always build exactly what users want and always build things cleanly starting from a blank slate, software would still be complex.
The VC cash machine has brought us nothing except short term thinking, get-rich-quick schemes, social manipulation, herd mentality, idol-worship, media corruption and corporate growth.
I look forward to the next tech bubble. I hope they all get wiped out.
Firstly, I will enjoy watching them fail. It will make me happy intrinsically. If I lose my software engineer job and have to work as a janitor for a while, it would be totally worth it.
Secondly, the subsequent failure of their portfolio companies will free up a huge amount of marketshare in many industries; some of which I will be able to capture with my own side project until I can afford quit my janitor day job.
Oh look at all the overly complicated crap I can put up with. I must be amazing.
Complex systems evolve from simple systems. One reason we keep winding up with new complex systems is because of folks saying "it's too complex, let's start over without all these bullshit layers and code simply", where "bullshit layers" and "simply" are variables set by the prevailing environment.
Edit:
> It’s fashionable to throw huge teams, hardware and middleware at problems these days.
My theory is that it comes down to :
- Clients and managers thinking that the UX/visual look has something to do with the front-end framework, forgetting that in the end any web app is just HTML, CSS and JS, and frameworks having more to do with maintenance.
- Shops lacking seniors, and young engineers (legitimately) more interested by the tech than solving the business problem in a boring way.
So here we are with the "fashion" that any business app must be done as a SPA "because it needs to look modern". You can see the opportunity.
It really seems like things like PARC was an anomaly. Companies eventually figured that it was just better to "be part of the problem" and make a lot of money like in many other industries.
Users wouldn't tolerate WordStar and Pac-Man today.
https://www.folklore.org/StoryView.py?project=Macintosh&stor...
I disagree. If you want to make a competitive product to the products made by big shops, then that is true. However true innovation is often making something in a category that is new or not well served.
When Jobs/Wozniak made the Apple 1, they weren't competing with big shops mass producing other desktops, they were competing with the likes of MITS producing build-your-own computer kits.
Also the prevalence of on-demand services and APIs now mean you rarely have to make lots of complex software from the ground up. The secret is to find some value your software can deliver which competitors don't exist for, or don't do well.
If you look at the boom in solopreneurship and side projects it's self-evident to me it's never been easier.
Aside: the reason the 'cool hack' stories don't exist now is that they were often about using limited resources to do things that were seemingly difficult/impossible on the available platforms. So they were still examples of new software delivering value. But now as we are far less resource-constrained, and software as a whole is a lot more mature, these opportunities are a lot more scarce.
There are a lot of stories of people falling into technology entrepreneurship by showing up. I guess you could say that it was less competitive (which it was), but I also think that society was more lenient. We hadn't figured out yet how to charge a lot for everything. If some landlord was 'greedy' you could move to some adjacent area. Today with information spreading so fast everyone knows not only what something is worth but what it could potentially be worth and price accordingly.
Like this story from Max Levchin starting with "I didn't really make any arrangements, so I just crashed on Scott's floor" [0].
[0] https://www.businessinsider.com/max-levchin-paypal-affirm-su...
The gaming industry still has room for lone coders to make a difference. Many of the top indi games are/were written by individuals (KSP, Minecraft) or by very small groups (Factorio). Sometimes being able to do something leaner, with less code, means you can win ground against the biggest of big guys (City Skylines over SimCity).
Sure but my point is more general: if I create a new lean web-like protocol and client and it can't display videos, feature interactive content, arbitrary styles etc... How do I drive adoption?
I can convince the suckless folks that "less is more" and that it's "the unix way" but outside of that circle I'm not sure who's going to use my software.
All software seems to be going in the opposite direction. For instance I'm a heavy user of IRC, these days the type of communities you could find on QuakeNet 15 years ago are on Discord, a super heavy webchat client that manages to slow down my beefy desktop computer when run on pre-quantom Firefox. The Discord client is probably several times heavier on resource usage than the Quake game itself!
It might come from a piece of software that solves a problem for some group of people that a browser can't, and then evolving towards the mainstream replacing the role that browsers have right now making them obsolete
It depends. You could say the same to Igor Sysoev when he started to write Nginx, for example.
So, e.g. web browser with all the main Chrome or Firefox functions but working 2x faster on mobile and eating 3x less memory would disrupt the browser market indeed.
Also sometimes we self-impose complexity with our tools. For example I recently displaced a competitor with a full team having a hard time delivering because of the disproportionate complexity of their stack regarding the problem (full SPA for a simple CRUD app), where I could do it as a solo effort costing ten times less.
Complexity. Consumers demand more complex applications. Platforms have more complex requirements.
It means once you've made it there's a barrier to entry that keeps you protected, so you may as well go big or go home.
I pitched a startup idea today to an accelerator judging panel. There were three distinct software components to it, each quite complex in the detail and I had three minutes to cover the lot because they're flooded with candidates even after the first sift throwing 80% away. Yet, comparatively it feels quite simple - no AI or ML involved or highly regulated areas.
I might go and find a pong clone to play to cheer myself up.
https://forwardthinking.pcmag.com/software/286148-the-rise-o...
Disruption to me is a power grab and you have to do it with some exuberance or why bother?
I think another way to say this is that the value of time has fallen as the amount of funding available has risen. The prototypical hacker working nights and weekends was a _response_ to the lack of available capital: work harder if you can't hire.
Its like an arms race. Two hackers of equal aptitude start working 120 hours weeks on identical startups targeting similar markets. The one who stops doing that and instead raises a few million to hire a large team and spend lots of marketing dollars is going to win that market (though it may be less profitable).
As more funding chases fewer projects, that point moves earlier and earlier in the process until only a fool would spend 120 hours a week instead of raising money right from the beginning.
I feel startups did this to themselves. It used to be that you'd work for a startup and the equity was supposed to pay off if the startup was acquired or took off. Now, even though a startup may sell for several billion or go public, most employee's equity has been diluted to hell and back, barely making up for the lower salary.
And I don't intend that to be an elitist statement. It is like the difference between playing an instrument and being in a band. You might be better by yourself, but it really the ecosystem that is going to take you to another level in terms of success. I think that sort of ecosystem is harder than ever to access. Especially with the rise in cost of education and housing. It is hard to start a software band these days.
Oh, and the thing about making them move to San Francisco. Not even just the greater Bay Area, which is bad enough, but to the most expensive part of it.
https://www.newyorker.com/magazine/2002/07/22/the-talent-myt...
A) Maybe the most important is time. You need time in a good environment to actually develop something. Which has become a lot more costly.
B) Large companies are controlling more areas than ever. People often wary of regulation as a barrier, but as time goes by the market participants creates their own barriers. Many areas are just harder to have an impact in than it used to be.
C) And then there is just competition, especially for things like talent.
I guess it isn't the lean startup that is dead so much as the environment for it. You can say the same thing about co-operatives, non-profits, community establishments and a lot of other things that are good ideas (probably more so than ever) but not able to flourish because of other interests.