Anda di halaman 1dari 23

LEARN TO CODE

FREE GETTING STARTED GUIDE


SYLVESTERMORGAN.COM
LEARN TO CODE – GETTING STARTED GUIDE 1

Table of Contents
INTRODUCTION ...................................................................................................... 2

WHY LEARN TO CODE? ............................................................................................. 2

THE PURPOSE OF THIS GUIDE ................................................................................... 2

A FEW NOTES BEFORE WE START ............................................................................... 3

LEARN TO CODE - PROCESS OVERVIEW ....................................................................... 5

COMPUTER SETUP AND BASICS OF PROGRAMMING ..................................................... 5

PRACTICE AND LEARN TO TROUBLESHOOT .................................................................. 5

BUILD SMALL PROGRAMS.........................................................................................5

A LOT OF POWER AT YOUR FINGERTIPS ..................................................................... 6

START THINKING LIKE A DEVELOPER ......................................................................... 6

CONTINUE LEARNING THINGS DEVELOPERS DO........................................................... 6

STANDARDS AND PHILOSOPHIES .............................................................................. 6

TOO MUCH TO EVER LEARN IT ALL ............................................................................. 7

LEARN QUICKLY - BUILD THINGS ............................................................................... 7

BECOME A BETTER DEVELOPER .................................................................................. 7

WHEN AM I A GOOD DEVELOPER? OR JOB-READY? ....................................................... 8

MY ADVICE ............................................................................................................. 8

BUILD YOUR OWN LEARNING PLAN - OWN THE PROCESS.............................................. 10

STEP 1: WRITE DOWN YOUR GOALS .......................................................................... 10

STEP 2: DETERMINE WHAT KNOWLEDGE-SKILLS-EXPERIENCE YOU NEED ......................... 11

STEP 3: CHOOSE YOUR RESOURCES ........................................................................ 16

STEP 4: BUILD YOUR CUSTOMIZED ROADMAP ............................................................ 17

STEP 5: EXECUTE YOUR PLAN - FOLLOW ROADMAP .................................................... 19

STEP 6: PROVE YOUR VALUE ................................................................................... 19

STEP 7: WRITE CAREER SUCCESS PLAN .................................................................... 21

RESOURCES ......................................................................................................... 22

Connect: .............................................................................................................. 22

Other Helpful Resources:...................................................................................... 22

SYLVESTERMORGAN.COM
LEARN TO CODE – GETTING STARTED GUIDE 2

INTRO D UCTIO N

W H Y L E AR N T O C OD E ?

If you’re looking at this guide, you are probably already aware of some of the many reasons why
you may consider learning to code. Becoming a professional software developer or engineer is
very challenging and requires a lot of hard work and dedication, but so does anything valuable
and worthwhile. A career as a developer is more accessible and attainable than you might think.

Even if you’re not necessarily interested in becoming a professional software developer, there
are still benefits to learning how to code. It can allow you to leverage the power of software to do
your non-developer or non-tech job more efficiently, for example. Imagine how much value you
could add to your clients or employer if you learned how to write some simple scripts that
allowed you to automate the manual task you spend most of your time doing. This increased
productivity and value would make you worth more!

Every industry is making use of technology and software in some way. It is such an increasingly
important part of our everyday lives. It’s everywhere. The more you understand it, the more
informed and knowledgeable you will be, and the more marketable you will be to potential
clients or employers.

Maybe you’re just interested in learning to code as a hobby. That’s great! Coding is a lot of fun.
You can create some interesting side projects, like building something for a friend, your church,
or a non-profit organization. Learning to code, overall, can even help you learn to think and
become a better problem solver.

T H E PU R P O S E O F T H I S GU I D E

My name is Sylvester Morgan and I’ve navigated the journey of becoming a self-taught software
engineer. Check out my story on my YouTube Channel
(https://www.youtube.com/c/SylvesterMorgan) or website (http://sylvestermorgan.com/about/).

I remember all the questions I had and mental roadblocks I faced. I remember how good it felt to
achieve my goal and become a software developer. It felt awesome to do meaningful work and
get compensated really well for it. It was amazing to have a job that I loved doing and to be able
to provide for my family.

SYLVESTERMORGAN.COM
LEARN TO CODE – GETTING STARTED GUIDE 3

When I got my first job, it hit me. I knew that if I could do it, so could a lot of others out there
who think they can’t or who haven’t even considered it. I realized that it was more accessible and
possible than many outsiders think. There’s no magic formula. It can be done, and you have
access to the resources to do it. You don’t have to be a genius. It just takes a little bit of
information and the work ethic to execute on it.

This is why I put this guide together. There are many ways to go about learning to code or
becoming a software developer. In this guide, I am going to share with you the thought process
and plan I used to accomplish it. My passion is to help and encourage those who are interested in
learning to code or becoming a developer.

A FEW NOTES BEFORE WE START

Get Started Today


Don’t use this guide, or any resource(s), as a reason to procrastinate. With so many resources and
information out there, it is easy to get analysis paralysis. It’s easy to overthink everything and
never take action. Yes, planning is very important because success doesn’t happen by accident.
But success can’t happen if you don’t act. You will learn along the way that there may have been
better or more efficient ways to do things. This is all a part of the process. Get started and enjoy
the process and progress! Your plans will change, and life will happen and force you to adjust
your plans. But it’s much easier to navigate and choose the best direction once you have forward
momentum. You can’t steer a parked car. Get started. Take action!

There are tons of “Intro to Programming” tutorials out there that you could get started on today.
It would be better for you to start semi-randomly following tutorials than reading this guide and
coming up with the best plan and never executing on it. At least if you get started, you will
identify knowledge gaps or additional things you need to study as you go along. In other words,
you will more clearly learn what to do next as you take the first steps.

Code Every Day


Try to make it a habit to code as often as you can. Establishing this habit will allow you to gain
momentum and increase your skills and understanding. You may find it helpful to have large
blocks of uninterrupted time set apart to allow you to “get in the zone.” You may need this time
to really go deep and wrestle with trying to understand very abstract and layered concepts. There
are some programming concepts that take more time to fully grasp. Don’t be discouraged by this.
Everything won’t be this challenging.

SYLVESTERMORGAN.COM
LEARN TO CODE – GETTING STARTED GUIDE 4

You should also make it a habit to code for a little bit each day to allow things you’re learning to
stay fresh. If you take long breaks between learning, you will have to spend most of the time
reviewing before you can move on to new topics.

Have Fun - Enjoy the Process


Some people say you shouldn’t get into coding if you’re not passionate about it. But you won’t
know if you’re passionate about it unless you try it. There might be times when it’s really hard
for you and not fun. But if you keep learning and pushing through it and get good at it, you may
discover that you are passionate about it. Or you may find that you now have a really powerful
tool you can use to accomplish bigger things that you are passionate about.

If you’re passionate about coding and enjoy it, it will make it easier for you to push through the
difficult times. Some find motivation and joy because they see programming as the tool that it is
and they’re just using it to build some app or project they have in mind. If you can think of an
app or project or something you’re excited to build, it might make pushing through the process a
lot easier for you. Or you might just find joy in the process of learning something difficult and
new and rewarding. The point here is: try to have fun and explore. Be curious. Enjoy the process.

Reach Out to Me with Your Questions


You’ll have questions, so feel free to reach out to me. I can’t possibly cover everything in this
guide. If you haven’t already, subscribe to my YouTube channel and sign up for my newsletter.
You will find a ton of helpful resources there. Feel free to contact me with your questions:
http://sylvestermorgan.com/contact/.

SYLVESTERMORGAN.COM
LEARN TO CODE – GETTING STARTED GUIDE 5

LEA RN TO COD E - PROCES S OVERVIEW

The purpose of this guide is to help you take a systematic and purposeful approach as you
navigate the numerous resources available. The purpose is not to guide you through the specifics
of exactly what you need to learn. It is to help you determine what those specifics are based on
your goal. Many of the resources mentioned throughout and at the end of this guide will walk
you through exactly what you need to know to succeed. So, before we get into analyzing your
goals and putting your success plan together, let’s get a general overview of the process.

Notes: You don’t need a fancy computer to learn to code. Also, try to avoid getting caught up on
what programming language to start with first. Check out my video on this topic here:
https://youtu.be/ihWd2j29BLk.

C O M PU T E R S E T U P AN D B AS I C S OF PR O G R AM M I N G

You will start by learning how to download and install the program you need to write and run
your code. Then you will learn some basic programming concepts such as variables, if/then
statements, and loops. You will learn about functions. Next, you’ll learn about working with
different types of data. You will learn about passing values back and forth to different pieces of
code. You will spend the first little bit learning about all the keywords and features in a particular
programming language.

P R A CT I C E AN D L E A R N T O T ROU B L E S H O O T

You’ll spend a lot of time practicing the basics until you feel really comfortable. You’ll learn
more about the program that you use to write your code (called an IDE, or integrated
development environment). You will get error messages when you try to run your code, so you’ll
start getting used to doing research and troubleshooting issues (Google is very useful here.)
You’ll learn how to use the various features within your development environment (IDE) that
make this troubleshooting (debugging) process easier.

B U I L D S M A L L P R OG R A M S

Then, you will work on plenty of practice problems and small programs, like a tool to convert
temperature from Fahrenheit to Celsius, for example. You’ll also work on small programs that
prompt the user to enter input, do some kind of processing of that input, and display some output.

SYLVESTERMORGAN.COM
LEARN TO CODE – GETTING STARTED GUIDE 6

A L O T OF P OW E R AT Y OU R F I N GE R T I P S

Soon, your eyes will be opened to these really helpful things called libraries and frameworks.
These are huge collections of preexisting code that place great power at your fingertips. You’re
going to learn that you don’t have to build programs from scratch. You don’t have to reinvent the
wheel. Really efficient, robust, and well-tested code has already been written to accomplish the
majority of the things we need to do as software developers. A lot of what you’ll learn is how to
put these building blocks together to solve new problems.

S T AR T T H I N K I N G L I K E A D E V E L O PE R

More important than learning the specific structure of a particular programming language or tool,
you’ll learn how to start thinking like a software developer. We call this algorithmic,
computational, and abstract thinking. You’ll learn that computers can only do very simple tasks,
but they do them very quickly. You’ll learn what algorithms are and how to think in terms of
them. This means you’ll learn how to take a problem and break it down into simple steps and
then translate those steps into code that a computer can understand.

C O N T I N U E L E A RN I N G T HI N GS D E V E L O P E RS D O

Then you will learn how to write code that allows you to create, edit, modify, and delete files.
You will learn how to connect to and interact with a database. You will learn about the different
file types we work with and how your programs can interact with them. You will learn how your
programs can connect to and interact with other applications and websites. You will learn how to
test your code and write code that tests your code automatically. You will learn where and how
to save your code so that you can keep a version history and make your code available to other
developers who are working on the same project with you.

S T AN D ARD S AN D P H I L O S O P H I E S

Next, you will learn that there are many ways to do the same thing. There are various
philosophies and sets of standards of how to write code and how to think about solving
problems. These can be overwhelming and confusing at first. But they are designed to make life
easier. They are designed to help you solve common problems quickly and write code that is
easier to understand and maintain over time.

SYLVESTERMORGAN.COM
LEARN TO CODE – GETTING STARTED GUIDE 7

T O O M U C H T O E V E R L E AR N I T AL L

You will find that there is more information out there than you could ever learn; so many paths
and things to focus on. On top of that, things change very quickly all the time. You will spend
your entire career learning. Take comfort, though. Once you learn the basics of programming
and how computers work, a lot of the fundamentals will transfer, and you’ll have an easy time
understanding the new things you must learn along the way.

L E AR N QU I CK L Y - B U I L D T H I N GS

Because there are so many things you could possibly learn, you want to avoid learning a ton of
stuff and never applying any of it. You can waste a lot of time this way and forget a lot. A good
approach is to learn just enough to get started and then start putting it to practice by building
things. Start with simple things. Do you have your own project ideas? If not, there are plenty of
ideas online, and lots of courses and tutorials that will walk you through how to build an app.

As you’re building real projects, you’ll naturally develop lots of questions and get stuck. When
you get stuck, you’ll have to look things up and get answers to your questions. Things will really
stick this way and you won’t forget what you learned. You’ll also get a deeper understanding of
the concepts and how they fit into your ever-increasing understanding of how everything works.
If you continue this cycle, you will increase your knowledge and experience very quickly. You’ll
also be building your portfolio.

B E C OM E A B E T T E R D E V E L O P E R

In addition to learning how to do and build very specific things, you can study topics that will
help you become a better software developer. These topics may not be used practically day-to-
day, but they can make you a stronger and better problem solver so that you can do your work
better and more efficiently. This category of topics includes data structures and algorithms and
design patterns. Additionally, you can learn to write cleaner code and use better coding
standards.

There are many problems that you will solve as a developer that are just a different version of a
problem that has been solved many times before. There are patterns and structures that have
already been designed and optimized to solve common problems. The more familiar and strong
you are with these, the better software developer you will become. There are also courses that
focus on teaching you how to analyze how well your code performs and how to improve it.

SYLVESTERMORGAN.COM
LEARN TO CODE – GETTING STARTED GUIDE 8

These kinds of topics can help you become a better developer. But I do want to make it clear that
developers have a widely varying degree of skill in these areas. Some positions may require
more or less of this knowledge. You do not have to be at a certain level in these topics to be job-
ready. Remember, there is plenty of preexisting code that you will be leveraging to solve
problems. For example, you don’t need to come up with a really fast algorithm for sorting a list
of numbers. Sorting algorithms already exist. You will just need to learn how to add that code to
your code.

W H E N AM I A G O OD D E V E L O P E R ? OR J O B - R E AD Y ?

All of this leads me to a common question that you may have, how much do you need to know to
be job-ready? Or how do you know when you are good enough to get a job?

I struggled with this question a lot. I had this conflict in my head. I felt like I needed to be really
good to overcome not having a degree. I also saw how the little knowledge I had paled in
comparison to how much there is to know out there. This made me feel like I was never going to
be ready. But, once I overcame my fear and applied, even though I was unsure if I was ready, I
realized I had nothing to worry about.

There is not some set body of knowledge or amount of skill you have to have. There is not some
authoritative checklist of topics you can cover to know for sure that you are ready. Additionally,
there are a ton of different developer and engineer jobs out there that require widely varying
degrees of knowledge and expertise.

You can build a strong network and gain a connection who hires you with very little knowledge
if you have the passion, work ethic and mindset. Some jobs will accept your lack of experience if
they see your passion and you’re able to prove that you have basic programming knowledge.
You can gain the experience on the job.

M Y AD V I C E

My advice is to finish reading this guide, put your learning plan together, and start executing it.
You will discover what your goals are and how you can start working towards them. How long
the process will take will depend on your goals, how much time you have, and how much work
you put in. But your focus should be on working diligently and enjoying the growth process. The
results will come.

SYLVESTERMORGAN.COM
LEARN TO CODE – GETTING STARTED GUIDE 9

Continue networking and looking for opportunities throughout the process. Actually code and
build stuff as much as possible. Take the opportunity to get a job as soon as possible, if this is
ultimately your goal. Even if you still have a lot to learn, it is so much easier to learn on the job.
When you’re on the job facing real problems, it’s so much easier to take in and apply what
you’re learning. Learning becomes much more relevant and what you learn sticks. Employers
will not expect you to know everything. You will always be learning and growing. You will do a
lot of Googling. Don't wait until you feel ready to look for opportunities to work. You may never
“feel” ready!

SYLVESTERMORGAN.COM
LEARN TO CODE – GETTING STARTED GUIDE 10

BUILD YO UR O WN LEA RNING P LAN - O WN THE P RO CESS

In this section I will walk you through the 7-step process that I found helpful when I put my
learning plan together. My plan was based on my goals and some of the things I have learned
about how to be successful. Yes, your plans will change and need to be modified over time.
Things will get messy. You won’t follow your plans 100 percent. But the process of dreaming
and setting goals is very important. It gives you something to strive for and a way to measure
how you’re doing.

The steps include:


Step 1: Write Down Your Goal
Step 2: Determine What Knowledge-Skills-Experience You Need
Step 3: Choose Your Resources
Step 4: Build Your Customized Roadmap
Step 5: Execute Your Plan - Follow Roadmap
Step 6: Prove Your Value
Step 7: Write Career Success Plan

S T E P 1 : W R I T E D OW N Y OU R G OA L S

Success does not happen by accident. You have to have goals and a plan with steps to get you
there. So why exactly are you reading this guide? What is your specific goal? Are you just
curious if coding is something for you? Or something that you can do? Are you making a career
change into tech and coding? Are you just starting out after high school and trying to build a
meaningful and high-paying career while avoiding crippling college debt? Maybe you’re really
young and trying to get a head start? Or you’re over 50 and wondering if you’re too old?

If you’re fully committed to becoming a professional software developer, what specific kind of
development are you interested in? Web development or mobile app development? Maybe
business intelligence development or data science? More specifically, what technologies or
programming language(s) will you use? Is there a specific job or job posting you’re going after
or do you just want to get a broad understanding and solid foundation that will prepare you for
success in whatever specific path you choose?

The more specific your goal, the more targeted and clear your plan can be. But if you’re like I
was when I got started, those questions above may mean very little to you. You may not know
yet exactly what you would like to do. That’s OK! We all start somewhere.

SYLVESTERMORGAN.COM
LEARN TO CODE – GETTING STARTED GUIDE 11

The first step is to right down your goal. Don’t keep it in your head. Whether you’re using
software or a pencil and paper, actually write it down. If you’re still unsure what exactly you
want to do or what kind of development you want to get into, make discovering these things your
goal.

However, don’t let this prevent you from getting started learning the basics of programming.
You don’t need to be concerned with the programming language to get started learning basic
programming concepts. The fundamentals transfer from language to language. So, you could
write down something like, “Begin learning the basics of programming, while spending a little
time to research exactly what direction I want to focus on.”

If you do already have a specific goal, write it down. You could write something like “Get an
introduction to the fundamentals of computer science and then study specifically to get an entry
level business intelligence developer position using the Microsoft BI stack” or “Become an entry
level front-end web developer using <whatever> technology.”

At this point, you should have your goal written down as specifically as can. If it’s not very
clear, make it a goal to do the research necessary to give you more clarity. Start long term, then
break it down into smaller steps.

In this step, be sure to write down your goals. Don’t just keep them in your head. I even find it
more helpful during this step to use actual paper and pencil rather than my computer. You might
even find it fun and inspiring to get a large poster board to map out your plans and see your
entire vision. So, read through the rest of this guide, then take a little bit of time to write down
your goals! Have fun. This is an exciting time in your life!

S T E P 2 : D E T E RM I N E W H AT K N OW L E D G E - S K I L L S - E X PE RI E N C E Y OU N E E D

After writing down your specific goals, it’s time to determine what knowledge, skills and
experience you need to achieve those goals. This may take a little bit of research. The more
specific your goal, the easier this step will be.

The good news is that there are a lot of resources out there that can help you with this step. There
are colleges, universities, online training, coding bootcamps, and other successful developers
who have already done a lot of the work and research for you. You can leverage what they’ve
already done to put your own customized plan together.

SYLVESTERMORGAN.COM
LEARN TO CODE – GETTING STARTED GUIDE 12

These various resources have different objectives. You have goals. Find resources whose
objectives align with your goals. The curriculums, outlines, and descriptions of these resources
will give you a good idea the skills, knowledge, and experience you need to succeed.

Computer Science Degree


I believe it is becoming more and more common and accepted that you don’t need a computer
science degree to become a software developer. However, when I got started I felt like I needed
to get pretty close to learning the things I would have learned if I had gotten a CS degree. So,
when I was putting my study plan together, I used the computer science curriculum as a guide.
You can search the website of a college or university to find their computer science curriculum.

This is a good idea if you’re not really sure what you want to do, and you want to get a very
broad understanding of a lot of topics that will give you a strong foundation on which to build a
specific career or path in IT.

We will talk in the next step about how to actually gain the knowledge, skills, and experience.
This step is focused on what you need to accomplish your goal. So, it’s important to note here
that a CS degree is designed to give you a broad understanding of many topics. It is not designed
to focus only on giving you a very narrow, focused, marketable skill set that will prepare you for
a specific job as quickly as possible.

I will also add that a CS degree or all the courses covered in a CS degree are not required in
order to learn to code or get a job as a software developer. However, you may get some good
ideas by looking over a CS curriculum and considering why each course is required. More on
this below.

Online Coding Schools and Bootcamps


There are a number of coding bootcamps and online coding schools out there. These are
designed to give you a very specific set of knowledge and skills to prepare you for a job as
quickly as possible. Maybe this lines up with your goals. Again, the purpose of this step is just to
come up with the knowledge, skills, and experience you need to accomplish your goals. So even
if you don’t end up signing up for one of these, you can at least look at their curriculum to see
what things are covered.

Many of these bootcamps and schools are working with employers to determine exactly what
skills the employers are looking for. So, these curriculums can give you pretty good insight into
exactly what you need to study.

SYLVESTERMORGAN.COM
LEARN TO CODE – GETTING STARTED GUIDE 13

Job Postings
If your goal is to ultimately get a job as a software or web developer, take a look at job postings.
Although job postings are often unrealistic wish lists, you can look at many of them and get a
general idea of the skills that you see consistently in all of them. This can give you insight into
what things you need to be familiar with.

Other Developers
Another way of determining what knowledge and skills you need to accomplish your goal is to
talk with other developers. You may be able to do this in person at local meetups (search for
these in your area) or conferences. If you don’t have that luxury, you can “talk” to many
developers by way of watching their videos online or reading their blogs. A growing number of
developers have YouTube channels or websites and are willing to help and give you some
guidance.

So Many Choices - Not Sure What to Focus on Yet?


If you’re not sure exactly what you want to do yet, you can take some time to research and
explore. I encourage you to put a limit on this because you can waste many months or years not
doing anything. Even if you choose one particular path or kind of development or programming
language, it’s not a final decision. You will have time in the future to change directions as you
gain more knowledge and experience. Many of the things you learn from one path will transfer
to the next. You can do a search online to find the different developer types. You can also easily
find what skills and programming languages these types generally use.

You can also use job descriptions and course descriptions. These will sometimes explain what
you will be doing in that type of development. These, along with conversations with other
developers, will help you determine if you might be interested.

My advice to you if you’re unsure is to get started learning the basics of programming while you
use some time for research and exploration. You’ll be staying productive and getting momentum.
Look for any “Intro to Programming” tutorial out there and get started.

Note: At the time of writing this guide, web development is a very popular choice. Many new
developers are starting with HTML, CSS, and JavaScript, then learning a JavaScript framework.
It’s ok if you don’t know what a framework is yet. Also, any kind of database development is a
good way to get into the industry quickly by using a very easy programming language called
SQL. This can help you move into very popular and high-paying jobs in Business Intelligence
and Data Science. These are just a couple of examples, but you have a lot of choices.

SYLVESTERMORGAN.COM
LEARN TO CODE – GETTING STARTED GUIDE 14

Content Type Breakdown


I’m going to share with you what I did and found helpful when I got started. There were far
fewer resources when I got started, so I was trying to figure out a lot on my own. I started with a
Computer Science curriculum. You don’t have to go this far, but I printed out the relevant pages
of the course catalog and cut out the specific courses so that I could move them around. I also
looked at the course descriptions to try to determine what was covered and why it was covered. I
also talked with other developers and made cutouts of the skills and things I needed to know
from job postings. It may be sufficient for you to just make a list of these things.

Some courses required in a computer science degree are designed to make you a more well-
rounded and well-educated person. Some of the courses may be designed to give you a
foundational knowledge of computers or the IT industry. As described earlier in this guide in the
“Learn to Code - Process Overview” section, some content is designed to teach you very
practical how-to skills and some is more theoretical and designed to help you become a stronger
and more skilled developer or engineer.

Categorizing and understanding the purpose of the types of content covered by the different
resources will be helpful when you put your learning plan together and consider how to fill your
available study time.

SYLVESTERMORGAN.COM
LEARN TO CODE – GETTING STARTED GUIDE 15

Depending on your goals, you can focus more or less on these different categories. Note, this is
just a sample:

SYLVESTERMORGAN.COM
LEARN TO CODE – GETTING STARTED GUIDE 16

You might be thinking, “This sounds complicated! Why should I do all of this when colleges,
universities, and online training sites have already done all of the work of putting together a
curriculum?” You’ll see in the next step that one of your options is to invest your money by
paying one of these resources to guide you.

When I got started, I didn’t have the money to pay for these resources. I also had other concerns
based on my time at my local community college and my conversations with other developers
and engineers. A college or university is trying to create a system that meets the needs of a large
number of students. It is not designed specifically for you or your goals. You may be required to
take courses that don’t help you achieve your goals. You might be required to spend time
focusing on the wrong things. It may take colleges and universities a very long time to adapt to
the rapidly changing needs of the industry.

Have the confidence to take in as much information as you can and build a plan customized
specifically for you. You may be able to come up with a more efficient and cost-effective plan.
Even if you choose to get a degree or sign up for a bootcamp or online training site, or some
other resource that does all this curriculum work for you, still, own the process.

Again, the purpose of this exercise is not to overcomplicate the process or give you analysis
paralysis. The purpose is to do a little research and come up with general list of things you need
to achieve your goal. Write these things down. Prioritize them. For example, you may have
things that would be interesting to study at some point, but not necessary for getting an entry-
level job.

S T E P 3 : C H OO S E Y O U R R E S OU RC E S

Now that you know what skills, knowledge, and experience you need to achieve your goals, you
need to determine how you’ll go about gaining these. Once again, you have a ton of resources to
choose from, but it’s easy to get lost and discouraged. Don’t be overwhelmed! Be encouraged!
Use all those resources to your advantage. Choose a resource that works best for your budget,
learning needs, and goals.

You may choose to go with a highly structured method or just choose your courses and content à
la carte. You have to weigh the pros and cons of each. Some may offer some form of validation,
such as a degree or certification, that you’ve actually gained the skills and knowledge. Lack of
this kind of validation can be overcome by experience, skill, networking, and marketing yourself.
I don’t have a degree or any certifications. I never recommend choosing a resource that you can’t

SYLVESTERMORGAN.COM
LEARN TO CODE – GETTING STARTED GUIDE 17

afford (puts you in debt). I believe there are too many other acceptable options if you’re willing
to work hard.

You may find it helpful to choose a method that has a lot of accountability and feedback and a
strong community. Or you may be comfortable just learning on your own and asking questions in
a forum when necessary. You have so much opportunity to find something that fits your needs!
There are plenty of free resources, so there is something to fit every budget.

Again, put a limit on how much time you spend looking into resources. Don’t procrastinate
because you fear making the wrong choice. You can always adjust later as you progress towards
your goal. Write down a list of resources and write down the pros and cons of each. Make the
best choice you can based on your goals and move forward with confidence. Some resources are
listed at the end of this guide.

S T E P 4 : BU I L D Y OU R CU S T OM I ZE D R O AD M A P

Now that you have your goals and you’ve reverse-engineered the steps necessary to accomplish
them, it’s time to build your roadmap to success.

How Many Hours Can You Devote Per Week


A good first step is to realistically look at how much time you have to commit to it. Check out
this video about examining your time: https://youtu.be/CMZUkwNaaeE. Are you going to be
working on this full-time or only during the evenings and weekends? Write out your typical
weekly schedule and how much time you spend on each activity. Get an honest number for how
many hours you have available to spend per week. Then categorize and prioritize what you need
to learn to determine how to spend your time. Knowing how much time you have per week and
having things categorized will allow you the flexibility to adjust how you allocate your study
time to fit your needs.

Goal-Based Time Allocation


If you’re getting a computer science degree or enrolling in a coding bootcamp, a lot of your time
will be laid out for you. You’ll still want to supplement your studies with coding practice and
building things to get real world experience. You may look to spend some of your time looking
for internships or some other way to start gaining experience.

If your goal is to replicate a computer science degree on your own, you may spend a good
percentage of your time covering those fundamental computer science topics and a smaller
percentage on more specific or practical development topics.

SYLVESTERMORGAN.COM
LEARN TO CODE – GETTING STARTED GUIDE 18

If your goal is to get a job as quickly as possible, you may spend 70% of your time covering very
practical and specific on-the-job, how-to knowledge and only a very small amount of time
slowly building your computer science and general IT knowledge. This way you have the skills
to do a job, but you’re still working to fill knowledge gaps.

You will spend some time watching tutorials and lectures or reading textbooks. But you will
want to allocate a good chunk of your time practicing the things you’re learning, so you don’t
passively cover a ton of content and none of it sticks.

You may look for content or courses that are project-based. Or look for those opportunities to
build your own projects or help friends or local organizations. Allocate time for gaining this
experience. Whether building projects is a part of the courses you’re taking, or you do it on your
own, this collection of work that you do will be a part of your portfolio.

Depending on your goals and where you are in your studies, you will allocate some time for the
job search process. You can learn to network and market yourself. You will learn or refresh on
interviewing and soft skills.

Gain Experience
Gaining experience should be integrated into your success roadmap. You can’t get a job without
experience, but how are you going to get experience if you can’t get a job? We’ve all faced this
dilemma. Those who get a degree at a great university face this dilemma as well. If you think
creatively and are willing to work hard, you can overcome this.

The first kind of “experience” you’re going to get is always coding. The more you do something,
the better you get at it. Whether you’re getting paid to do it for a company, or you do it for free
on your own, you’re still doing it. When you go through courses and follow along tutorials,
spend time coding and following along. Professional developers do the same thing. If we need to
learn something to finish a project or task, we will follow along with tutorials and put into
practice what we learn. As you get more comfortable with your skills, you can build your own
side projects.

You can build a mobile app and place it in the app store. Find a way to apply what you’re
learning to your current job if you have one. Whether you work in a tech company or not, how
can you use your skills to help the company? Volunteer to build things for friends, family, or a
local company or organization.

Other ideas include internships, freelance work, and open source projects.

SYLVESTERMORGAN.COM
LEARN TO CODE – GETTING STARTED GUIDE 19

S T E P 5 : E X E CU T E Y OU R PL AN - F O L L O W R O AD M A P

This is the most important step. Yet this is the step that most people will not do. This is the
step that will separate those who succeed from those who don’t. It doesn’t matter how good your
plans are if you don’t execute them. Remember, this guide is just to give an idea of how I
thought through the process and hopefully give you some help in putting your own plans
together. The most important thing is to get started and make adjustments as needed. Work hard
and enjoy the learning and growing process! Your hard work will pay off!

S T E P 6 : PR OV E Y OU R V AL U E

If your goal is to get paid to develop software professionally, it’ll be helpful to know what
potential clients or employers are looking for. Put simply, they are looking for someone who can
get the job done, whatever that job may be. They may not necessarily be looking for the smartest
person in the world. Many are just looking for someone with the skills and knowledge and
passion to get the job done and always be learning and growing. They want someone who will be
a valuable resource.

So, the question is: how can you get in front of potential clients or employers and prove your
value to them? There are many videos, articles and templates out there for putting together a
résumé. You’ll want to apply through traditional routes and career websites, such as Indeed or
Dice.com. You can post your profile there as well as apply to jobs that are posted. Additionally,
you should set up a professional LinkedIn profile.

You can also market yourself by setting up your own blog or YouTube channel. You could use
this to connect with the development community as well as get in front of potential employers.
You can include links on your LinkedIn profile and résumé to point people to your sites. You can
share the things you’re interested in or working on. What will this show potential employers?
That you’re passionate. That you’re involved and active in the community.

Networking can also allow you to get in front of potential employers. How much, and to what
extent, you’re willing to network may depend on your personality. But the more you’re willing
to get out of your comfort zone, the more opportunities you may come across. Attending local
user groups and developer meetings is a great way to meet potential employers, as well as get to
know other developers and learn about the companies they work for. At one of my local groups,
they take time at the end of each meeting to try to connect people with companies.

SYLVESTERMORGAN.COM
LEARN TO CODE – GETTING STARTED GUIDE 20

Networking is important because some developer jobs never get posted. Companies may look for
developers internally first or ask for referrals. There have been plenty of times that I could have
gotten a nice referral bonus and gotten someone a nice job if I had known of someone with the
skills and interests. It’s not uncommon for a team leader to say, “Hey, do you guys know of
anyone? We’re looking to hire 6 new developers right now.” Or, “We're looking to hire 300
people! We’re doubling the referral bonus!”

You can also do very non-traditional things such as go to local businesses or reach out to
businesses and pitch your services to them. Find out who you can speak with and how you can
market yourself to them. You may get a ton of awkward responses and rejections, but you may
find a great opportunity. It just depends on how uncomfortable you’re willing to be to succeed.

If the thought of that last idea scares you away, don’t worry. It may not be necessary. I got a call
back the second day after applying for my first job on Dice.com. I ended up going through the
interview process and accepting an offer with the company. But I had a lot of other options and
things I was going to try in my toolbox. I take my duty to provide for my family very seriously,
so I was and still am willing to try some very uncomfortable things.

So, after you get in front of potential employers, how do you prove you have what they’re
looking for?

Maybe you can find a company where they’re OK with your lack of experience because of your
passion and potential. But most likely they’ll be looking for someone with the experience I
mentioned above. You can prove you have this experience by showing them the code, speaking
about what you’ve learned and done, and answering technical questions that prove it. This may
be in the form of a portfolio or GitHub account. There are tutorials out there that walk you
through setting this up. But you can also speak to these projects. How did you put them together?
What issues did you encounter? How did you resolve them? What did you learn? What was
interesting? They’re going to want to see that you have the technical knowledge. You don’t have
to know everything, but you must know how to do the work and where to look for help when you
need it.

Most of the knowledge necessary to succeed will come as you’re executing your learning plan
and practicing applying this knowledge with projects. There are additional training resources
geared towards specific technical questions you’ll face depending on the kind of development
you’re getting into.

SYLVESTERMORGAN.COM
LEARN TO CODE – GETTING STARTED GUIDE 21

You can also prove your passion and commitment to always learning by articulating how you put
your learning plan together and took ownership of your education. You can share the resources
you plan to use to continue growing throughout your career, which we’ll talk about next.

S T E P 7 : W RI T E C AR E E R S U CC E S S PL A N

All your work has paid off and you’re getting paid to write code! Now what? Your learning is
just beginning. These are fun times. A lot of the things you studied and learned along the way
will click and make sense.

You will learn so much on the job. It will be much easier to learn, and you will learn more
quickly when you’re doing it for the sake of the job. This should encourage you to know you
don’t have to learn everything before you get a job. It’s impossible. You will continue learning
and growing your entire career. The important thing is that you’re always curious and committed
to growing and doing everything with excellence.

When I got my first job, and subsequent jobs, I came up with a one-page success plan checklist. I
listed things that I would strive to do to succeed on the job. You might find this helpful as well.
There are many blogs and websites to help you continue growing. What resources will you use to
continue growing your technical expertise?

SYLVESTERMORGAN.COM
LEARN TO CODE – GETTING STARTED GUIDE 22

RESO URCES

Connect:

YouTube Channel: https://www.youtube.com/c/SylvesterMorgan


Website: http://sylvestermorgan.com/
LinkedIn: https://www.linkedin.com/in/sqlsylvester/
Twitter: https://twitter.com/SQLSylvester

O t h er H el p f u l Re s o ur c e s :

Pluralsight: https://www.pluralsight.com/
TreeHouse: https://teamtreehouse.com/
FreeCodeCamp: https://www.freecodecamp.org/
Codecademy: https://www.codecademy.com/learn
Udemy: https://www.udemy.com/
Coursera: https://www.coursera.org/
Edx: https://www.edx.org/
MOOCs: http://mooc.org/
Data Structures: https://www.edx.org/course/data-structures-fundamentals-uc-san-diegox-algs201x
Algorithms: https://courses.csail.mit.edu/6.006/fall11/notes.shtml
Databases: https://www.coursera.org/learn/python-databases
Networking: https://www.coursera.org/learn/computer-networking
Crash Course Computer Science:
https://www.youtube.com/playlist?list=PL8dPuuaLjXtNlUrzyH5r6jN9ulIgZBpdo
CS50: https://www.youtube.com/user/cs50tv/
MIT OpenCourseWare: https://ocw.mit.edu/index.htm
Python Programming: An Introduction to Computer Science: http://a.co/3Afru7K
Starting Out with Programming Logic and Design: http://a.co/hgDr1F8
Cracking the Coding Interview: http://a.co/cvwfwRS
The Complete Software Developer's Career Guide: http://a.co/bMfvMPC
Soft Skills: The software developer's life manual: http://a.co/aSW3W3S
Clean Code: A Handbook of Agile Software Craftsmanship: http://a.co/5PX3RtT

SYLVESTERMORGAN.COM

Anda mungkin juga menyukai