How I Would Break Into Software Engineering (If I Could Start Over)
Summary
TLDRAman, a seasoned software engineer, shares a comprehensive guide for aspiring software engineers. He addresses the value of the profession in the AI era, the importance of a computer science degree, and the stark reality of the effort required to break into the field. Aman emphasizes the high earning potential and work-life balance of software engineering, while also discussing various learning paths, including structured programs, boot camps, and self-paced courses. He stresses the necessity of dedication, practice, and leveraging connections to land that first job in tech.
Takeaways
- π‘ Software engineering remains valuable despite AI advancements, with the number of software engineers increasing over time.
- π A computer science degree is still valuable, providing foundational knowledge, community, internship opportunities, and a structured learning environment.
- π« Prestigious universities can offer a reputational advantage in the field of software engineering, but they are not the only path to success.
- π° High earning potential is a significant incentive for switching to software engineering, with median wages significantly higher than other occupations.
- π The future of software engineering is bright, with opportunities for niche apps and software solutions continuing to grow.
- π Investing in paid resources for learning can provide structure, accountability, and a more efficient learning path compared to free online resources.
- π οΈ Bootcamps can be valuable for a structured learning approach, but success depends on additional effort beyond the curriculum.
- π Self-paced courses offer flexibility but require high motivation and discipline to complete effectively.
- π Mastery of one or two programming languages is crucial, and practical experience through projects is essential for learning.
- π€ Participating in hackathons and doing free work for startups can help build a resume and provide real-world experience.
- π Data structures and algorithms are fundamental to software engineering and are key to passing coding interviews, which are crucial for job acquisition.
Q & A
Why is software engineering still valuable despite advancements in AI and automation?
-Software engineering remains valuable because, while AI and automation can reduce the number of engineers needed for certain tasks, the demand for software engineers has actually increased over time. There are more software companies and applications today, and this trend is expected to continue, creating a growing need for software engineers to develop and maintain these technologies.
What was the situation with software engineering 25 years ago, and how has it changed?
-25 years ago, creating the first version of PayPal took 1 to 2 years and 10 to 20 software engineers. Today, similar projects can be completed in a weekend due to advancements in computer science education, tools, and AI. However, despite the increased efficiency, the number of software engineers has grown from about 200,000 to over 2 million, indicating a significant expansion in the field.
Why is a computer science degree still valuable today?
-A computer science degree is valuable because it provides a strong foundation in mathematical and computational basics, as well as exposure to a community of like-minded individuals. It also offers structured learning, internship opportunities, a built-in alumni network, and the prestige of a university, which can be beneficial for career advancement.
What are the potential financial benefits of switching careers to software engineering?
-The median annual wage for software developers is significantly higher than the average for all other occupations. Over a 10-year period, a software engineer can expect to earn around a million dollars, compared to approximately $500,000 for the average person in other fields, highlighting a substantial earning potential.
What are the non-monetary benefits of a career in software engineering?
-Software engineering offers a good work-life balance, flexible hours, remote work opportunities, and is intellectually stimulating. It also provides a community of energetic and intellectually curious individuals, which can lead to enriching professional relationships.
What is the speaker's perspective on the effort required to become a software engineer?
-The speaker believes that becoming a software engineer requires a significant amount of effort, often treating it as a part-time job in addition to one's current occupation. It involves dedicating a substantial amount of time to learning and practicing, with the recommendation of 15 to 20 hours per week for part-time or 40 to 50 hours for full-time study.
Why might paid resources be more effective for learning software engineering compared to free online resources?
-Paid resources offer structure, accountability, and a curated learning path, which can be more efficient than sifting through the vast amount of free information available online. Investing money into a learning program can also motivate individuals to complete the course and achieve their learning goals.
What are the potential downsides of attending a coding boot camp?
-Some coding boot camps have been criticized for providing generic projects that many graduates complete, leading to a lack of differentiation in job applications. Additionally, the high cost and the pressure to perform can be challenging, especially if the boot camp's promises do not translate into job opportunities.
How can doing hackathons benefit someone interested in software engineering?
-Hackathons provide an opportunity to work under time constraints, interact with industry professionals, and meet other programmers. They also help build a portfolio of projects, which can be valuable for a resume and increase the chances of securing interviews in the software engineering field.
What is the importance of mastering data structures and algorithms for aspiring software engineers?
-Data structures and algorithms are fundamental to computer science and are often the focus of coding interviews. Mastery of these topics is crucial for passing technical interviews and securing a job in software engineering.
What strategies can someone use to stand out when applying for software engineering positions without prior experience?
-Applicants can leverage connections from their previous careers, target smaller local companies, and use their newly acquired skills to build a portfolio of projects. Participating in hackathons and gaining free experience through work for startups can also help demonstrate dedication and competence.
Outlines
π The Value of Software Engineering in the AI Era
Aman, a software engineer with experience at major companies, discusses the enduring value of software engineering despite AI advancements. He contrasts the development time and team size for PayPal in 1998 with what's possible today, highlighting the impact of computer science education, better tools, and AI. Despite the reduced need for engineers to produce the same output, the number of software engineers has grown significantly. Aman predicts that the future will see a proliferation of niche software applications, each requiring software engineers, making the profession valuable for many years to come.
π The Importance of a Computer Science Degree for Young Aspirations
Aman addresses the question of whether a computer science degree remains valuable, especially for high school and early college students. He argues that while the field of computer science is rapidly evolving, a formal education provides foundational knowledge, a community of learners, structured learning, internship opportunities, and a valuable network. Despite the outdated curriculum in some colleges, a computer science degree from a prestigious university offers significant advantages in entering the software engineering field.
πΌ Career Switch to Software Engineering: Benefits and Challenges
The script shifts focus to adults considering a career change to software engineering. Aman outlines the financial incentives, such as higher pay and greater earning potential over a decade, compared to other professions. He also mentions the work-life balance and intellectual stimulation software engineering offers. However, he warns of the significant effort required to make such a switch, suggesting that for most, training to be a software engineer should be a part-time job, requiring a substantial time commitment for learning and preparation.
π οΈ Strategies for Becoming a Software Engineer Without a Degree
Aman provides various strategies for those without a computer science degree to break into software engineering. He advises investing in paid resources for structured learning and accountability, mentions the potential of boot camps with the caveat of needing to do additional work, and discusses the value of self-paced courses with the importance of completing them. He also suggests mastering a programming language through tutorials, participating in hackathons, doing free work for startups, and emphasizes the importance of learning data structures and algorithms for coding interviews.
π Final Steps to Secure a Software Engineering Job
In the final paragraph, Aman discusses the steps to take after mastering programming languages and preparing for coding interviews. He suggests applying to smaller local companies and leveraging previous career connections to stand out. Aman also mentions his own program, the Software Engineering Accelerator, which offers personalized coaching for those committed to becoming software engineers. He encourages viewers to use the resources provided, such as a free PDF checklist, to aid in their journey.
Mindmap
Keywords
π‘Software Engineering
π‘AI
π‘Computer Science Degree
π‘Coding Interviews
π‘Data Structures and Algorithms
π‘Hackathons
π‘Career Switch
π‘Monetary Incentive
π‘Online Courses
π‘Boot Camps
π‘Career Accelerator
Highlights
Aman, a software engineer with experience at Shopify, Amazon, and John Deere, provides a guide to breaking into tech without a computer science degree or experience.
Despite advancements in AI, software engineering remains valuable due to the increasing number of software companies and niche apps.
The number of software engineers has grown from 200,000 to 2 million in 25 years, reflecting the field's expansion despite AI's impact.
A computer science degree is still valuable for its structured learning environment, community, internship opportunities, and alumni network.
High schoolers and early college students are advised to pursue a computer science degree for its foundational knowledge and community benefits.
Switching to software engineering from other fields can be motivated by higher pay, with software developers earning a median annual wage of $110,000 compared to $50,000 for other occupations.
The potential earnings difference over 10 years for a software engineer versus other careers is approximately $500,000.
Software engineering offers a great work-life balance, flexible hours, remote work opportunities, and an intellectually stimulating environment.
The competition to become a software engineer is high, and it requires significant effort, often treating training as a part-time job.
Investing in paid resources is recommended for their structure and accountability, rather than relying solely on free online resources.
Course careers is highlighted as a platform that teaches software engineering skills and provides mentorship and employer connections.
Boot camps can be valuable but should be supplemented with additional learning and coding interview preparation for better success.
Self-paced courses require high motivation and focus, with a suggestion to create personal accountability by risking money on course completion.
Mastering one programming language and engaging in projects, hackathons, and free work for startups can build technical experience for a resume.
Data structures and algorithms are essential for coding interviews, and platforms like LeetCode are recommended for practice.
Networking and applying to smaller local companies can increase the chances of landing the first software engineering job.
Aman offers a Software Engineering Accelerator program for those with no experience or degree, providing coaching and resources.
Graduates of Aman's program have landed interviews at major companies, emphasizing the program's effectiveness.
Transcripts
listen to me I'm going to explain to you
exactly how I would break into software
engineering if I had to start over my
name is Aman I'm a software engineer and
I've worked at companies like Shopify
Amazon and John Deere and I'm going to
teach you a step-by-step guide to break
into Tech with no knowledge no
experience no shitty boot camps and not
even a computer science degree but first
in the age of AI why is software
engineering even valuable I mean we have
get up co-pilot cursor AI apps like
Devon the AI software engineer coming
out so is it even worth becoming a
software engineer anymore and will this
position even exist 10 years from now
let's go back 25 years to the year 1998
two men Peter teal and Max lechin
founded Paypal now to make the first
version of PayPal it took them 1 to 2
years and 10 to 20 software Engineers
nowadays someone could probably slap
together a working PayPal in a weekend
people are doing stuff like that in
their class projects in hackathons
suffice it to say because of Computer
Science Education because of enhanced
tools resources because of AI it takes
10 times less people to produce the same
output but let me ask you one question
are there more software Engineers today
or less according to the Bureau of Labor
Statistics there were about 200,000
software Engineers 25 years ago when
PayPal was created and today there are 2
million so while it takes 10 times less
Engineers to do the same thing there are
10 times more of them and the future
will be no different yes with tools like
Devon AI one software engineer can do
the work of 10 but we will simply have
way more software companies out there
way more apps for Niche cases imagine 30
years ago you told someone there would
be an app where you can ask a restaurant
to go into deliver food for you or an
app where you can stream unlimited music
for one monthly price people would have
laughed at you but door Dash and Spotify
exist today and in the future we'll have
tens of thousands of softwares apps that
cover very specific use cases that we
can't even dream of and every one of
those products will need a software
engineer behind it now if you're above
the age of 22 you've already completed a
degree in something and you're working
in industry in some other field skip to
this time Sam this section is
specifically for you high schoolers and
early college students all of the young
people watching this video I have one
question
while I just showed you that software
engineering will be valuable 10 20 30
years from now is a computer science
degree still valuable you as a young
person are probably concerned that the
field of computer science is getting
more and more outdated in fact when I
graduated college there was just one or
two classes on AI and they were covering
content from 20 30 years ago imagine how
behind industry college is going to be
so is it even valuable I mean should you
just not go to college and do it on your
own the simple most straightforward
answer is yes a computer science degree
is still valuable and if you're a high
schooler I would highly recommend doing
one and here's why a computer science
degree teaches you the mathematical and
computational Basics the foundations of
software engineering but more
importantly it gives you community of
thousands of other people interested in
learning computer science in Tech and
that's something that's very difficult
to get if you don't do a degree in
computer science you have a structured
environment where you can learn all
these programming languages data
structures and algorithms operating
systems slowly over 4 years you also
have the opportunity for internships
which give you real world experience in
the world of software engineering
something that's a lot more difficult to
get if you're completely out ofo school
you have a built-in Network in alumni
community that can help you out and
finally the monetari and social buyin of
a computer science degree at a
prestigious University makes all the
difference it's simply very difficult to
get an environment on your own for four
years of we grinding spending 40 50 60
hours a week just purely learning a
computer science degree is how I broke
into software engineering and how I
would recommend you do it if you're an
18-year-old now if you're wondering what
kind of college you should go to
unfortunately the prestigious
universities still have a reputation
that will help you even in the field of
software engineering the same student
who goes to a state school versus MIT
the brand name of a top 10 school does
actually make a difference when Landing
the first interview so if you have the
opportunity to go to a school like that
or even a school like the University of
California Berkeley Georgia Tech
University of Illinois or B champagne it
is worth going to those but even if you
can't it is in no way shape or form
going to stop you from becoming a
successful software engineer you just
have to put a little bit more effort out
there in developing your own skills to
become a better computer scientist and
programmer okay let's invite the adults
back into the conversation if you're
already out of college let's say you're
doing some other field like accounting
or law or even medicine or sales and
marketing what's the point of switching
into software engineering I mean you
already have somewhat of a stable career
right so why would you need to learn how
to code go through all this effort to
switch careers and the most obvious
reason is higher pay of course according
to the Bureau of Labor Statistics the
median annual wage for software
developers was $110,000 a year obviously
this figure varies widely based on
location experience specialization and
I'm not saying you're going to earn
$110,000 a year as soon as you graduate
college as soon as you become become a
software engineer but let me tell you in
contrast the median annual wage for all
other occupations so everyone else is
not a software engineer according to the
Bureau of Labor Statistics was only
$50,000 a year software Engineers
literally earn double the average other
job now let's take this difference over
10 years what's the average difference
between a software engineer's earnings
over 10 years compared to the average
other field over 10 years a software
engineer on average will earn around a
million and the average other career
will only earn around $500,000 that's a
$500,000 difference to switch into
software engineering and do that and
this isn't even including promotions
which drastically change your
compensation as a software engineer
software Engineers will routinely double
their salary whereas in other Industries
the salary increases are only maybe 2 to
4% every year finally if you make it to
a Fang company like meta Apple Amazon
you're probably looking at a million
dollars over 10 years compared to some
other average career software
engineering is nearly the perfect career
if you're looking for something that's
incredibly high paying but doesn't take
10 years of school like being a doctor
or four to eight more years of school
like being a lawyer and aside from the
monetary benefits software engineering
has a notoriously great work life
balance when you compare to other
industries that are similarly paying so
if you compare Investment Banking and
software engineering investment bankers
will routinely work 8090 hours a week in
the first one to two years whereas
software Engineers rarely go over 50 to
60 hours a week and that's on the high
end software engineering also has
flexible hours remote work it's an
intellectually stimulating job so you're
always learning new information and you
usually are surrounded by a great
community of young people or people that
have tons of energy people that are
insightful intellectually curious that
you can have great conversations with
but you probably already agree with all
of that which is why you're interested
in becoming a software engineer so let
me ask you what are the chances of you
actually becoming a software engineer if
you want to I'm going to be honest and
you're probably not going to like to
hear this but it will require far more
effort than you probably think and most
of you guys watching this video if
you're not already a computer science
student or a software engineer actually
don't have that great of a chance of
making it I wish I could just sit here
and tell you that you could watch cute
little coding tutorials on the weekend
just watch some nice YouTube videos on
coding and software engineering maybe
spend a couple of hours with your friend
building some random project and then
one year from now you'll magically have
some 200k Google job that could not be
farther from the truth just think about
the competition you have Elite Code
Monkey 24 year-olds coming out of
Georgia Tech coming out of MIT who are
competing with you to get hired these
guys have no commitments in their life
they have no 9 to-5 job they have no
family they have no kids and they can
spend all all day long practicing Rec
coding interviews they're going to beat
you so if you actually want to chance
against these guys training to be a
software engineer is going to be your
part-time job aside from your actual job
for at least a year and even better if
you can take 3 4 months off and do
nothing but prep for being a software
engineer that's even better if you're
going to do it parttime it's going to
take at least 15 to 20 hours per week of
practice and if you're studying
full-time I would allocate at least 40
to 50 hours a week of prep and if you do
that for 6 to 12 months then I would
give you a very solid shot of actually
making it into the industry but if
you're not willing to put in that effort
if 20 hours of study per week scares you
then I'd recommend that you just get out
of this industry entirely but if you're
one of the select few who's willing to
actually make the commitment who has set
this goal of becoming a software
engineer and is willing to dedicate your
entire life outside of the 9 to5 to
doing it then here's exactly what I
would do first of all you need to invest
in paid resources there's a myth going
around that all the knowledge you need
to become a software engineer is
available for free online on YouTube on
Geeks for geeks on the internet and sure
maybe all the information is out there
somewhere but it will take hours a week
of actually compiling all these
resources for free and even if you
manage to put in 2 3 4 hours per week of
just organizing your resources there's
no accountability there's no structure
YouTube is great but unless you have the
time to dig through tens of thousands of
coding tutorials uploaded by random
people all saying conflicting things all
different languages no structure
whatsoever because think about it your
return is $500,000 over 10 years so why
wouldn't you invest a few thousand into
some sort of actual structured
programmer road map and if you want to
do that there's this program from course
careers which is actually a really good
option they're a platform that will
teach you everything from start to
finish to land a job in Tech and they're
especially useful to you if you don't
have a computer science degree and you
don't have any experience many of course
career's graduates are actually out
competing people with a computer science
degree without any previous experience
they're also industry Professionals in
the platform which will Mentor you and
Coach you throughout the process as well
as employers who hir directly from
course careers course careers is a free
introduction course you can check it out
in the link in the description I would
highly recommend starting with that free
course but if you don't want to do that
that some other options are doing a high
ticket boot camp what are my thoughts on
boot camps well back in the day boot
camps were touted as this ultimate
resource you can pay 30 40K a fraction
of a University degree and a fraction of
the time and then in one year you'd be a
highly paid software engineer and
unfortunately a lot of these boot camps
have lied have inflated their statistics
and the main reason why it's not that
easy to be a successful boot camp
graduate is because all of these boot
camps give you the same projects so
you'll have 10 20 30 boot camp graduates
in the same application cycle applying
to the the same companies with the same
series of projects on their resume you
have no differentiating factors
whatsoever so if you just do whatever
the boot camp tells you that is not a
guarantee that you will actually find a
career afterwards however I do think
boot camps are valuable for giving you a
structured approach and some kind of
motivation to actually learn everything
if you drop 30 40K in a program
especially if it's your own savings you
will have to perform and if you follow
everything in the boot camp but then
also do some other stuff on your own I
do think you will have a solid shot of
making it as a software engineer so I'm
not saying boot camps are out of the
picture I'm saying that you can't just
only do what the boot camp gives you you
have to do more on the side as well and
you also have to prep for coding
interviews and probably use referrals as
well now another option are self-paced
courses from udemy edx even skillshare
and these are also great opportunities
they're much cheaper usually only $0000
but the unfortunate part is that they
require a lot of motivation and focus to
actually complete there have been
studies that 90 plus% of people who
purchase courses on these platforms
don't actually finish them and they
barely Watch past the first one or two
lectures again I'm not not saying
they're not valuable I found incredible
value from a lot of self-paced courses
but even me I've struggled to watch the
entire thing and take it seriously I
mean there's no incentive there's no
accountability there's no structure
there so while I do think buying a
self-paced course is better than just
watching free tutorials on YouTube you
need to have some kind of accountability
and the best way to do that is to put
some money on the line so give your
friend $1,000 and have them only give it
back to you if you complete the full
self-paced course with all the projects
homeworks and assignments and put a
specific due date say one month from now
you have to do the entire class
otherwise you lose $1,000 here are your
options okay you can do course careers I
think that's a great option another
option is you could pay for a self-paced
course and you should probably work
through three to five of them with that
monetary incentive there or you can pay
a lot of money for a boot camp that's
also a great option as well finally if
you don't want to use any paid resources
here's what I would do I would pick one
programming language and get incredibly
good at using that so I would pick
either probably Java or Python and then
watch maybe 50 to 100 YouTube tutorials
on these and I would take notes and more
importantly I would do the project so
the you YouTubers are giving you so many
people make the mistake of thinking that
you can just watch a bunch of tutorials
passively not actually do the coding not
actually do the work and get away with
it and actually learn something which
could not be farther from the truth 80%
of that learning will actually come from
you doing the project you stumbling to
some random error having to troll the
internet chat gbt stack Overflow and
debugging because that's half the skill
of a software engineer is hitting some
error that you didn't expect to see
there that nobody warned you about that
nobody has any knowledge about you have
to actually read documentation and look
at the internet to try to figure it out
so you should spend 3 to 6 months
grinding this one language I would also
recommend learning some objectoriented
programming on the side and then of
course building out those assigned
projects in the videos another great
option is doing some hackathons even if
you don't have that much experience and
the reason you do a hackathon is because
it helps build out your resume and it
creates some time pressure and you also
have the option to interact with members
of the industry companies who were
hiring from the hackathon you're going
to meet other coders and programmers
another option is to do some free work
for a startup by doing free work for a
startup for at least a few months you
have your opportunity to build up your
skills then you'll be able to add
technical experience to your resume
which will drastically improve the
chances of getting that first interview
once you actually go out there and try
to become a software engineer after you
spend 3 to 6 months really mastering one
or two programming languages you have
some good object-oriented programming
experience I would recommend jumping
straight into data structures and
algorithms data structures and
algorithms are the bread and butter of a
computer science degree and those are
what are tested on those coding
interviews that those companies will
give you and frankly if you can't pass
the coding interview you can't get the
job so what I would recommend doing is
going to need code. working through the
need code 150 and even better purchase
his program so need code has a bunch of
classes tutorials I would highly
recommend you purchase those and work
through the need code 150 and whenever
you encounter a topic that you're
unfamiliar with that you have no idea
how it works I would recommend watching
his video on how to actually learn it I
would also be grinding leak code at this
point leak code is a platform that hosts
thousands of coding interview problems
and these companies will ask you
questions that are very similar to the
ones you'll find on there so around
month 5 or six I would start doing a
heavy amount of lead code preparation
now with this point point you've learned
one or two languages very well you've
done a bunch of hackathons you have
several projects from these online
courses and also the hackathons you
maybe have some free experience at a
startup and you're great at coding
interviews now it's time to actually put
yourself out there and start applying
unfortunately a company is still going
to have to take a chance to hire you
when they have some 22-year-old
23-year-old graduate with a computer
science degree in five internships it's
really hard to stand out which means
that you're going to have to go for
smaller companies in your local area and
ideally you use your connections from
your previous career to help you in this
area so if you work for an accounting
firm if you work for a law firm does
your company have software Engineers or
does your company work with any other
companies who have software Engineers or
do you have any contacts in the software
engineering industry who could introduce
you to an HR or hiring manager you will
not be able to get a job at Lyft Uber
Facebook stripe it's not going to work
out that will come later down the line
when you have a few years of software
engineering experience but you'd be
surprised at how many smaller companies
are willing to take a chance on
motivated dedicated people who have
devoted the last 12 months to grinding
and learning software engineering you're
a smart adult with some other profession
I believe you can do it now if you want
to near guarantee becoming a software
engineer I have a program it's called a
software engineering accelerator this
program is optimized for people who have
no experience no computer science degree
whatsoever this is the one product I
have and the benefit of it is that you
get to work directly with me I will
Coach you over a period of 2 months into
finding the best resources into
preparing for coding interviews into
answering all of your questions you have
along the way so while in this video
I've given you a ton of high Lev tips if
you actually want me to help you
implement everything in this video to
get that 500 $1,000 bonus over a 10-year
period you can click the link in the
description and book a call and we can
talk about the program further graduates
of my program are landing interviews at
companies like Amazon one person got a
job at Boeing so I think it's well worth
your time and if you want my free pdf
checklist on how to actually get that
first interview there's a link in the
description as well you can go to AMOM
bazar.com intership checklist thank you
guys for watching and good luck on your
software engineering Journey
Browse More Related Video
5.0 / 5 (0 votes)