How to Actually Learn Software Engineering

Caleb Curry
23 Nov 202011:33

Summary

TLDRIn this video, Caleb addresses the overwhelming nature of learning programming and offers a new learning framework to avoid burnout. He debunks common myths about software engineering education, emphasizing depth over breadth in learning languages. Caleb shares his personal journey, explaining how focusing on real-world problem-solving and structured learning led to his success with Python. He introduces 'Python Boot Camp,' a course designed to efficiently teach Python and a transferable learning framework, promising a shorter path to becoming a proficient Python engineer.

Takeaways

  • 📚 **Learning Overload**: Feeling overwhelmed by the amount of information in programming is common and can lead to burnout.
  • 🚀 **Different Learning Framework**: Success in programming doesn't require learning everything; a different, more effective learning framework is needed.
  • 🎓 **Myths Debunked**: Common myths like needing a college degree or studying 80+ hours a week to be successful in software engineering are false.
  • 🔄 **Consistent Struggle**: Many people cycle through starting, getting overwhelmed, and quitting, which is exhausting and unproductive.
  • 🌟 **Personal Transformation**: A change in approach to learning programming led to a significant improvement in the speaker's ability to learn and understand programming languages.
  • 📈 **Focused Learning**: Learning one language deeply is more beneficial than superficially learning multiple languages.
  • 🛠 **Practical Application**: The ability to apply programming languages to solve real-world problems is more valuable than knowing many languages superficially.
  • 💡 **Understanding Over Tools**: Understanding how to solve problems is more important than just knowing the tools or languages.
  • 🏗 **Structured Learning**: Learning should be structured like building a skyscraper, starting with a solid foundation and building up.
  • 📅 **Time Efficiency**: The speaker believes that with the right learning approach, significant progress can be made much faster than through trial and error.
  • 🔗 **Python Boot Camp**: The speaker offers a course that teaches not only Python but also a learning framework that can be applied to other programming languages.
  • 💼 **Career Advancement**: The course is designed to help learners progress from beginner to proficient Python engineer, which can lead to career advancement and higher salaries.

Q & A

  • What is the main issue Caleb discusses in the video?

    -Caleb discusses the feeling of being overwhelmed by the amount of information and knowledge required to be successful in programming and software engineering.

  • What does Caleb suggest as a solution to the feeling of being overwhelmed?

    -Caleb suggests adopting a different learning framework that focuses on learning the right things in the right order, rather than trying to learn everything.

  • What are the common myths Caleb debunks about learning software development?

    -Caleb debunks three myths: (1) That learning everything will get you closer to your goal, (2) That the technology itself is the most important thing, and (3) That the way you learn a programming language doesn't matter.

  • Why does Caleb believe focusing on learning everything can be counterproductive?

    -Focusing on learning everything can lead to information overload and decreased attention rate, preventing effective learning of the most important things needed to get a job as a software engineer.

  • What does Caleb argue is more important than knowing many programming languages?

    -Caleb argues that knowing how to apply one programming language to solve real-world problems is more valuable than having a shallow knowledge of many languages.

  • How does Caleb define the right learning path for software engineering?

    -The right learning path involves learning the right things in the right order, focusing on solving real-world problems, and understanding how to use programming languages effectively.

  • What does Caleb suggest is the best way to learn a new programming language?

    -Caleb suggests learning deeply from one source in a sequential order, similar to building a skyscraper from the foundation up.

  • What is the name of the course Caleb created to teach his learning framework?

    -The course Caleb created is called 'Python Boot Camp'.

  • What does the Python Boot Camp course offer?

    -Python Boot Camp offers a curriculum that teaches Python and the learning framework that can be applied to any programming language, with modules for basics, advanced, and applied Python in web development and machine learning.

  • How does Caleb propose to save learners time with his course?

    -Caleb proposes to save learners time by providing a focused and organized curriculum that avoids the need to sift through scattered resources across the internet.

  • What bonus does Caleb offer for enrolling in Python Boot Camp?

    -Enrolling in Python Boot Camp offers early access to Caleb's upcoming course 'Python Projects', which will help build a portfolio of Python projects.

Outlines

00:00

📚 Overcoming the Struggle of Learning Programming

Caleb discusses the common struggle many face when trying to learn programming, feeling overwhelmed by the vast amount of information and skills required. He empathizes with viewers who find themselves starting and stopping their learning journey due to burnout and lack of direction. Caleb refutes the notion that a college degree or extreme study hours are necessary for success in software engineering, proposing a different learning framework that focuses on simplicity and effectiveness. He shares his personal journey of learning programming for 10 years, feeling inadequate, and how a change in approach led to significant progress in just one year. Caleb emphasizes the importance of learning the right things in the right order, rather than trying to learn everything at once.

05:01

💡 Debunking Myths About Software Engineering Learning

Caleb challenges three common myths about learning software development. The first myth is that learning everything will make you a better developer, which he refutes by arguing that learning too much can lead to decreased focus and retention. Instead, he advocates for deep learning of one language over a shallow understanding of many. The second myth is that technology is the most important aspect; Caleb argues that the ability to apply technology to solve real-world problems is more valuable. The third myth is that the source and order of learning don't matter; he counters this by emphasizing the importance of a structured learning path, similar to building a skyscraper from the foundation up. Caleb concludes by summarizing the importance of focusing on learning the most important things in an organized manner to become a better software engineer.

10:01

🚀 Launching a Career with Python Boot Camp

Caleb introduces 'Python Boot Camp,' a course designed to teach Python and a learning framework that can be applied to other programming languages. He highlights the course's focus on learning the most important aspects of Python to solve real-world problems effectively. The course is structured with modules for different levels of learners, from beginners to those looking to advance their skills. Caleb mentions a special offer for early enrollees, including a discount and early access to an upcoming course on Python projects, which will help build a portfolio for potential employers. He emphasizes the limited availability of the course and the benefits of enrolling, such as saving time and money compared to other learning resources.

Mindmap

Keywords

💡Programming

Programming refers to the process of writing, testing, debugging, and maintaining the source code of computer programs. In the video, programming is the central theme, with the speaker discussing the challenges and methods of learning it effectively. The script mentions the struggle of keeping up with the vast amount of knowledge in software development.

💡Information Overload

Information overload occurs when an individual receives more information than they can effectively process. The video addresses this concept as a barrier to success in learning programming, suggesting that too much information can lead to discouragement and a lack of focus on the most important skills.

💡Software Engineering

Software engineering is the application of engineering principles to software design, development, and maintenance. The video discusses the pursuit of a career in software engineering and the misconceptions around the amount of study required to be successful in this field.

💡Learning Framework

A learning framework is a structured approach or system that helps in organizing and delivering educational content. The speaker in the video suggests that adopting a different learning framework can lead to more effective learning outcomes in programming.

💡Myth Debunking

Myth debunking involves challenging and disproving popular misconceptions. The video identifies and refutes several myths about learning programming, such as the necessity of a college degree or studying for extreme hours to be successful.

💡Deep Learning

Deep learning, in the context of the video, refers to the focused study of a single programming language or skill to a high level of proficiency. The speaker contrasts this with spreading oneself too thin by trying to learn multiple languages superficially.

💡Problem Solving

Problem solving is the process of finding solutions to problems. The video emphasizes that a good software engineer should focus on problem-solving skills rather than just learning programming languages. It suggests that knowing how to apply programming to real-world problems is more valuable.

💡Sequential Learning

Sequential learning is an educational approach where concepts are taught in a logical, ordered sequence. The video recommends this method over jumping between different sources and topics, arguing that it helps in better retention and understanding of programming concepts.

💡Python Boot Camp

Python Boot Camp is a course mentioned in the video designed to teach Python programming in a structured and efficient manner. It is presented as a solution to the problem of information overload and ineffective learning methods.

💡Portfolio Development

Portfolio development involves creating a collection of work that demonstrates one's skills and experience. In the video, the speaker mentions an upcoming course that will help learners apply their Python skills to build a portfolio of projects, which is valuable for showcasing their abilities to potential employers.

💡Curriculum

A curriculum is a plan or outline for a course of study. The video speaker talks about creating a curriculum that helped them learn Python effectively, suggesting that a well-structured learning path is crucial for success in programming.

Highlights

Caleb shares his personal struggle with feeling overwhelmed by programming.

He emphasizes that feeling overwhelmed is common in the software industry.

Caleb suggests a different learning framework is needed for success.

He debunks the myth that a college degree is necessary for software engineering success.

Caleb argues against the idea that studying 80 hours a week is required.

Different learning approaches are proposed for beginners, intermediates, and entrepreneurs.

Caleb's 10-year journey of on-and-off programming is shared.

He explains how a change in approach led to a breakthrough in learning Python.

Caleb argues that studying fewer things can lead to better results.

He challenges the belief that learning many languages makes you a better developer.

Caleb emphasizes the importance of solving real-world problems over knowing many languages.

He discusses the myth that technology is the most important aspect.

Caleb suggests focusing on life transformation rather than just technology.

He explains why the way you learn a programming language matters.

Caleb introduces the concept of a structured learning path like building a skyscraper.

He offers a curriculum that helped him go from knowing nothing to being proficient in Python.

Caleb introduces Python Boot Camp as a solution for structured learning.

He mentions the course is suitable for all experience levels.

Caleb provides a coupon code for the course during the live premiere.

He offers early access to an upcoming course as a bonus for enrolling in Python Boot Camp.

Caleb mentions the potential to earn more with Python skills, citing the Stack Overflow developer survey.

The course availability and closing date are provided.

Transcripts

play00:00

hey everyone it's Caleb in this video I

play00:02

wanted to ask you a question have you

play00:03

ever looked at programming and told

play00:05

yourself that there's way too much to

play00:07

learn if you feel like you cannot keep

play00:10

up in the software industry You Are Not

play00:12

Alone personally I can't tell you how

play00:14

many times I decide I'm going to take

play00:15

programming seriously I start studying

play00:18

everything I can I get discouraged

play00:20

overwhelmed burnt out and then I quit

play00:23

then a few weeks go by I get excited

play00:24

again and I go through this whole

play00:26

process over and over and over again and

play00:28

honestly it's quite exhausting if you

play00:30

feel this way it's the information

play00:32

overload that's keeping you from success

play00:35

but I wanted to tell you that you can do

play00:37

it you just need a different learning

play00:40

framework not like a JavaScript

play00:42

framework nothing else to learn don't

play00:44

worry this is going to be simple some

play00:46

people will tell you oh you need a

play00:47

college degree to be successful in

play00:49

software engineering other people will

play00:50

say you need to study 80 plus hours a

play00:52

week and I'm here to tell you both of

play00:55

these are a lie if you're still watching

play00:57

this then I know you have the dream of

play00:58

being successful at software engineer

play01:00

ering and really understanding how code

play01:02

Works we're all a little bit different

play01:03

but this is going to work for anybody so

play01:05

if you're a beginner trying to get that

play01:07

first software engineering job or maybe

play01:09

you're an intermediate and you just need

play01:11

to refine your skills and figure out how

play01:13

to get that career jump you've been

play01:15

wanting or if you're an entrepreneur how

play01:17

can you learn the extra technical skills

play01:20

to set you apart from everybody else

play01:22

trying to compete personally I've been

play01:24

learning programming for about 10 years

play01:26

I started early in high school but every

play01:29

single year it was a LoveHate

play01:30

relationship where I never really felt

play01:32

like I knew what I was doing even in my

play01:34

development jobs I always felt like I

play01:36

just could not keep up with everyone

play01:38

else this all changed this year when

play01:40

things finally clicked in fact I was

play01:42

able to learn a new programming language

play01:44

to me python at a depth more than any

play01:47

language up to this point so I pretty

play01:49

much achieved more in this one year than

play01:51

the last 10 years of my programming

play01:53

Journey how is it that in one year I got

play01:55

more results than I did in 10 years and

play01:59

I can tell you up front it's not about

play02:00

how many hours I put into studying in

play02:03

fact I studied programming less this

play02:05

year than last year and every year

play02:08

before instead it was my approach to

play02:10

learning that made me 10 times more

play02:11

effective and this could be repeated for

play02:13

any other programming language that I

play02:15

need to learn in the future it's

play02:17

actually about how you learn being on

play02:19

the right learning path is going to help

play02:20

you become a better software engineer

play02:22

faster in other words you have to learn

play02:24

the right things the right way in the

play02:27

right order if you're doing these three

play02:29

things you're going to make more

play02:30

progress than you have ever done before

play02:32

so at the end of last year I decided I

play02:34

was tired of going through this Loop of

play02:35

trying to learn to code getting defeated

play02:38

and I decided I was going to completely

play02:39

change the way I learned programming I

play02:42

decided to put this to the test by

play02:43

learning a fairly new language to me

play02:45

Python and I learned more about python

play02:47

in just a few months than any language I

play02:50

have ever studied up to that point I'm

play02:52

going to share exactly the steps I

play02:53

followed to make this happen but I

play02:55

wanted to warn you that the approach is

play02:57

counterintuitive to most people but if

play02:59

you're one of the few people that

play03:00

actually apply it you will be successful

play03:02

now if you think about it the way most

play03:04

people learn software development is

play03:05

they make some claim like hey I'm going

play03:07

to be a software engineer and then they

play03:09

start learning everything they can to

play03:10

get them to that goal they buy a bunch

play03:13

of books they buy some 60-hour udemy

play03:16

courses and the intentions are pure but

play03:19

most people don't get the results that

play03:21

they actually want the problem with this

play03:23

approach to learning is that they've

play03:24

fallen for a common myth that plagues

play03:27

pretty much anyone who wants to learn

play03:29

software Dev elment and this is one of

play03:31

the three big myths that I'm going to

play03:33

share with you in this video the first

play03:35

myth is that anything you learn is going

play03:36

to help you get closer to your goal of

play03:39

being a software engineer or just

play03:41

advancing your skills why is this a myth

play03:44

at first it makes sense right the more

play03:46

you know the better the software

play03:48

developer you're going to be but you

play03:50

have to realize that your brain is only

play03:52

capable of learning so much each day and

play03:55

if you try to force too much into your

play03:57

brain your attention rate starts to

play04:00

decrease so if you approach becoming a

play04:03

software engineer with the thought that

play04:04

you're going to learn everything well

play04:07

that actually takes away a lot of potent

play04:09

brain power you should be directing at

play04:12

learning the most important things the

play04:14

things that actually get you a job as a

play04:16

software engineer and give you a

play04:18

successful career in other words when

play04:20

you try to learn everything you're

play04:22

actually preventing yourself from

play04:23

learning the most important thing now

play04:26

you might object and say that learning

play04:28

all these different Frameworks and

play04:29

languages is is going to make a more

play04:31

versatile developer however let me ask

play04:33

you a question who do you think would be

play04:35

more successful a person who studied

play04:38

python deeply for 12 months straight or

play04:41

a person who studied 12 different

play04:43

languages for a month each my personal

play04:46

belief is that the person who deeply

play04:48

studies one language is going to have a

play04:50

better understanding of how to use

play04:52

programming languages to solve real

play04:54

world problems the person that studied

play04:56

12 programming languages yeah they might

play04:59

have a good taste of all the different

play05:00

languages out there but they're not

play05:02

going to know how to apply any of these

play05:04

because their knowledge is going to be

play05:05

so shallow plus this person who's

play05:07

developed a really deep knowledge of

play05:09

python is going to be very easily able

play05:11

to transfer that knowledge over to a new

play05:13

language if they need to so I've just

play05:15

debunk the myth that to be a better

play05:17

software engineer you need to study more

play05:19

things instead you need to study less

play05:22

isn't that a relief the second myth

play05:24

that's preventing you from achieving

play05:25

your goals in software engineering is

play05:27

believing that the tech is the most most

play05:29

important thing rather it's the life

play05:32

transformation that the tech can provide

play05:35

for the people that need it that seems

play05:37

obvious but you might not even realize

play05:39

you're doing this when you say hey I

play05:41

want to be a better developer you

play05:43

immediately think of the different

play05:45

Technologies or programming languages

play05:47

that you need to learn to be a better

play05:49

developer this myth the myth that the

play05:51

programming language is what truly

play05:53

matters is why you're jumping from one

play05:55

language to another language to a new

play05:58

framework and you can't actually focus

play06:00

on solving any real world problems this

play06:03

makes you pretty much useless in the

play06:05

software engineering world this means

play06:07

that if you only know one programming

play06:09

language but you know how to take this

play06:10

language and apply it to real world

play06:13

problems you're going to be 10 times

play06:15

more valuable than any other software

play06:17

engineer who just knows syntax you might

play06:20

argue this and say that understanding

play06:21

your tools helps you fix more problems

play06:24

but a true engineer looks at the problem

play06:26

and asks how can I solve this and then

play06:29

can learn any tool needed to fix that

play06:31

problem now don't misunderstand me here

play06:33

I teach programming so yes learning the

play06:36

tools is important but you need to

play06:38

understand that any programming language

play06:40

is going to have a plethora of different

play06:43

capabilities and features that are also

play06:45

going to be available in other

play06:46

programming languages as well so it's

play06:49

important you understand how to use

play06:51

these different capabilities to solve

play06:53

problems so this is great news

play06:55

continuing off of the previous myth that

play06:57

you need to know everything I just

play06:59

reinforced this by saying hey you only

play07:01

need to learn one or two tools and

play07:03

figure out how to solve real world

play07:05

problems stop focusing on the tools and

play07:08

instead focus on the solutions the final

play07:11

myth is that the way you learn a

play07:12

programming language really doesn't

play07:14

matter it can come from any source and

play07:16

in any order as long as you're getting a

play07:17

little bit of practice each day instead

play07:19

I like to consider building skills like

play07:21

building a skyscraper you don't just

play07:24

build a skyscraper on accident you know

play07:26

starting with the roof and the walls and

play07:28

then the foundation and then the windows

play07:31

no you start with the foundation and you

play07:33

build upon this Foundation one layer at

play07:36

a time in a sequential order and that

play07:38

makes sense the next layer is just one

play07:41

step away and you keep going one step

play07:44

higher when you jump around from

play07:46

learning SQL in a book to a python udemy

play07:49

course to who knows what's next you're

play07:52

actually giving your brain Whiplash and

play07:54

you're not going to retain the

play07:56

information as well instead you should

play07:59

prior ize learning as much as you can

play08:01

from One Source in a sequential order

play08:04

when you learn things in the right order

play08:06

it actually helps lock in the previous

play08:08

information which helps you retain

play08:10

everything you learn so to reiterate the

play08:12

way in which you study programming is

play08:14

very important so that was a lot of

play08:16

information so let me try to sum it up

play08:18

with a quick question if you focused on

play08:20

learning the most important things to

play08:23

solve real world problems and you learn

play08:25

things following a organized learning

play08:28

pathway don't you think would be a

play08:29

better software engineer going through

play08:32

this process and figuring out the best

play08:33

way to learn took me a year of

play08:35

experimenting with python however if

play08:37

someone told me this from the start I

play08:39

think I could have learned that

play08:40

information in a month the path wasn't

play08:43

always clear as I was walking through it

play08:45

but looking back I know exactly what was

play08:47

important and what I should have focused

play08:50

on knowing this information a year ago

play08:52

that could have saved me a lot of time

play08:53

just searching the web compiling

play08:55

information trying to build apps and I

play08:58

want to save you this same amount of

play09:00

time by giving you a curriculum that

play09:01

brought me from knowing pretty much

play09:03

nothing in Python to it being my most

play09:06

proficient language I can't show you the

play09:08

effectiveness of this approach to

play09:09

learning in just one video but it's used

play09:11

throughout the entire program and it's

play09:13

called python boot camp so if you're

play09:16

ready to go from I can't to I am then

play09:19

python boot camp is the course that's

play09:21

going to be your shortest path from

play09:23

beginner to python engineer so not only

play09:26

does this course teach you python but it

play09:27

teaches you the learning frame work you

play09:29

can then apply to any programming

play09:31

language you need to learn in the future

play09:33

you might be asking yourself is this

play09:34

course for me well we have modules for

play09:37

the basics the advanced and then applied

play09:40

python in web development and machine

play09:42

learning regardless of your experience

play09:44

level this course is for you you just

play09:46

have to decide that you're ready to

play09:48

commit and you're tired of wasting your

play09:50

time without this course sure you could

play09:52

go buy a 60-hour udemy course or a bunch

play09:54

of books but this stuff's really not

play09:56

going to add a lot of value to your life

play09:58

and you're going to have to sift through

play10:00

many hours of content or join me for

play10:03

python boot camp and potentially save

play10:05

hundreds of dollars and hundreds of

play10:07

hours that you'd be wasting on a ton of

play10:09

other resources scattered across the

play10:11

internet now according to the stack

play10:13

Overflow developer survey the median

play10:15

salary for a python engineer in the

play10:17

United States is

play10:19

120,000 so this course is not only going

play10:21

to help you save money but actually earn

play10:23

a lot more money in a career that is

play10:25

fulfilling and pretty lucrative now if

play10:27

you're watching this on the Live

play10:28

premiere I have a coupon code launch and

play10:32

if you use that in the next 15 minutes

play10:34

you'll get 15% off of the course after

play10:37

15 minutes I'm disabling that coupon and

play10:39

if you are still not sure I have a bonus

play10:41

for you when you enroll in Python boot

play10:43

camp not only do you get 10 hours of

play10:45

focused training but you also get early

play10:48

access to my upcoming course python

play10:51

projects this will be the most applied

play10:53

course I have ever created and it's

play10:55

designed to take the principles from

play10:57

python boot camp and apply them to even

play10:59

more more projects so by the end of the

play11:01

course you'll have a complete portfolio

play11:03

of python projects that you can show to

play11:05

any potential employer this is something

play11:08

that's going to be launched sometime

play11:09

next year so when you get early access

play11:11

to this course you'll get each project

play11:13

as I build them now back to python boot

play11:15

camp this course is only going to be

play11:17

available for a week from the launch of

play11:19

this video so it's going to close on the

play11:21

last day of November

play11:23

1159 p.m. eastern time at that point the

play11:27

course will be closed and it won't be

play11:28

open again until I finish python

play11:31

projects so you

Rate This

5.0 / 5 (0 votes)

Etiquetas Relacionadas
Software EngineeringLearning FrameworkPython BootcampDeveloper SkillsProgramming MythsCareer AdvancementSkill DevelopmentCoding OverwhelmEducational PathTech Industry
¿Necesitas un resumen en inglés?