I went from a beginner to a professional software engineer in one year. In this presentation, I tell you how I did it, and give you an outline of the skills you need to learn to program professionally.
How I Went from Novice to Software Engineer in One Year: And You Can Too
1. The Self-Taught Programmer by Cory Althoff
How I Went from Novice to
Software Engineer in One
Year:
And You Can Too
2. The Self-Taught Programmer by Cory Althoff
About Me
I studied political science in college. When I
graduated, I taught myself to program.
After one year, I landed a job as a software
engineer at eBay.
In this presentation, I am going to show you
how I did it.
3. The Self-Taught Programmer by Cory Althoff
Choose a Programming Language
The first question every aspiring programmer asks
when they join the Self-Taught Programmers
Facebook group is,
“What programming language should I learn?”
They are then bombarded with enough conflicting
answers to make them quit before they start. So I
will make it simple. Learn Python or JavaScript
first.
5. The Self-Taught Programmer by Cory Althoff
Learn the Basics
First learn the basics of your programming language.
print(Hello, World!)
6. The Self-Taught Programmer by Cory Althoff
Learn a New Programming Paradigm
Once you’ve mastered the basics, you are ready to learn either object-oriented or
functional programming, two popular programming paradigms. A programming
paradigm is a style of programming.
7. The Self-Taught Programmer by Cory Althoff
Learn Programming Tools
Programmers use a lot of tools. You should learn to use:
The command line
An interactive development
environment
Package managers Regular expressions
Version control
8. The Self-Taught Programmer by Cory Althoff
Study Computer Science
Now you are ready to tackle the hard stuff. Here are some of the most
important subjects you should study:
Compilers
Computer architecture Operating systems
Data structures &
algorithms
9. The Self-Taught Programmer by Cory Althoff
Choose a Path
Next you need to pick a programming area to specialize in. Web and mobile development are
two of the most popular programming paths, but there are many other programming areas
you can work in, such as security, platform engineering, and data science.
10. The Self-Taught Programmer by Cory Althoff
Study Best Programming Practices
Read other people's code.
It will help you learn best programming practices.
11. The Self-Taught Programmer by Cory Althoff
Build a Portfolio
New self-taught programmers often ask how they can get a job without any experience. The
answer is to build a portfolio. Start by posting all of the projects you built while learning to
program on GitHub. Then either start or help an open-source project.
12. The Self-Taught Programmer by Cory Althoff
Consider Freelancing
Now that you have a portfolio, you should consider doing some freelance work on a
platform like Upwork.com, which will give you valuable programming experience.
13. The Self-Taught Programmer by Cory Althoff
Become a LinkedIn All Star
LinkedIn is the best place to get an interview for a
technical position. Make sure to:
• Add your programming skills to your summary
and skills sections
• Get endorsements on your skills
• Add your open-source and freelance work as
your latest job (make sure to put the title as
software engineer so recruiters can find you)
14. The Self-Taught Programmer by Cory Althoff
Reach Out to Technical Recruiters
Start sending friend requests to technical recruiters
on LinkedIn. They are always looking for new
talent and will be happy to connect with you.
Once you connect with them, send them a message
asking if they have any openings.
15. The Self-Taught Programmer by Cory Althoff
Prepare to Interview
The majority of programming interviews focus on two subjects—data
structures and algorithms. To pass your programming interview, you
know what you must do—get very good at these two specific areas of
computer science.
Most interviewers google "programming interview questions," and ask
one of the first ones they find. Find these questions and practice them
using LeetCode—I've found every question anyone has ever asked me
in a programming interview there.
16. The Self-Taught Programmer by Cory Althoff
The Self-Taught
Programmer
You can learn the skills I outlined in this presentation in my
book The Self-Taught Programmer: The Definitive Guide to
Programming Professionally.
PURCHASE
17. The Self-Taught Programmer by Cory Althoff
Keep Learning
There are a few programming books that are considered must-reads:
* The Pragmatic Programmer by Andy Hunt and Dave Thomas
* Design Patterns by Erich Gamma, John Vlissides, Ralph Johnson, and Richard Helm
*Code Complete by Steve McConnell; Compilers: Principles, Techniques, and Tools, by Alfred Aho, Jeffrey
Ullman, Monica S. Lam, and Ravi Sethi
*Introduction to Algorithms by the MIT Press
* I also highly recommend Problem Solving with Data Structures and Algorithms, a free, interactive, excellent
introduction to algorithms by Bradley N. Miller and David L. Ranum and much easier to understand than MIT's
Introduction to Algorithms.