13 ms·
I think it ends with everyone becoming a developer. Making machines do things will never end. However, the tools for making machines do things is evolving very
by mrtksn 5y ago
I think it ends with everyone becoming a developer.
Making machines do things will never end. However, the tools for making machines do things is evolving very quickly.
The general art of being a developer will continue to get specialized and at some point specialists at any field would be expected to be able to program their machines.
Very few people are learning how to run their servers and much more are moving into AWS type of infrastructure and “cloud literacy” has become a thing.
I would expect layers of abstraction to continue to build up and programming to become something like using spreadsheets to do your actual task.
Eventually, “true programming” will scale back to building these tools. It would be rather niche, very high skill serious engineering - an elite, hard to get in profession that continues to fetch high salaries. They probably will have some kind of association similar to the lawyers/doctors, the code they write will no longer tolerate bugs as a fact of life but they will be responsible as any other licensed professionals. Skipping unit test will land you in jail or very high fine due to malpractice if something goes wrong.
- 300bps 5y agoI think it ends with everyone becoming a developer Not in a million years. When I was 10 I got my first computer and spent 12-16 hours per day on it every day learning BASIC, 6502 Assembly and many other languages. All the adults at the time thought, “this is how all kids will be from now on!” Except none of my peers did it. The generation after me only had a small percentage of people truly interested in computers and it hasn’t grown much since then. I’ve interviewed a couple hundred computer science graduates from top schools for jobs and the vast majority of them didn’t touch their first programming language until college. And these are computer science graduates! A large percentage of the total population is outright technology hostile and proud of it.
- czbond 5y ago>A large percentage of the total population is outright technology hostile and proud of it. Can you expand on this? I was one of the CompSci because I loved it people - and find it hard to fathom this - and could use some insight.
- JohnBooty 5y agoI'm not the parent poster, but I see this as well. I think the majority of folks are comfortable with Netflix and smartphones and social media, but these are dead-simple and mostly passive experiences explicitly designed for the lowest common denominator in terms of technical proficiency. Beyond that, a lot of people kind of hate technology. And why shouldn't they? It's fucking horrible. Stuff breaks easy and gets obsoleted. Social media is a hellscape and actively makes them feel bad, a steep price to pay for seeing pics from their nieces and grandsons. Everybody hates the shitty touch controls in their cars that require you to click through a bunch of screens instead of just twisting a physical knob. Tons of consumer tech is literally spying on you. Most of it is user-hostile in some way or another, and at a minimum everything is trying to get you to sign up to some subscription service and will also stop working as soon as the manufacturer loses interest in keeping those servers running so you never feel like you actually own everything. You can't even enjoy Christmas morning any more; it's five hours of software updates. Oh, and Slack and other communication tools are the thing their manager uses to harass them every five minutes. I bet a significant portion of the American population experiences a literal spike in blood pressure and cortisol levels when they hear that Slack notification SFX. There's a lot of cool tech out there, but consumer technology is a fucking nightmare.
- tupac_speedrap 5y agoHow is not touching a programming language until college a bad thing? Some people just want to make a living out of software engineering and then go home and they aren't sweating over Web 4.0 or whatever we are on now.
- CydeWeys 5y ago18 is awfully old to start learning something for the first time. Imagine saying the same thing about math, reading, or history. It's harder to pick things up when you're older, and it leaves fewer people capable of it. See also: learning human languages.
- krainboltgreene 5y ago
- imwillofficial 5y ago
- Kaze404 5y agoThis is the saddest thing I've read on this website. I hope for your own sake you allow yourself to learn new things in the future.
- strken 5y agoIt's not about what you're allowed to do, it's about what professionals in a field need to do to get to the top. I've been programming since I was 8. I've been drawing since I was 29. I will probably never reach the same percentile of drawing ability that I have with programming ability. That's okay for me because I enjoy it anyway, but from the perspective of training people to do their best work, starting younger can lead to higher ability.
- joe5150 5y ago
- nogridbag 5y ago> Except none of my peers did it That's a good point. I still remember how excited I was writing my first app in BASIC at school: What is your name? > John Hello John! I was so excited I tried to copy the program on a floppy disk to play with at home but I could not figure out why it didn't work. I now realize the school used Apple II's and my parents had a PC at home. I've always thought because today's generation grew up with smart phones, tablets, and ultra realistic games no one would be interested in getting started with coding. But reading your comment I realize the whole school was exposed to the same class and very few of my classmates would go on to major in CS.
- rayiner 5y ago> I’ve interviewed a couple hundred computer science graduates from top schools for jobs and the vast majority of them didn’t touch their first programming language until college In the US?!
- smrtinsert 5y agoThis is something I've realized as well. There's only a few of us that are excited to do this work and that's what you need to do it longterm.
- deleted 5y ago[deleted]
- ldjkfkdsjnv 5y agoThe problem is, at the end of the day, business logic needs to get encoded in the program. So all the abstractions cant abstract away the domain specific "if else" statements. Infrastructure itself will be a solved problem, and we will implement interfaces like serverless lambas, but it still remains, the logic of the business needs to go in the code. OOP itself is meant for building relationships between sets of business logic, and coding that, as has been discussed, always ends in complexity and needs thought
- sakoht 5y agoFred Brooks' classic "No Silver Bullet" outlines this fundamental principle of software engineering physics. Written in 1986, the paper has its own wikipedia page: https://en.wikipedia.org/wiki/No_Silver_Bullet https://en.wikipedia.org/wiki/No_Silver_Bullet
- galaxyLogic 5y agoIt's not only that we need to code the business logic in a programming language. To a degree we must also design those business processes. That is programming too, programming your people.
- deleted 5y ago[deleted]
- JohnBooty 5y agoI would expect layers of abstraction to continue to build up and programming to become something like using spreadsheets to do your actual task. But in general, people have been saying this for 50+ years. It hasn't happened yet for (at least) two reasons. 1. Increased demands on programmers have increased at least as quickly as their productivity has skyrocketed. 2. Non-trivial systems will require some non-trivial encoding of business and data logic. You can simplify the tools all you like, but at some point the tools are no longer the limiting factor and some complex logic has got to be dictated to the dang computer, somehow, by somebody. It is then going to need to be tested and deployed. It is also going to have to be built in ways that are maintainable. Most programmers struggle with these things in 2022; we are nowhere near making this easy for laypeople. If anything I feel that infrastructure has gotten way more complicated in the last 10 years. Something does need to change. The current situation is unsustainable, with programmers commanding insane salaries. At some point it becomes a limiting factor on the economy. But our tools are decades away from being usable by non-programmers. I see no possible solution besides increasing the supply of programmers.
- mrtksn 5y agoJust because it has not completed doesn't mean it isn't happening. These days very small number of people know how computers actually work(how many know assembly or even C?) but there's a huge number of people building their businesses by programming machines do things. In the last 20 years, people were using languages close to English to express their ideas to a computer and make it do work. You touch computer science stuff only when you dive deep in something that hasn't been commercialised completely and when the market is large enough it quickly develops into services where you tell the computer do things in "plain English". The cloud is a good example where 20 years ago you would have to understand the architecture of server systems and networking, these days it's just a form you have to fill and express some rules about accessing the resources in "plain English". Similar abstractions have been happening everywhere, from AI to game development or graphics generation everything is so abstracted that all you need is to learn the tool through a few tutorials to be productive. Many people start from the high level abstractions and dive deeper later on since many years. You first build your multiplayer game, make some money and then maybe you learn about stuff like DNS, TCP/IP. That's only possible because networking and server management is completely abstracted and the game developers only interact with the cloud provider's SDK that handles all kind of edge cases and optimisations.
- HillRat 5y agoI think this tends to overestimate the amount of time folks who aren't developers want to spend developing. Most spreadsheets, even of the complex variety, exist as steps in a chain of human decisions -- they basically replace notepaper and calculators. (Spreadsheets that act as inputs to software chains are usually created by developers.) Having previously been involved in architecting and building enterprise low-code/no-code solutions, and then working as a strategy consultant thereafter (including partnering with other major low-code/no-code vendors), I can say that what the business wants to do is sketch out the rough plan of how a process works (with a couple of exception states) and have someone else go through not only the implementation, but the hard work of dealing with all the error states, data cleansing and ETL, deployment, and monitoring, while they get on with the hard work of actually doing their jobs. There just isn't an appetite for people to do two jobs at once. What the article seems to miss is that companies are currently being much more aggressive in nearshoring work -- there's a huge boom in Mexico and LATAM development that's pushing up salaries there (as has happened in Eastern and Central European states). One thing that's distinct from the offshore boom is that, if you weren't a major consulting org, your offshore folks probably weren't colleagues, whereas with nearshore you're much more likely to see them integrated into the organization (again, due to TZ and the ability to fly someone in at the last minute for meetings). It'll be interesting to see what this does to the Mexican/LATAM economies -- Costa Rica, for example, with only $5mm people, punches way above its weight in software services exports.
- josevalerio 5y agoCouldn’t agree more with your second paragraph. A phrase that’s been drilled into me in the past year is “undifferentiated heavy lifting that’s not core to your business”. The things you listed just don’t matter from the business point of view. They don’t care how the app works, who runs it, what cloud provider is hosting it, what tools were used to build it, only that it works when it needs to and they will happily pay the bill so their employees can focus on making the company money doing what they are good at. Zack Kanter from Stedi talks a lot about this.
- sdepablos 5y ago
- Msw242 5y agoNocode tooling available today is already extremely powerful. That doesn't mean non-technical users can really leverage that abstraction well. What I've seen is that the abstractions give the most leverage to developers and developer adjacent people... Think people who started in comp sci, but don't really enjoy writing code.
- pinephoneguy 5y agoI have more hope in education improvement than tooling improvement. There's that famous study where it was found most people can't communicate the difference between xor and or. If you can't do that then you can't read/write specs even for yourself.
- lanstin 5y agoRe: cloud stuff, sure I do less management of physical machines, but because I understand how stuff actually works, when I worked at an AWS shop, I was the go-to person for debugging and fixing problems with compute or network. And because I can write understandable code, I was able to move the infrastructure from point and click to repeatable terraform deploys that actually have a chance to fulfill the promise of cheap and scalable infrastructure (rather than rebuilding "every CPU is sacred" but in the cloud). Clear thinking, applying the power of "make the computer do it" and knowing how stuff works is always going to be super-useful, as everything turns into software.
- seanmcdirmid 5y agoIn a few thousand years, programming will be a forgotten profession and only program archeologists will remain to scavenge code from the past into uses for the present. At least that’s what Verner Vinge wrote in one of his science fiction books.
- visarga 5y ago> only program archeologists will remain to scavenge code from the past into uses for the present You mean CODEX like AIs?
- no_time 5y agoThe question is, how? Computer literacy has already peaked and the body of knowledge one needs to understand to make a difference is steadily going up.
- himinlomax 5y ago> I think it ends with everyone becoming a developer. Unless we get genetic modification tech to improve abstract thinking skills and other traits, it's as likely as everyone being able to become a painter, a musician, a diplomat or a mathematician.