How I Learned to Code in 4 MONTHS & Got a Job Offer (no CS Degree)

Internet Made Coder
12 Feb 202209:16

Summary

TLDRThis video script narrates the inspiring journey of a self-taught software engineer who, without a computer science degree or boot camp, learned to code in just four months using free online resources. Starting with Python and web programming basics, the individual progressed through Harvard's CS50 course and its web programming follow-up, gaining proficiency in programming languages and web development frameworks. The script emphasizes the importance of continuous learning and problem-solving in the field of software engineering. It concludes with the speaker's successful job acquisition through an internship conversion and encourages viewers to pursue coding as a valuable, in-demand skill.

Takeaways

  • 🎓 The speaker learned to code from scratch in four months without a computer science degree or attending a boot camp.
  • 💻 All learning materials for coding were found for free on the internet, proving that it's possible to become proficient without incurring costs.
  • 🌐 The initial exposure to coding was through Python and web programming, highlighting the importance of starting with accessible languages and technologies.
  • 📚 Harvard University's CS50 course on edX was a pivotal learning experience, providing a solid foundation in computer science and programming.
  • 🛠️ Problem-solving is a key aspect of programming that the speaker enjoyed, which is not for everyone but is essential for those pursuing coding.
  • 🏗️ Understanding the fundamentals of how computers work at a low level is crucial for becoming a better programmer, as emphasized by the CS50 course.
  • 🌟 The speaker's passion for learning and solving complex problems drove their journey through the challenging but rewarding field of software engineering.
  • 📈 The speaker's progression from basic coding to building full-fledged web applications was facilitated by continuous learning and practice.
  • 📈 The speaker secured a software engineering job by leveraging an internship and demonstrating their coding skills and motivation.
  • 🚀 The importance of being a lifelong learner in the ever-evolving field of software engineering was highlighted, as new technologies and practices emerge.
  • 🌟 Coding is presented as a valuable and in-demand skill, akin to a 'superpower', with high demand and numerous job opportunities for software engineers.

Q & A

  • How long did it take the speaker to learn coding from scratch?

    -It took the speaker around four months to learn coding from scratch.

  • What was the speaker's educational background before learning to code?

    -The speaker had an economics degree from university and had done an internship at a bank.

  • Why did the speaker decide to learn coding?

    -The speaker decided to learn coding to find an industry where they could make a good income and have a more humane lifestyle while working on problems they are excited about.

  • What resources did the speaker use to start learning coding?

    -The speaker started with resources called 'Python for Everybody' and 'The Odin Project', which they found online for free.

  • What is the difference between computer science and programming according to the speaker?

    -Computer science studies how computers work, whereas programming is more about practically creating programs and communicating with computers to accomplish tasks.

  • Which course did the speaker take to get an introductory understanding of computer science?

    -The speaker took Harvard University's CS50 course on edx, which they found to be an excellent and challenging course.

  • What programming languages did the speaker learn during their journey?

    -The speaker learned Python, C, HTML, CSS, JavaScript, and also got introduced to web programming and using databases via SQLite.

  • What is the significance of understanding low-level implementations for a programmer?

    -Understanding low-level implementations can make someone a better programmer by providing a deeper understanding of how functions work, which can be beneficial in the long run.

  • What course did the speaker take to improve their web programming skills after CS50?

    -The speaker took CS50's follow-up course called 'Web Programming with Python and JavaScript' to get better at web programming.

  • How did the speaker secure their first software engineering job?

    -The speaker secured their first software engineering job by doing a non-software engineering internship at a big company, performing well, and convincing the company to give them a return offer as a software engineer.

  • What advice does the speaker give for those wanting to learn coding?

    -The speaker advises to try before you think you're ready, to keep learning as the field is always evolving, and to consider if a lifelong learning mindset is suitable for the individual.

  • What does the speaker suggest about the future of software engineering jobs?

    -The speaker suggests that there will be more software engineering jobs in the future, and that currently, there are not enough software engineers to fill the available positions.

  • What is the speaker doing while waiting for their job to start?

    -The speaker is building projects on their own to get even better at coding and is digging deeper into computer science using free materials on the internet.

Outlines

00:00

🎓 Learning to Code and Landing a Software Engineering Job

The speaker shares their personal journey of learning to code from scratch in just four months without a computer science degree or any formal training. They emphasize the accessibility of free online resources and their decision to transition from an economics background to software engineering due to a lack of passion for finance. The speaker highlights their use of 'Python for Everybody' and the 'Odin Project' to learn programming basics and web development. They also discuss the importance of understanding computer fundamentals, which they gained through Harvard University's free CS50 course on edX. The speaker's enthusiasm for problem-solving and learning is evident as they delve into the challenges and rewards of coding, and they stress the ongoing nature of learning in the tech industry.

05:01

🚀 Advancing Web Programming Skills and Career Transition

The speaker continues by detailing their progression to advanced web programming through Harvard's CS50's follow-up course, which focuses on web development with Python and JavaScript. They describe the course's fast pace and the practical experience of building web applications using the Django framework. The speaker emphasizes the value of these projects for building a portfolio suitable for entry-level job applications. They acknowledge the continuous learning required in software engineering and the need to adapt to new technologies and practices. The speaker shares their personal experience of securing a software engineering job offer by leveraging an internship at a large company and demonstrating their coding skills and motivation. They encourage viewers to take initiative and apply for jobs before feeling fully prepared, as opportunities can arise unexpectedly. The speaker concludes by discussing their ongoing self-education in computer science and their commitment to continuous improvement and learning.

Mindmap

Keywords

💡coding

Coding refers to the process of writing computer programs, which involves using programming languages to communicate instructions to a computer. In the video's context, the speaker emphasizes learning to code as a means to transition into a software engineering career without formal education in computer science. The speaker's journey of self-teaching and mastering coding within four months underscores the accessibility and the potential for self-directed learning in the field of programming.

💡self-taught

Being self-taught implies acquiring knowledge or skills without formal education or training. The video's theme revolves around the speaker's experience of becoming proficient in coding and securing a software engineering job through self-study. The term is used to highlight the feasibility of learning complex skills like coding independently, utilizing free online resources.

💡software engineer

A software engineer is a professional who applies engineering principles to design, develop, test, and evaluate computer programs and software. The video's narrative centers on the speaker's aspiration to become a software engineer and their successful endeavor to do so without a formal computer science degree. The term is integral to the video's message, illustrating a career path that values practical coding skills over traditional academic credentials.

💡programming languages

Programming languages are formal languages comprising a set of instructions used to create software and applications. The speaker mentions learning Python and JavaScript, which are popular programming languages, as part of their self-education journey. These languages are essential tools for coding and are key to the speaker's ability to build web applications and pursue a career in software engineering.

💡web programming

Web programming, also known as web development, involves creating, designing, and maintaining websites using a variety of technologies and programming languages. The video discusses the speaker's introduction to web programming through resources like 'Python for Everybody' and the Odin Project, which taught them HTML, CSS, and JavaScript. This concept is central to the speaker's learning process and their eventual job as a software engineer.

💡computer science

Computer science is the study of computers and computing, including their theoretical and practical aspects. The speaker took an introductory course in computer science, 'CS50' from Harvard University, to gain a foundational understanding of how computers work. This knowledge is crucial for a software engineer as it provides insights into the lower-level operations that support higher-level programming.

💡CS50

CS50 is a popular introductory course to computer science offered by Harvard University through the edX platform. The speaker highlights CS50 as a pivotal resource in their learning journey, where they learned the fundamentals of computer science, programming languages like C and Python, and web development. The course is depicted as challenging yet rewarding, setting a solid foundation for the speaker's career in software engineering.

💡framework

In web development, a framework is a platform that provides a structure to make the coding process more efficient and organized. The speaker mentions using the Flask framework during the CS50 course and Django in the follow-up web programming course. These frameworks are essential for building both the front-end and back-end of web applications, a skill that the speaker acquired and showcases in their portfolio.

💡portfolio

A portfolio in the context of software engineering is a collection of projects and work samples that demonstrate a candidate's skills and experience. The speaker built a portfolio of web applications as part of their learning process, which later helped them secure a job as a software engineer. The term is used to illustrate the practical application of coding skills and the importance of showcasing one's abilities to potential employers.

💡lifelong learner

A lifelong learner is someone who continually seeks to learn, grow, and develop new skills throughout their life. The speaker emphasizes the importance of being a lifelong learner in the field of software engineering, where technology and best practices are constantly evolving. This concept is used to convey the message that ongoing learning and adaptation are necessary for success in the tech industry.

💡internship

An internship is a period of work experience where an individual works for an organization to gain professional insights and skills. The speaker mentions a non-software engineering internship at a big company, which provided them with an opportunity to transition into a software engineering role. The term is relevant as it illustrates how the speaker leveraged their internship to demonstrate their potential and secure a job in their desired field.

Highlights

The speaker learned to code from scratch in just four months and landed a job as a software engineer.

The speaker did not have a computer science degree, nor did they attend a boot camp or pay for any materials.

Coding can be learned for free on the internet, as demonstrated by the speaker's personal experience.

Initially, the speaker had no understanding of coding but had a vague idea of it being related to typing on a computer.

The journey of learning to code started after graduating with an economics degree and disliking the banking industry.

The speaker aimed to find an industry with a humane lifestyle and problems they were excited to work on, leading them to software engineering.

The resources 'Python for Everybody' and 'The Odin Project' were used to begin learning coding.

The speaker learned web programming, including HTML, CSS, and JavaScript, through these free online resources.

Harvard University's CS50 course on edX was taken to gain a proper introduction to computer science.

CS50 was described as challenging and one of the best courses the speaker ever took, sparking a passion for programming.

The speaker learned the C programming language and gained an understanding of lower-level implementations.

The importance of understanding how computers work at a low level was emphasized for becoming a better programmer.

The difference between computer science and programming was explained, with the former focusing on how computers work and the latter on practical creation.

CS50's final project involved building a full-fledged web application, providing hands-on experience.

The speaker took a follow-up course, 'Web Programming with Python and JavaScript', to deepen their web programming skills.

The follow-up course was more challenging and fast-paced, with weekly projects building full-fledged web applications using Django.

The speaker emphasizes the importance of continuous learning in the field of software engineering.

Coding is described as a skill that is always evolving, with new technologies and practices emerging regularly.

The speaker secured a software engineering job by leveraging an internship at a big company and demonstrating coding potential.

The speaker's advice is to try for opportunities before you think you're ready, as you never know what might happen.

Currently working on personal projects and deepening computer science knowledge using free online materials and self-created tracking systems.

Coding is considered a superpower and an in-demand skill, with high demand for software engineers and many available jobs.

Transcripts

play00:00

i want to tell you how i learned how to

play00:01

code from completely zero completely on

play00:04

my own in just four months and i even

play00:06

got a job as a software engineer after

play00:08

that i don't have a computer science

play00:09

degree i didn't do a boot camp in fact

play00:12

i've never paid for any materials i've

play00:14

used to learn coding because in this day

play00:16

and age coding is a skill that you can

play00:18

learn for completely free on the

play00:20

internet i am proof of that and in this

play00:21

video i want to tell you how i did it so

play00:24

just a few months ago i had no idea what

play00:26

coding even was i just had this vague

play00:28

idea that something related to typing

play00:31

complicated stuff on a computer to get

play00:33

it to do something and that's

play00:34

essentially what programming is it's you

play00:36

speaking to a computer to tell you what

play00:38

to do but a few months ago i had

play00:40

absolutely no idea what it is what all

play00:42

the other languages do anything related

play00:44

to it got the idea of learning how to

play00:46

code after i graduated from university

play00:48

with an economics degree now most people

play00:50

who do economics end up doing investment

play00:51

banking consulting and these types of

play00:53

things and i did an internship at a bank

play00:56

but a long story short i absolutely

play00:58

hated banking i wasn't passionate about

play01:01

economics and i certainly wasn't

play01:02

passionate about working in finance or

play01:04

many of the other industries where

play01:05

economics grads used to go to i could

play01:08

have easily done it and gone on to make

play01:09

a lot of money as a banker but i just

play01:11

hated the lifestyle the work wasn't

play01:13

inspiring to me so it was clear that i

play01:15

needed a new plan so why did i decide to

play01:17

learn coding i wanted to find an

play01:18

industry where i could still make a lot

play01:20

of money but also have a more humane

play01:22

lifestyle and work on problems that i'm

play01:24

actually excited to work on so i

play01:26

discovered software engineering

play01:28

so i learned that in order to become a

play01:30

software engineer all you really needed

play01:32

was know how to code so i went on google

play01:35

typed how to learn how to code and i

play01:37

ended up starting with resources called

play01:39

python for everybody and the ori project

play01:42

these are both completely free resources

play01:44

that i found online the former

play01:45

introduced me to python one of the most

play01:47

popular programming languages of today

play01:49

and the latter introduced me to web

play01:51

programming so i learned how to build a

play01:52

web page using html css and javascript

play01:55

and stuff like how the internet actually

play01:57

works and what it actually means for you

play01:59

to open a webpage on your computer and i

play02:01

was absolutely fascinated by all of this

play02:04

so the next step was to take a proper

play02:05

introductory course in computer science

play02:08

and i decided to go for harvard

play02:09

university cs50 which you can do for

play02:11

free on edx and i've done a review on it

play02:13

which you can watch right here long

play02:15

story short it's an excellent course in

play02:16

fact it's one of the best courses i've

play02:18

ever taken in my life i was absolutely

play02:20

blown away i came out of this course

play02:22

wanted to consume all the information

play02:24

there is in the world about programming

play02:26

and computer science that is how excited

play02:27

about this field i was and that's when i

play02:28

knew that this was the field that i

play02:30

really wanted to go into cs50 was very

play02:32

challenging it's hard programming is

play02:34

very difficult the thing is i really

play02:36

like working on difficult problems like

play02:38

this and by the way this kind of problem

play02:39

solving is not for everyone and that's

play02:41

completely fine the problem says of the

play02:42

course absolutely kicked my ass but i

play02:44

really embraced the challenge from this

play02:46

course i learned the c programming

play02:48

language which got me introduced to the

play02:49

lower level implementations of a lot of

play02:51

the functions that you will take for

play02:52

granted in a language like python the

play02:54

course does use python as well so i got

play02:56

even more comfortable with python i also

play02:58

got introduced to web programming which

play03:00

i had already been doing as part of the

play03:01

odin project i also got introduced to

play03:03

how to use databases via sqlite but most

play03:06

importantly it taught me the

play03:07

fundamentals of how computers work at a

play03:10

low level this is what i feel like many

play03:12

people learning coding neglect

play03:14

especially if you're self-taught i think

play03:15

it's really valuable to at least get

play03:17

some kind of an understanding of how

play03:19

computers actually work because i could

play03:20

actually make you a better programmer

play03:22

down the line in case you're not aware

play03:23

of the difference computer science

play03:25

studies how computers work whereas

play03:27

programming is more like how do you

play03:29

practically create program how do you

play03:31

talk to computers together to do stuff

play03:33

but the better you understand computers

play03:34

the better you will always be as a

play03:36

software engineer or a programmer as the

play03:38

final project of cs50 you're going to be

play03:41

building a full-fledged web application

play03:43

using the stuff that you learn in the

play03:45

course so at this stage you will

play03:46

essentially know how to code you'll be

play03:48

able to build very simple things it'll

play03:50

be a struggle but you will have an

play03:52

understanding of what it means to build

play03:54

a front end of a website and what it

play03:56

means to build a back end of a website

play03:58

and what sort of languages i used for

play03:59

all of these and how to actually connect

play04:01

the front end with a back end using a

play04:03

framework like flask which is the one

play04:05

that you will use in the course so after

play04:06

doing this before venturing into other

play04:08

areas of programming i wanted to get

play04:10

even better at web programming

play04:11

specifically so i did cs50s follow-up

play04:14

course web programming with python and

play04:17

javascript and this course is

play04:18

essentially a continuation of the

play04:20

extremely engaging and exciting style of

play04:22

cs50 but it's just even more focused on

play04:24

a web programming specifically rather

play04:26

than computer science as a whole and be

play04:27

warned this one moves at an even faster

play04:29

pace than cs50 you'll know from my cs50

play04:32

review that cs50 is very hard and the

play04:34

continuation course the cs50 web is even

play04:37

harder every single week pretty much

play04:39

you'll be building full-fledged web

play04:41

application this time using the django

play04:43

framework it will really really push you

play04:45

to get better but the great thing is

play04:47

that every single week you're building

play04:49

an actual application which you can then

play04:51

put on your portfolio later to apply for

play04:53

jobs again they are simple compared to

play04:55

the stuff that you'll be able to build

play04:57

if you've worked as a software engineer

play04:58

for a long time but again for

play04:59

entry-level jobs they don't really

play05:01

require that elaborate stuff it took me

play05:03

a while but i came out of this course

play05:05

having a pretty decent understanding of

play05:07

web programming the point that now if i

play05:09

have an idea of building whatever i can

play05:13

just go out and figure out how to build

play05:15

it on my own i don't need a course to

play05:16

hold my hands anymore and that's really

play05:18

the goal of these courses is to hold

play05:19

your hands to the point where you know

play05:21

just enough so that you can go into the

play05:22

world yourself and build whatever you

play05:24

want to build so if you do all of these

play05:26

steps and you do them properly you will

play05:28

now know how to code i did this all in

play05:30

around four months it might take you

play05:32

longer if it does that's completely fine

play05:34

i had a lot of time to put into this i

play05:36

was able to work on all of this for

play05:38

around a couple of hours each day it's

play05:39

absolutely fine to take your time but

play05:41

before i get all the experienced

play05:42

software engineer typing on my comment

play05:44

cool you know how to create a simple web

play05:46

program as nothing look hold on i

play05:49

understand coding is a skill that you

play05:51

will never really master it's a field

play05:53

where you always need to keep learning

play05:54

new things because there are always new

play05:56

technologies coming out software

play05:57

engineering practices changed and that

play05:59

kind of stuff so when i say you will

play06:01

know how to code i don't mean that you

play06:03

will be a master i don't

play06:05

mean that you will be a great software

play06:07

engineer what i mean is that you will

play06:08

know enough to start creating simple

play06:10

things and you will know enough to get

play06:12

your foot in the door in the industry

play06:14

than to get your first job in terms of

play06:15

web programming for example you will

play06:17

understand what the front end and back

play06:19

end means and how to connect them using

play06:21

a framework like django or flask and you

play06:23

will sort of know how to navigate

play06:24

yourself into tech world and that is

play06:27

what i would call the first step of

play06:29

getting into the software engineering

play06:30

industry and then when you get your

play06:32

first job that's when you will keep

play06:34

improving down the line obviously this

play06:36

field is something where you will need

play06:37

to become a lifelong learner you need to

play06:39

be someone who likes learning new skills

play06:42

and updating their learning all the time

play06:44

if that's not you then this field might

play06:46

not be for you i know it's for me

play06:47

because i love learning new things

play06:49

that's why i'm so excited about this

play06:50

field just keep in mind and think to

play06:52

yourself whether this is actually

play06:54

something that you want or that you

play06:55

don't want but i will tell you that in

play06:56

this day and age coding is sort of the

play06:58

closest thing that we have to a

play07:00

superpower it's one of the most in

play07:02

demand skills in the world so if you

play07:04

just learn enough coding to get your

play07:06

foot in the door you'll pretty much be

play07:08

good for the rest of your life there is

play07:10

so much demand for these skills there

play07:11

are so many jobs of software engineers i

play07:13

know it's not going to be replaced by ai

play07:15

anytime soon if it does please kill me

play07:17

in fact if you look at any other

play07:19

predictions from people and my own

play07:21

opinion there will just be more and more

play07:23

software engineering jobs in the future

play07:25

and currently there are not enough

play07:26

software engineers in the world to fill

play07:28

up all the positions that are available

play07:30

so if you learn this skill you will have

play07:31

something extremely valuable and it's a

play07:34

pretty good feeling to be able to offer

play07:36

something that's genuinely valuable to

play07:38

the world okay so i didn't talk about my

play07:39

software engineering job yet so here's

play07:41

how that happened the truth is that i

play07:43

got slightly lucky because what actually

play07:45

happened is that during this process

play07:47

that i've described i did a non-software

play07:49

engineering internship at a big company

play07:51

it was a business kind of internship and

play07:53

it just so happened that i was in a

play07:54

division that also hired software

play07:56

engineers i did well in the internship

play07:58

and they wanted to give me a return

play07:59

offer so i just asked them hey would it

play08:01

be possible to get that return offer as

play08:03

a software engineer because actually

play08:04

i've been learning coding so i was

play08:06

basically just able to convince them of

play08:08

my potential and motivation as a coder

play08:10

person to get them to give my return

play08:12

offer as a software engineer so you

play08:14

could say that i got slightly lucky but

play08:16

what this goes to show is that you

play08:17

should always ask you should always try

play08:20

before you think you're ready at this

play08:22

point i was around two months into my

play08:23

process i certainly didn't think i knew

play08:25

enough coding to actually apply for

play08:27

software engineer jobs directly but what

play08:29

this goes to show is that try before you

play08:31

think you're ready you never know what's

play08:32

gonna happen and even if i hadn't got

play08:34

this job i think with my skills now i

play08:36

would certainly be able to apply for a

play08:38

software engineer jobs directly i have a

play08:40

lot of side projects i've done in my

play08:42

portfolio and i can talk about my

play08:44

passion and motivation to this field in

play08:46

a very genuine way and so what i'm doing

play08:47

now while i wait for my job to start i'm

play08:49

building projects on my own to get even

play08:51

better and i'm digging deeper into

play08:53

computer science itself and i'm doing

play08:55

this completely on my own without paying

play08:57

for anything as well and actually

play08:58

created a full system to track my

play09:00

progress learning computer science using

play09:02

materials on the internet using notion

play09:05

and i made this video about it the

play09:06

response has been amazing i'm sure

play09:08

you'll love it go watch it and if you

play09:09

want to follow my journey of

play09:11

self-teaching computer science and life

play09:13

as a self-taught software engineer make

play09:15

sure to subscribe

Rate This

5.0 / 5 (0 votes)

الوسوم ذات الصلة
Coding EducationSelf-TaughtFree ResourcesWeb DevelopmentPython ProgrammingCS50 HarvardWeb FrameworksSoftware EngineeringCareer ChangeTech IndustryLifelong Learning
هل تحتاج إلى تلخيص باللغة الإنجليزية؟