Is Coding Still Worth Learning in 2024?

Programming with Mosh
17 Apr 202409:33

Summary

TLDRThis video script addresses the concern of AI replacing software engineers and the value of learning to code in 2024. The speaker, a coding course creator, argues that AI will not eliminate jobs but will transform the role, allowing engineers to focus on complex problem-solving and innovation. Citing Bureau of Labor Statistics, the script highlights a projected 26% growth for software developers by 2031. It emphasizes the importance of human oversight in refining AI-generated code for quality and security, suggesting that coding skills remain essential. The video concludes by encouraging those interested in coding not to be deterred by fear, but to embrace the evolving landscape of software engineering.

Takeaways

  • 🚀 Starting a career in programming at 30 is still considered wise, despite fears about AI replacing jobs.
  • 🤖 AI is not expected to take away jobs; instead, those who know how to work with AI will have an advantage.
  • 📊 The Bureau of Labor Statistics predicts a 26% growth for software developers from 2022 to 2031, outpacing the average job growth.
  • 🛠 The history of programming shows that tools like compilers improved efficiency without replacing programmers.
  • 🔧 AI will likely handle routine tasks, allowing developers to focus on complex problem-solving and innovation.
  • 📈 AI-generated code quality is lower and requires human review and refinement for production use.
  • 🔍 A study found that code churn is projected to double in 2024, emphasizing the need for human oversight in coding.
  • 🛑 Knowledge of data structures, algorithms, programming languages, and tools remains crucial for reviewing AI-generated code.
  • 💼 Software engineering encompasses more than coding; it includes communication, understanding requirements, and software architecture.
  • 📈 A study by McKenzie found less than a 10% improvement in speed for highly complex tasks, indicating AI's limitations.
  • 🌐 The role of software engineers may become more valuable as they will manage and maintain AI systems, requiring a deep understanding of software development.

Q & A

  • Is it wise to start a career as a programmer at the age of 30 in 2024?

    -Yes, it is wise according to the script. Despite fears of AI replacing software engineers, the demand for software engineers is expected to grow, making it a viable career choice.

  • What is the projected employment growth for software developers according to the United States Bureau of Labor Statistics (BLS) from 2022 to 2031?

    -The BLS projects a 26% growth in employment for software developers, which is significantly higher than the average growth rate of 3% across all occupations.

  • How did the introduction of compilers impact the role of programmers in the past?

    -Compilers made programmers more efficient by handling the conversion of code to machine language and memory allocation, without replacing them. This advancement led to the creation of complex software and applications.

  • What is the role of AI in the future of software engineering as suggested by the script?

    -AI is expected to handle routine and repetitive coding tasks, allowing software engineers to focus on complex problem-solving, design, and innovation.

  • What are the implications of AI-generated code quality for software engineers?

    -AI-generated code tends to have lower quality and requires human review and refinement for quality and security before being deployed in production.

  • What does the study on code churn predict for 2024?

    -The study predicts that code churn, the percentage of lines that are reverted or updated within two weeks of being authored, is projected to double in 2024.

  • Why is it still necessary for software engineers to learn coding despite the advancements in AI?

    -Software engineers need to understand and review AI-generated code, refine it, and guide the AI to improve. Coding skills are essential for these tasks and will remain relevant.

  • How does the script refute the idea that software engineers can build software using natural language without understanding coding?

    -The script argues that while natural language can be used for simple applications, complex software that runs critical systems like banks and airlines requires a deep understanding of coding.

  • What is the role of AI in improving the productivity of software engineers according to a study by McKenzie?

    -The McKenzie study found that AI helps most with documentation and code generation, with improvements dropping to 20% for refactoring and less than 10% for highly complex tasks.

  • What is the potential impact of AI on the job opportunities for junior software engineers?

    -The script suggests that the time savings from AI are not as significant as promised, and the effort required to get usable AI-generated code means that one senior engineer using AI is unlikely to replace many engineers.

  • How does the script envision the future role of software engineers in relation to AI?

    -The script envisions software engineers as being more valuable, developing, managing, and maintaining AI systems, and using AI to boost their productivity while still requiring deep knowledge of software development.

Outlines

00:00

🤖 The Future of Software Engineering Amidst AI Concerns

This paragraph addresses concerns about AI replacing software engineers and the value of learning to code in 2024. The speaker, a coding course creator, assures viewers that despite fears, software engineering is not going away and is expected to grow by 26% from 2022 to 2031, according to the Bureau of Labor Statistics. The speaker emphasizes that AI will not take jobs but rather those who can work with AI will thrive. The history of programming is briefly discussed, from manual memory address calculations to the advent of compilers, which increased efficiency without replacing programmers. The paragraph concludes by suggesting that AI will allow for more focus on complex problem-solving and innovation, rather than routine tasks.

05:02

🛠 The Role of Software Engineers in an AI-Enhanced Future

The second paragraph delves into the practical implications of AI on software engineering. It refutes the idea that AI will diminish the need for coding skills, arguing that while AI can assist with code generation, the quality of AI-generated code is lower and requires human review. The speaker cites a study predicting a doubling of code churn in 2024, emphasizing the ongoing relevance of coding skills. The paragraph also discusses the broader responsibilities of a software engineer, which include communication and understanding requirements, areas where AI cannot replace human interaction. Studies are mentioned to highlight the limited productivity gains AI provides in complex tasks, suggesting that the role of software engineers may become more valuable as they manage AI systems. The paragraph concludes by encouraging those interested in software engineering not to be deterred by misconceptions and to embrace the evolving skillset required for future software development.

Mindmap

Keywords

💡Software Engineering

Software engineering is the application of engineering principles to software development. In the video, it is emphasized that software engineering is not going away but will transform with AI. It involves understanding requirements, designing software, coding, testing, and maintenance.

💡AI (Artificial Intelligence)

AI refers to the simulation of human intelligence processes by machines, especially computer systems. The video discusses the impact of AI on software engineering, suggesting that AI will not replace software engineers but will change how they work by automating routine tasks.

💡Bureau of Labor Statistics (BLS)

The BLS is a government agency that collects and analyzes labor economic data in the United States. The video cites BLS data predicting a 26% growth in software developer employment from 2022 to 2031, highlighting the continued demand for software engineers.

💡Compilers

Compilers are programs that translate code written in a high-level programming language into machine code that a computer's processor can execute. The video explains that compilers made programmers more efficient, similar to how AI will assist rather than replace them.

💡Code Quality

Code quality refers to how well code is written and maintained. The video mentions that AI-generated code often has lower quality and requires human review and refinement, emphasizing the continued relevance of software engineers in ensuring high-quality code.

💡Cod Churn

Code churn is the percentage of lines of code that are changed or reverted shortly after being written. The video predicts an increase in code churn due to AI, stressing the importance of human oversight in maintaining code quality.

💡Natural Language Programming

Natural language programming involves using human languages to interact with software systems. The video argues that while AI can help with some coding tasks, understanding coding principles and languages remains essential for creating complex software.

💡Human-AI Collaboration

Human-AI collaboration refers to humans working alongside AI to enhance productivity and innovation. The video emphasizes that future software engineers will need to collaborate with AI, using it to automate routine tasks while focusing on more complex problems.

💡Job Security

Job security is the assurance that an individual will keep their job without the risk of becoming unemployed. The video reassures viewers that software engineering remains a secure career choice despite fears of AI replacing jobs, citing data and expert opinions.

💡Programming Skills

Programming skills are the abilities required to write and maintain code effectively. The video highlights that fundamental programming skills, such as understanding data structures, algorithms, and programming languages, will continue to be essential even as AI becomes more integrated into software development.

Highlights

Despite fears of AI replacing programmers, the demand for software engineers is expected to grow by 26% from 2022 to 2031, according to the United States Bureau of Labor Statistics.

Software engineering is predicted to transform rather than disappear, with AI aiding rather than replacing human programmers.

AI is not going to take programmers' jobs; instead, those who know how to work with AI will have an advantage.

Compilers improved programmer efficiency without replacing them, and AI is expected to have a similar impact.

AI will likely delegate routine coding tasks, allowing programmers to focus on complex problem-solving, design, and innovation.

AI-generated code requires human review and refinement for quality and security before production deployment.

A study analyzing 153 million lines of code found that code churn is projected to double in 2024, emphasizing the need for human oversight in AI-generated code.

Software engineers will continue to need knowledge of data structures, algorithms, programming languages, and tools to review AI-generated code.

Coding is only one part of a software engineer's job, with much time spent on communication and understanding requirements, which AI cannot replace.

A study by McKenzie found that for highly complex tasks, developers saw less than a 10% improvement in speed with AI assistance.

The role of software engineers may become more valuable as they will be needed to develop, manage, and maintain AI systems.

The fear that AI could replace many engineers, leaving no job opportunities for juniors, is unfounded as AI requires human input and refinement.

AI is advancing, but the gap between theory and practice means that human creativity and expertise remain essential for complex solutions.

Software engineering is expected to be extremely important over the next several decades, with changes requiring adaptability and learning.

The future software engineer will need today's coding skills and an understanding of how to use AI effectively.

The output of AI is only as good as the instructions given, requiring programmers to work with AI tools effectively.

Web developers today need to know a wide range of technologies, and this complexity is expected to increase in the future.

The video encourages those interested in coding not to be held back by negativity and fear, as software powers our world and will continue to do so.

Transcripts

play00:00

I got this question on this channel hey

play00:01

msh I'm 30 and I was planning to start a

play00:04

career as a programmer do you think this

play00:06

is wise comment question a lot of people

play00:08

are worried that AI is going to replace

play00:11

software Engineers so is coding still

play00:13

worth learning in 2024 well depends who

play00:16

you ask if you ask certain folks the

play00:19

ones who always seem miserable and say

play00:21

everything is going to collapse they

play00:22

will say no coding has no future but

play00:25

I've got a different take backed up by

play00:27

real world numbers in this video I'm

play00:29

sharing data that shows the continued

play00:31

demand for software Engineers so to

play00:34

understand where we are now and what the

play00:36

future will look like for software

play00:38

engineers make sure to watch this video

play00:40

to the end first I want to be

play00:42

transparent I've been creating coding

play00:43

courses for the past 10 years and in

play00:46

that time I've been lucky enough to

play00:47

teach millions of people how to code and

play00:50

launch their careers in Tech so yes you

play00:52

could say I have a vested interest in

play00:54

this field but I want to assure you that

play00:56

this isn't a sales pitch it's about

play00:59

helping you make make an informed

play01:00

decision I want you to hear both side of

play01:03

the story and decide for yourself what

play01:05

you believe at the end of the day it's

play01:07

your decision whether you want to learn

play01:08

coding or not and even if you want to

play01:10

you don't even have to buy my courses or

play01:12

learn from me there are thousands of

play01:14

great options out there so yeah there is

play01:16

a lot of fear about AI replacing coders

play01:19

headlines scream about robots taking

play01:21

over jobs and it can be overwhelming but

play01:24

the truth is AI is not going to take

play01:26

your job instead it's the person who

play01:28

knows how to work with AI that will

play01:30

steal your job the reality is software

play01:33

engineering is not going away at least

play01:35

not anytime soon don't just take my word

play01:37

for it here's some data to back it up

play01:40

the United States Bureau of Labor

play01:42

Statistics often called the BLS is a

play01:44

government agency that tracks job growth

play01:47

across the country on their website you

play01:49

can see that the employment for software

play01:51

developers is expected to grow by 26%

play01:55

from 2022 to 2031 the average across all

play01:59

occupations is 3% so that's a strong

play02:02

indication that software engineering is

play02:04

here to stay but it'll most likely

play02:06

transform and that's what we will

play02:07

explore in this

play02:08

[Music]

play02:10

video to better understand the impact of

play02:13

AI on software engineering let's take a

play02:16

minute and talk about the history of

play02:18

programming in the early days of

play02:20

computing programmers wrote code in a

play02:22

way that only computers understood long

play02:25

strings of zeros and ones it was

play02:27

incredibly tedious they had to keep

play02:29

track of of exactly where each piece of

play02:32

data and code was stored in the

play02:34

computer's memory and to do that they

play02:36

had to manually calculate memory

play02:38

addresses and make sure that different

play02:40

parts of the program didn't override

play02:42

each other compilers came to solve this

play02:44

problem with a compiler we can program

play02:47

in a human readable language like C++

play02:50

without worrying about how that code

play02:52

should eventually get converted to zeros

play02:54

and ones and where it will get stored in

play02:56

the memory that's the job of a compiler

play02:59

now here here's a fact compilers didn't

play03:01

replace programmers they made them more

play03:03

efficient and the result of that the

play03:05

amazing websites and apps we have today

play03:08

that no one could even imagine in the

play03:09

past these days billions of people can

play03:12

communicate in real time AI will likely

play03:14

do the same in the future we'll be able

play03:16

to delegate routine and repetitive

play03:18

coding tasks to AI so we can focus on

play03:21

complex problem solving design and

play03:24

Innovation this will allow us to build

play03:26

more sophisticated software that most

play03:28

people can't even imagine today but even

play03:31

then just because AI can generate code

play03:33

doesn't mean we can or we should

play03:35

delegate the entire coding aspect of

play03:38

software development to AI because AI

play03:40

generated code has a lower quality and

play03:43

humans still need to review and refine

play03:45

it before using it in production in fact

play03:48

there's a study to support this they

play03:50

collected 153 million change lines of

play03:53

code between January 2020 and December

play03:56

2023 and they found disconcerting trends

play03:59

for maintenance ability and listen to

play04:01

their prediction for 2024 Cod churn

play04:04

which means the percentage of lines that

play04:06

are reverted or updated less than 2

play04:08

weeks after being authored is projected

play04:11

to double in 2024 so yes we can produce

play04:15

more code in less time with AI but more

play04:17

doesn't equal better humans should

play04:20

always review and refine AI generated

play04:22

code for quality and security before

play04:25

deploying it to production and that

play04:27

means all the coding skills as software

play04:29

engineer currently has will continue to

play04:31

stay relevant in the future you will

play04:33

still need the knowledge of data

play04:35

structures algorithms programming

play04:37

languages and their tricky parts tools

play04:40

and Frameworks you still need to have

play04:41

all that knowledge to be able to review

play04:44

and refine the AI generated code you'll

play04:46

just spend less time typing it so anyone

play04:49

telling you that you can use natural

play04:51

language to build software without

play04:54

understanding anything about coding is

play04:55

out of touch with the reality of

play04:57

software engineering sure you can make a

play04:59

dummy app but not the kind of software

play05:02

that runs our banks Airlines Healthcare

play05:04

the kind of software our life depends on

play05:07

we can't let a Code Monkey talk to a

play05:09

chat bot in plain English and get that

play05:11

software built at least not anytime soon

play05:14

in the future we'll probably spend more

play05:16

time designing new features and products

play05:18

with AI instead of writing boilerplate

play05:21

code we'll likely delegate aspects of

play05:23

coding to AI but this doesn't mean we

play05:25

don't need to learn to code think of it

play05:27

like a skilled architect using blue

play05:29

prints the architect doesn't need to

play05:31

handra the whole blueprint themselves

play05:34

but they still need to understand those

play05:35

blueprints in detail make sure

play05:37

everything works as designed and give

play05:39

clear instructions for those building

play05:41

the final structure as a software

play05:44

engineer you will always need to

play05:46

understand the code review what AI

play05:47

generates and refine it either by hand

play05:50

or by guiding the AI to improve also

play05:53

keep in mind that coding is only one

play05:55

part of a software engineer's job we

play05:57

often spend most of our time talking to

play05:59

people understanding requirements

play06:01

writing stories discussing software

play06:03

architecture and so on AI cannot help

play06:06

with that aspect of our work it can only

play06:08

boost our programming productivity but

play06:10

not necessarily the overall productivity

play06:13

in fact another study by McKenzie found

play06:15

that for highly complex tasks developers

play06:18

saw less than a 10% Improvement in their

play06:21

speed so as we can see here AI helped

play06:23

the most with documentation and code

play06:26

generation to some extent but moving on

play06:28

to refactoring the the Improvement

play06:30

dropped to 20% and for highly complex

play06:32

tasks it was less than 10% and this

play06:35

happens when the coding task involves

play06:38

something the developer isn't already

play06:39

familiar with so if anyone tells you

play06:42

that software Engineers will be obsolete

play06:44

in 5 years they're either ignorant or

play06:46

trying to sell you something in fact

play06:48

some argue that the role of software

play06:51

Engineers may become more valuable as

play06:53

they will be needed to develop manage

play06:55

and maintain these AI systems they need

play06:58

to understand all the complex of

play07:00

building software and use AI to boost

play07:02

their productivity now some are worried

play07:04

that one senior engineer can simply use

play07:07

Ai and replace many Engineers

play07:09

essentially leaving no job opportunities

play07:12

for juniors but again that's a fallacy

play07:15

because in reality the time savings you

play07:17

get from AI is not as great as you are

play07:19

promised anyone who has used AI to

play07:21

generate code knows that it takes effort

play07:24

to get the right prompts for usable

play07:26

results and the Cod still needs

play07:27

polishing so it's not like like one

play07:29

engineer will suddenly have so much free

play07:32

time to do the job of many people now

play07:34

you might say but MOS that's the current

play07:37

state of AI look AI is rapidly advancing

play07:40

and in a year or two it will be able to

play07:42

build software just like a human well in

play07:45

theory yes AI is advancing and one day

play07:48

it may even reach and surpass human

play07:50

intelligence but in theory theory and

play07:52

practice are the same in practice

play07:54

they're not the reality is while

play07:56

machines may be able to handle

play07:58

repetitive and routine tasks human

play08:01

creativity and expertise will still be

play08:03

necessary for developing complex

play08:05

Solutions and strategies I strongly

play08:07

believe software engineering is going to

play08:09

be extremely important over the next

play08:11

several decades I don't think it's going

play08:13

away but I do think it's going to change

play08:16

in the future we'll have to learn how to

play08:18

input the right prompt into our AI tools

play08:20

to get the expected result it's not an

play08:22

easy skill to develop it requires

play08:24

problem solving capability as well as

play08:26

knowledge of languages and tools so

play08:29

here's the bottom line if you have

play08:30

already made up your mind and don't want

play08:32

to invest your time in software

play08:33

engineering that's perfectly fine Follow

play08:36

Your Passion but if you like building

play08:37

things with code if the idea of shaping

play08:40

the future with technology gets you

play08:42

excited don't let negativity and fear

play08:44

hold your back software Powers our world

play08:47

and that won't change anytime soon yes

play08:49

the tools will evolve but the true skill

play08:51

lies in learning and adapting the future

play08:54

software engineer needs today's coding

play08:56

skills and an understanding of how to

play08:58

use AI effectively the output of AI is

play09:01

only as good as the instructions you

play09:03

give it think about it programmers must

play09:06

work directly with zeros and once

play09:08

today's web developers need to know HTML

play09:11

CSS Tailwind JavaScript typescript react

play09:15

nextjs git automated testing and so much

play09:18

more my prediction is that the future

play09:20

brings even more complexity demanding

play09:23

more knowledge and adaptability from

play09:25

software Engineers if you found this

play09:27

video helpful please give it a like And

play09:30

subscribe for more useful coding advice

Rate This

5.0 / 5 (0 votes)

Related Tags
Software EngineeringAI ImpactCoding CareersJob GrowthTech TrendsAI AssistanceProgramming HistoryCode QualityAI LimitationsFuture SkillsEducational Guidance