shot
Yeah, yeah, it's not rockets to mars or whatever, but I think we've spend DECADES trying to figure out how to abstract away the lower parts of the stack. The last big leap was AWS, and it forced a choice for a lot of people: do you want to work at AWS? or do you want to work on applications that run on AWS? The API is so strong that you can't do both.
There's a similar thing around operating systems, networking tools, and containers. Heroku was a cool PaaS, but ultimately is a little too inflexible to work for everybody. Companies keep rebuilding these internal PaaS systems, and I think Kubernetes has finally nailed it. It's lacking the primitives to do traffic management and introspection, and Envoy / Istio provide those primitives.
Many people see these technologies as an endgame to themselves, but the Istio community has started talking about how they're a platform themselves, and that feels correct. Like AWS, you can abstract away a TON of this stuff, and you will divide people into those that keep a cluster running vs. those that build apps on top of it. The specialization gains will be on the same level as dynamic infrastructure, imho.
Disclaimer: I work at a company that wants to build on top of this new world, but I joined them because I believe this, not the other way around.
3 -4 years go in my sector cloud felt very much like an emerging thing. Now it's absolutely "here", and I would encourage anyone with an interest in staying current over the next 5 - 10 years to get into this stuffif you're not doing so yet!
Things that come to mind are Namecoin, I2P, IPFS, and other tech on the pipeline that can bring the internet closer to it's original ideal of distributivity, each person responsible for their content, etc.
Those are also free software ideals: while great strides have been made in open sourcing user-side software, (mainstream android, Linux on servers, etc), the internet just hides a massive closed system: before you could at least inspect how things work through reverse engineering, but querying web servers is literally a black box model. The problem that not everyone wants to run their own server or even deal with renting out can largely vanish from certain applications. We've started with the easiest ones, which were file sharing (reputation-free), then Bitcoin, with more basic web tasks incoming.
It's important to keep in mind most of those are fit for low-efficiency. Unless we have a breakthrough with Fully Homomorphic encryption, the bulk of computing itself will be centralized (or you will have to accept a mix of high cost or unreliability).
Lots of folks are working on different, less wasteful ways of making blockchains more resistant to attack - the most well-known of the alternatives being proof-of-stake which is essentially a betting scheme. It's a fascinating area of computing if you go beyond the hype over the BTC price.
There is a chance that all factory work becomes like a video game.
Tele-ops robotics would lead to:
- large-scale redistribution of physical/blue-collar jobs (bigger than "software" over last 20 years)
- allow new business models that were never possible in manufacturing (e.g. robots for "rent" - subscription model, gamification, flex-work like Uber for tele-operated robots in manufacturing; low-volume sales)
- order of magnitude better physical health of workers (lower injuries, more fun)
- savings for manufacturers (not just on labor, but lower insurance etc.)
- a 20 to 30 year hedge against the invention of general AI that seems far away and what other roboticists are chasing.
There is a potential to release huge latent wealth by creating a new industry (potentially trillions in value could be released over the next 10 years - no single company would capture it, but it would create something at least as big as "software").
Tele-ops is already successful for surgeries and dangerous situations. But it should be it’s own “field”
Backend development in the way it was done using Ruby on Rails, Laravel or Express.js will become less and less appealing since the abstractions offered by the mentioned technologies are increasing development speed and generally very cost-efficient.
GraphQL minimizes the data transfer over the network by letting client applications ask for exactly the data they need, thus also making the life easier for frontend developers! Having productive engineers also makes product iteration a lot faster and cheaper, which directly results in business value!
Finally, Serverless enables great deployment workflows and minimizes the overhead companies need to invest in DevOps.
For instance, we're helping web developers to automate their regression test construction. This frees the developer up to develop their code, rather than spend all their time developing test cases: https://swif.club/?s=hn1
Don't tell the mathematicians that. There's a lot of informal DL floating around.
Design: increased efficiency and distance. Automation and auto pilot.
Applications: find new verticals to apply this technology. Many industries can be disrupted.
Having to consider additional degrees of freedom (z-axis, correction for wind/weather conditions) makes autopiloting drones additional degrees of magnitude harder.