Your Mission if you choose to accept it

Setting Expectations

Think of skill of having 1–5 stars of competency, and think of earning a star as investing 2000 hours of practice and learning (the equivalent of 1-year full time work). This is why you always see (5+ years of experience) on job ads cause they want the unicorn master of the skill that has invested 10,000 hours of time into a particular skill (considering we need to balance many skills, this is rare and non-existent at the entry-level as much as job ads wish it so.)

Step 1 — Dip your toes into programming

Before you make any big investments, you want to get some exposure to development to make sure this feels like a right fit, and also some prep will make investments in live instruction more valuable.

Step 2 — Next step

At this point, you’ll have a good foundation in what writing code feels like and many of the basic concepts, the question is what is the next step. You’ll have three choices.

  1. Enroll in Bootcamp — This is a MUCH more affordable option which is about 15–25 thousand dollars for a 3-month program with about 500 hours of in-class time and probably another 200 hours of solo homework and project time. This is a great option for most people as it provides the structure and accountability many won’t be able to provide themselves along with providing job search guidance. Bootcamps vary in quality, having been and student and an Instructor at General Assembly I would highly recommend them as an option but completing all the tasks in the first step of this guide will go a LONG way in maximizing the value of the Bootcamp experience. A Bootcamp can reduce the total time needed for the first start to about 1500 hours because of the time saved in having a focused path.
  2. The self-taught route is a viable path but you need to be very self-disciplined to make sure you put in the time and you’ll need to put yourself out there to get experience in things like teamwork and working with best practices. Another challenge is that the girth of education materials out there is vast, but the range of quality is vast, and some of the quality stuff can quickly go stale cause of how the industry evolves. Being self-taught requires discipline, good judgment, and determination. Expect you’ll need the full 2000 hours to get to 1-star status, but no costs.

Step 3 — What you need to learn

Regardless of which path you choose, there are some things you really need to make sure you learn and get comfortable with along the way. I’ll list them below along with any videos I have to teach that concept.

Working with the Bash Terminal

Most web servers run the Linux operating system and don’t have graphical interfaces (to save resources), so the only way to talk to most web servers is through the command line, usually using the BASH shell (shell just means a command-line environment). Since this is the case you’ll find many tools and programs that will make your life easier as a developer revolves around the terminal, so you MUST get comfortable with it. If you're on Mac your terminal uses ZSH which is the same as BASH, if you're on windows download the git-bash software.

Learning an IDE (Integrated Development Environment)

Having a good editor/IDE and learning how to use it will make your life a lot easier when writing code. There are many out there such as WebStorm, Atom, and my personal recommendation, Visual Studio Code. You can use VSCode with any language and it has a robust set of tools, In the videos below I’ll show you the basics of working with VSCode.

Git and Github

Git and Github can be hard to understand and work with at first, but it is arguably along with Bash the most universal and important tools you’ll use. Whether you are working in Web, Mobile, Data, Blockchain, etc. you will regularly be working with Git, Github, and Bash so make sure you get comfortable with these (over time) but do not think they are something you can ignore.

Deployment

Your web applications can’t be used by anyone outside your computer unless you deploy them somewhere to be publicly hosted.

Programming Concepts

My recommendation is to focus on getting comfortable and good with javascript but I have many playlists for learning different languages at devNursery.com. Whatever language you learning what matters is getting a firm grasp of the following concepts which just means writing code and experimenting as you learn.

  • Creating variables, the scope of the variables
  • Math Operations (adding, subtracting, etc. with numbers)
  • String operations (how to reverse, split, manipulate strings)
  • Boolean operations (how to as true/false questions in code)
  • Control flow (how to use boolean expressions to branch code with if statements and loops)
  • Collections (how do we bundle multiple data points into ordered and unordered data structures)
  • functions (what are arguments, what is a return value, what is a pure function, first class functions)
  • Classes (What is object-oriented programming? What are constructors, properties, methods)

Computer Science

There are several things you want to know about how computers work that will make your life a lot easier.

  • What is TCP (Transmission Control Protocol)
  • What is HTTP (Hypertext Transfer Protocol)
  • How does the web use TCP and HTTP
  • What is an internet browser
  • The Http request and response cycle
  • Types of Data Structures
  • Types of Design Patterns
  • Types of Algorithms

Step 4 the Job Hunt

So your at the 1500–2000 hour mark, you’ve deployed some applications, now it is time to begin the job search. Here are some resources to help you hit the ground running.

Conclusion

Bottom line, budget two thousand hours of learning, practicing and building things and you should be on your way to becoming a full-time developer.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Alex Merced Coder

Alex Merced Coder

Alex Merced is a Developer Advocate for Dremio and host of the Web Dev 101 and Datanation Podcasts.