These are the two prevailing point of views that I’ve seen spread the most on social media.
On one hand, you have people saying that programming a...
For further actions, you may consider blocking this person and/or reporting abuse
Those that say that "software engineers will be obsolete" are the ones that think that software programmers write code 100% of their time like Matrix console.
Actually writing code is 20% decreasing to 5% of the time as a programmer gets more seniority. And it's actually the easier part.
Actually software engineers strive to have an automated tool that will ease the tasks done in the remaining 80% to 95% of the time.
Anyway, as any other technology we'll use it to be more efficient. And, as any other technology, the world will need tech savvy people that can master it.
The difficult part is: how to guarantee reliability and observability of something that, by design, we cannot check and inspect in depth?
I appreciate the perspective presented in this article, although I respectfully disagree with the notion that AI is a fad and programming is dead. While it's true that AI has garnered significant attention and hype in recent years, dismissing it as a passing trend overlooks the transformative impact it has had and continues to have across various industries.
Programming, as a skill, remains as vital as ever, even in the era of AI. While AI may automate certain aspects of coding and streamline certain processes, human developers still play a crucial role in designing, implementing, and maintaining these AI systems. Furthermore, programming extends far beyond just AI, with applications in web development, software engineering, data science, and more.
To gain a more comprehensive understanding of the evolving relationship between AI and programming, I invite readers to explore another insightful article at readmorr.com/is-it-worth-learning-.... It provides a balanced perspective on the value of coding skills and how they intersect with emerging technologies like AI.
Rather than viewing AI as a threat to programming, I believe it offers exciting opportunities for developers to leverage its capabilities and push the boundaries of what's possible. By embracing new technologies and continuously honing our skills, we can adapt and thrive in this ever-changing technological landscape.
I have 20 years of experience in software development and writing code is still the majority of my day. Thinking about the problem is considered "writing code" if you ask me. Also, expressing it in a programming language, so that it's both performant enough and has a nice interface (I build software libraries/frameworks for other engineers to use), scales well as the project gets bigger and harder to maintain, is not an easy task in any language.
The author of the above post probably talks in the context of web development. But there are many more difficult parts than that.
BTW, You are making a good argument to lower salaries of developers. LOL
OR... developers should be paid more because at least 80% of the time are forced to do a job they are not prepared for but they are asked to do efficiently :D
No one asks the plumber to fix the shelf in the living room. But everyone ask developers to understand and work on product specification, design, UI, UX, data management, data engineering, infra...
I absolutely agree.
Software Developers/Engineers are not paid to code. They are paid to solve business problems with code being a small part of the solution. Check out the Software Development Life Cycle.
I think the most challenging task for Software Devs is obtain a firm understanding of the problem followed by establish an in-depth awareness of the domain in which a solution has to operate. At the same time they have to keep up to date with advances in the technology stack and the latest development techniques and tooling.
As you said - coding is the easy part.
No, no, no.
Software Developers are paid to convert solutions into software. I hate when people try to make a developer into many things. Project Manager, Business Analyst, Program Manager, etc.
When you go to school you learn how to write code with a particular language. Developers are not suppose to come up with the solutions.
Ex. I want a website that shows me all employees that live in the USA.
That is a solution to a problem of not knowing which employees live in the USA. I'm just converting that to software.
"solve business problems" means: the problem has been already detailed by Project Managers, Business Analysts, Program Managers, etc.
The solution has been identified too.
Developers takes the business problem definition refined, the proposed solution, challenge it on tech side and, when everything is feasible from tech side, they implement it.
From my perspective, as developer, the worst implementations are the ones where the solution has been dropped from non-tech people and devs "just" translate it into code. The resulting code will be the next problem to tackle.
Hi Kyle, On this point I think we will have to agree to disagree.
When I was taught my trade of 30+ years, which is a decade or two before you I guess, we were instructed in a variety of programming languages (not one "particular language") with a view to applying the one most appropriate to the task. I have yet to find a single language that is sufficiently generic it is appropriate for any problem.
You might argue our points of view highlight the difference between Software Developers and Software Engineers. Where (to your argument) Software Developers are employed to code/implement from a specification/design, I would argue a Software Engineer is required to understand all and deliver most of the Software Development Life Cycle (SDLC).
See: aws.amazon.com/what-is/sdlc/#:~:te...
Kind regards, Tracy
@ccarcaci -_ "From my perspective, as developer, the worst implementations are the ones where the solution has been dropped from non-tech people and devs "just" translate it into code. The resulting code will be the next problem to tackle."
We agree
@tracygjg - I was taught my trade 25+ years ago. :) I was taught multiple languages also. :) I was just making an example. I have a MS in Software Engineering and I would agree Engineers deliver all of the SDLC. But we shouldn't be responsible for solving problems in a non-technical sense. That's all I'm saying. That for people with MBA degrees.
Developers/Engineers should be gathering the solution requirements.
No engineering discipline comes up with the solution. We implement solutions.
I liked the post, especially your points about the S curve. I've been thinking a lot about how much more sophisticated these tools are going to get before things level out, but now you've given me some vocabulary to talk about that.
I appreciate the perspective presented in this article, although I respectfully disagree with the notion that AI is a fad and programming is dead. While it's true that AI has garnered significant attention and hype in recent years, dismissing it as a passing trend overlooks the transformative impact it has had and continues to have across various industries.
Programming, as a skill, remains as vital as ever, even in the era of AI. While AI may automate certain aspects of coding and streamline certain processes, human developers still play a crucial role in designing, implementing, and maintaining these AI systems. Furthermore, programming extends far beyond just AI, with applications in web development, software engineering, data science, and more.
To gain a more comprehensive understanding of the evolving relationship between AI and programming, I invite readers to explore another insightful article at readmorr.com/is-it-worth-learning-.... It provides a balanced perspective on the value of coding skills and how they intersect with emerging technologies like AI.
Rather than viewing AI as a threat to programming, I believe it offers exciting opportunities for developers to leverage its capabilities and push the boundaries of what's possible. By embracing new technologies and continuously honing our skills, we can adapt and thrive in this ever-changing technological landscape.
I'd once again like to remind everyone that automation is good; it means we (humanity as a whole) will have to work less to maintain the same level of wealth. There will always be work only humans can do, until there isn't, at which point we can just lean back and enjoy life while machines do all the unpleasant stuff for us.
Well, what about the SexBot industry..
Are we good with automation as well
We have to admit the major advancement goal in the realm is the design and development of humanoid bodies that will go hand in hand (pun intended) with the advancement of A.I. making the personal A.I. (the I.F.) even more poignant.
As for how automation will work. If anyone has worked on the floor in inbound or outbound at Amazon fulfillment centers then they know the whole thing is designed for an A.I. Bot and not humans so pieces of the future A.I. puzzle are already made and in place at Amazon.
What do you think of a standard minimum income for all?
Once we replace more and more workers world wide we either have to pay them for other jobs or provide a minimum income to keep the economies of the world going I would think.
It is a choice of just how poor the world's population can get while some have the most... As usual right?
What do you think Wii?
I think the problem is that we're stuck in a mindset that worked well in an era that is now ending, where societies needed a large amount of labour to maintain themselves, and any improvements to efficiency didn't lead to reduced work requirements, but to increased standards of living.
We are now at a point where we are becoming so efficient, by means of automation, that a developed society just doesn't need as many work hours from every member as it used to.
At some point, we will have to face the reality that not every member of society has to, or will even be able to provide value to society, because at some point, whether in five years or in five decades, AI-controlled robots will just be cheaper and better at most repetitive tasks, specially stationary ones.
So unless we want to 100% of people to be programmers and engineers, there's not really any alternative to letting go of this antiquated notion that everyone needs a job. That's what machines will be for, after all.
Whether we end up with some sort of UBI, or abandon the concept of money entirely, who knows. Different places will probably try different models and time will tell what works best.
It's just so weird how we can look at this future where machines do everything for us and think "but how will I find a job".
We wouldn't worry about finding a job if society didn't force us to do so. I'm perfectly capable of filling my time with unpaid activities, but very few of us can imagine a (jobless) future where doing such a thing will result in decent standard of living.
Ah yes, The Star Trek future where Humanity seeks to improve itself.
I'm all for that.
If we are lucky we can enjoy something of that life when we get older but really the philosophy is carpe diem.
The Buddhist philosophies suggest that our reality is a stream (of).
Each day is like a stream or river, one can never dip their (proverbial) foot in the same river twice.
I found a quote:
So, my code friend. There is no time like the present to be.
This is only true if we are able to distribute the wealth well enough. And I am afraid we are not prepared to do that in the necessary amount to deal with what is coming.
Well, yes, but that's a problem that can be solved. Shouldn't we be working on figuring that out instead of being permanently afraid of progress?
If I take a look at humanity I really doubt we are equipped to solve this. I am not afraid of progress... I am afraid of humanities recklessness and inability to deal with things before they bite everyone in the ass. So, there's that.
Anyways I am working hard for a better future, on multiple fronts. But we who care are not enough, we get ousted by corporate interests. Responsibility is threatening profits, and in a purely capitalistic world profit is all that matters.
We act as if wealth is life.
That requires us to ignore realities the simpler forms of life don't.
To believe we are somehow not subject to death and it's finality because we imagine so.
The greatest Con-Job is getting the majority to go without now in promise of a great reward in some here after.
And, it's been going strong.
Well written and wonderful insights.
Very interesting read.
I had a quiet chuckle to myself the other day.
I thought A.I. will take over once the I.F. becomes a reality. I.F. "Imaginary Friend." I grinned because look how we line up or pay so much for, a new Phone. Just imagine having a personal A.I. from childhood and lasting all your life.
I believe no one must fear the future. The road ahead is a long one. Remember there were once folks that programmed their computers single bit by single bit until assembly language arrived.
I admire the writer's skills.
I suppose it is fair to say I am a hobbyist programmer just learning about making an open source project happen.
From my POV, this is how I see this going: many people from business-side believe that their job are much more important than developer's one, so that their job will be staying around forever and developer will one day disappeared from the product development. My answer to them is just simply like this: "If an AI is capability to replace such complexity work as programming itself, what make you think it will not replace your job first before mine?". This is just a simple fact for anyone who believe they will survive the AI replacement when it really happened.
Everybody think their are the main character in their own story, that their work is the most important, most value contribution, irreplaceable,... Especially when someone does not fully understand the true capability of the tools, they might overrate what it can do. That why so many businessmen believe AI will end the programmer's career - which is not true at all.
While AI - up to this point - can not yet fully replace the whole programming world (or any other jobs) at all, it can replace several fields of each jobs. Take our for example, maybe it will be replace developer who only able of doing general outsourcing tasks like: building basic UIs, coding the very basic CRUD operations,... Other more complex task that required more analysis, optimization,... will remain human required. Programming is easy, anyone can code, just open a console in your console and type:
console.log("Hello, World")
and waa-lah. But build an application that suit customer's requirement, comfortable for users to use, fast and reliable is completely different story, it is extremely hard, and up to this moment and to the near future, it is not what AI is capable to do, not mentioning all the version control, deployment and scaling stuffs.Actually, the same thing happened before when not-that-AI-smart tools were born, take Excels for example: back in the early day, many people (especially those business-manage-related one) believe they will no longer need accountant, as the machine has do the work for them.
"I can do accounting myself, let just fire all accountant and save a lot of money"
they might think, but as we have already know, this opinion is completely incorrect, the accountant is still needed till today, no company can operate sufficiently without them, just not as much as they used to, and their job is not as simple as they used to either. Back in the past, many parts of the accountant's work are done by hand writing, manual calculation, manual illustration and so on, therefore a company would need a lot of accountants to complete the work. Since the Excels is introduced, most of those mentioned would be done by computer, therefore not that much accountant will be needed anymore, those who can not work with Excels will be eliminated and those who can work with Excels will stay and get more salary, in the other words: the accountants has adapted with the change of time. Compare to engineering stuff, accounting is probably not as hard to do, butif a person - without proper accounting training - is unable to perform the work themself by using new technology as claimed, why does he/she think that she/he would be able to do programming?
So what do we learned from this? We, the developers, need to adapt too. AI may not be able to replace all of our job completely at the moment, but it is getting better and better everyday, and one day it will be able to complete what it can not right now. So if someone wanted to stay in this industry, they will need to adapt to work with AI. Programmers now will have to know how to work fast and efficiently with AI and they will have to be able to do hard work as all the easy-to-immediate things will be done by AI, those who can not full fill those criteria will be rejected.
Furthermore, as AI growing, it will bring new type of technology, new tech field will be born with little to zero data to pre-train the AI and perhaps, new type of programmer will be born too. The cycle will repeat again and again: a technology is born and the most simple task still required human interaction => new technology appear to optimize the task => new technology is born.... All we should do, and also all we can do, is to improve our knowledge everyday, so we will be able to adapt with new technology when it come.
I appreciate the perspective presented in this article, although I respectfully disagree with the notion that AI is a fad and programming is dead. While it's true that AI has garnered significant attention and hype in recent years, dismissing it as a passing trend overlooks the transformative impact it has had and continues to have across various industries.
Programming, as a skill, remains as vital as ever, even in the era of AI. While AI may automate certain aspects of coding and streamline certain processes, human developers still play a crucial role in designing, implementing, and maintaining these AI systems. Furthermore, programming extends far beyond just AI, with applications in web development, software engineering, data science, and more.
To gain a more comprehensive understanding of the evolving relationship between AI and programming, I invite readers to explore another insightful article at readmorr.com/is-it-worth-learning-.... It provides a balanced perspective on the value of coding skills and how they intersect with emerging technologies like AI.
Rather than viewing AI as a threat to programming, I believe it offers exciting opportunities for developers to leverage its capabilities and push the boundaries of what's possible. By embracing new technologies and continuously honing our skills, we can adapt and thrive in this ever-changing technological landscape.
I think you summed a very good point somewhere near the start when you said something about "societal issues". If AI takes over we will have anarchy or something close. People need purpose, you have expanding populations and if you have no jobs for them, they will throw themselves on the state, the state will have no money, the corps will not compensate for the jobs they've destroyed. They will have no customers as with no workers to earn/pump money around then modern world begins to collapse.
So no one can afford to make AI ubiquitous yet, it will lead to a rapid breakdown of society and the rich can hide but in any revolution they're the first against the wall.
As techies we will do what we alwasy have, we will just adapt to the new tech as demaneded by our paymasters. Youngsters always want to scream ahead of the old farts like me, they will learn quickly that in the real world in serious enterprise that "glacial" is the only word to describe the tech pace! 30+ years working in tech now in the finance industry, it's sloooooow. My current shop only just started coding React and using microservices around 2 years ago and the is 25 years old. We trade with companies still heavily reliant on IBM mainframes as they're bolting on adaptation like crazy to keep them attached to the modern world.
The whole tech industry might look shiny to the "normies" but we all know it's held together by blu-tack and sticky tape!
I like your reply.
It seems that it's always the "ISMS" as in Capitalism or Socialism.
Man cannot help itself as it lives and dies like all things.
So what is the "A.I.-ism" of things right?
AI is already replacing humans in the work force. IBM to Pause Hiring for Jobs That AI Could Do.
What concerns me the most is that bad actors have access to AI resources to. It won't be long before AI is weaponized (if it hasn't been already).
The idea that AI is a fad and programming is dead is a misguided one. AI is not a fad, but a rapidly growing field with enormous potential for solving complex problems and improving efficiency in various industries. However, it is true that AI technologies are rapidly evolving and the skills required to develop and maintain them are changing. This means that traditional programming skills are not sufficient, and developers must adapt to new tools and techniques. However, this does not mean that programming is dead. In fact, programming remains a crucial component of AI development and will continue to be important in creating new technologies and applications.
While the advent of Artificial Intelligence (AI) has undoubtedly revolutionized many aspects of technology and automation, it does not render coding dead. In fact, AI heavily relies on coding and programming to function effectively. Coding is the language through which developers instruct AI systems, design algorithms, and build intelligent models. AI algorithms and frameworks are themselves created and maintained through coding practices. While AI may automate certain repetitive or rule-based coding tasks, it simultaneously opens up new avenues and challenges for programmers. As AI becomes more sophisticated, coding skills will continue to be in demand to create, optimize, and maintain Artificial Intelligence systems. The role of coding may evolve, with a greater focus on developing AI models, integrating different technologies, and ensuring ethical and responsible AI implementations. Therefore, rather than replacing coding, AI serves as a powerful tool that empowers coders to explore new possibilities and advance the frontiers of technology.
This is exactly what will lead to layoffs of software engineers. The position may not be dead, but anytime big tech sees "greater efficiency" it means doing more with less employees.
Good article. Well thought out. My only issue is this statement "improved the efficiency of developers"
That is where my struggle is. The real questions are by how much do these tools improve efficiency? Is it worth it? Will it get better?
I have yet to see a dramatic improvement. Call me when I'm able to have two day sprints instead of two weeks.
Great post. I think the idea of ChatGPT replacing human programmers has a lot in common with the idea of all programming jobs being outsourced as low-wage, almost assembly-line-like labor. That idea was very prevalent in the USA when I was growing up and studying computer science, but it never happened.
These ideas both come from over-simplistic conceptions of what it takes to build software beyond just sitting down and typing on a keyboard.
Of course low-wage outsourcing did become a major part of the software landscape, and ChatGPT very well might too. But as you say, if it ever gets to where it can replace most or all programmers, it will be able to replace most other knowledge workers too.
Every time I see someone struggle to come up with good prompts to get good code back, I always think 'if we only had some sort of language to tell a computer exactly what to do...' 😁
If only I could consult my "I.F." IT will know something but alas I may be a memory and long dead before we all get our personal A.I. and it will be called our Imaginary Friend.
I was thinking to call mine if I live long enough "Ringo."
Nice post! Your analysis is quite clear and I think you make many reasonable points. I'd like to add a couple of thoughts on this portion:
This is definitely a common misconception. It's useful to make the connection that this is actually closer to the definition of a coder, which is where the confusion comes from.
I think we can generally consider coding to be a subset of programming, which can be considered a subset of computer science. In my experience, programming usually has a lot more problem solving than coding and it's a much broader concept, as you discuss in your post. To put it in numbers, I'd estimate roughly only 30-40% of programming has to do with writing code, while the rest has to do with determining what code (and the structure of the code) to write to achieve the result we want, through a plethora of methodologies.
While its nice to quickly get an answer from ChatGPT about a given programming topic, pouring over Stack Overflow has significant side benefits. There have been many times when I've been researching a specific topic, and end up learning new things that are (semi) unrelated. I grow as a developer because of this.
I wonder if these new AI tools will end up causing us to inadvertently silo ourselves.
I appreciate the perspective presented in this article, although I respectfully disagree with the notion that AI is a fad and programming is dead. While it's true that AI has garnered significant attention and hype in recent years, dismissing it as a passing trend overlooks the transformative impact it has had and continues to have across various industries.
Programming, as a skill, remains as vital as ever, even in the era of AI. While AI may automate certain aspects of coding and streamline certain processes, human developers still play a crucial role in designing, implementing, and maintaining these AI systems. Furthermore, programming extends far beyond just AI, with applications in web development, software engineering, data science, and more.
To gain a more comprehensive understanding of the evolving relationship between AI and programming, I invite readers to explore another insightful article at readmorr.com/is-it-worth-learning-.... It provides a balanced perspective on the value of coding skills and how they intersect with emerging technologies like AI.
Rather than viewing AI as a threat to programming, I believe it offers exciting opportunities for developers to leverage its capabilities and push the boundaries of what's possible. By embracing new technologies and continuously honing our skills, we can adapt and thrive in this ever-changing technological landscape.
My strategy has been to use ChatGPT as a code companion. Like instead of making it write all the code for me, I use it to learn a new library or get to the bottom of a pesky bug.
Well, A.I. isn't going away.
I await my I.F. (imaginary friend) who will be my constant companion.
I haven't had that much luck with humans.
Thanks for your thoughts. The first three paragraphs made me think of this article I read the other day: freddiedeboer.substack.com/p/the-b...