It's no secret that becoming a software developer is a daunting task.
It's no secret that there are multiple paths to becoming a software developer.
It's no secret that there are huge rewards for making it into the industry as well.
What feels like a secret to some however is the idea of "How do I even get started?", and here is how I would answer this.
Coming from a background in education teaching students from elementary all the way up to university level I've learned that often times the best ways to teach something is to simply take things one concept at a time and then reiterate on that concept. This is typically referred to "I do, We do, You do" and it is perhaps one of the most common and best ways of internalizing what you are learning as you are learning.
How does this relate to becoming a Self-Taught Software Developer?
Simple, you have to first figure out how you are going to learn. While there are many electing to go towards the bootcamp path (where there are designated instructors), the self-taught path is just as rewarding and manageable if you are able to find a way to enforce the practice of "I do, We do, You do."
"I Do"
When beginning your self-taught journey, it is important to first find someone who help you enact the policy of 'I do'. This may be a close friend but often times it is an online resource or a video tutorial (especially if a bootcamp is not right for you). What you need to understand about this though, is that you have to have someone simply walk you through the concept that you are about to learn. Don't worry about 'coding along' just yet. Simply find someone who can show you the ropes of what it is that you are about to learn. If you fail to understand your objective, then learning how to apply what you want to do will be far more difficult and will set you back by costing you more time later on down the road.
From my experience I have relied on video tutorials to first get me started and yes, I had to restart my learning because I found out that some concepts where not being retained in my brain because I started "coding along" a bit too much. While I got really good at typing and setting up my programming environment (thank you Brad Traversy, I really needed someone who could better explain the steps of what I was doing and why. It's important that you find the right instructor for you, who can walk you through each process, in my case I ended up learning better from Angela Yu.
Just remember, when you start learning, 'I do' is the principal where someone else simply explains to you what is happening as they show you the ropes.
"We Do"
This is fairly simple. If you are on the self-taught route, this is where you, like me, may have mistakenly started. This is often referred to as a 'Code Along', where you type what your instructor is typing and you try to keep up and produce the same results within a reasonable amount of time while learning "Hey! I have some bad grammar problems that I need to fix!".
Remember, if you have already gone through the 'I Do' portion of your learning then, this part simply meant for you to begin applying what you are learning and implement positive practices.
"You Do"
At this point you begin either replicating what you have learned and practiced to make something mostly your own (no video tutorials, but Google and actual people are ok). But when should I do this?
REGULARY!
I cannot stress enough that if do not engage in the 'You Do' process often enough, then you will not retain the concepts that you were readying your brain to learn to begin with. It doesn't mean you wasted time by only doing 'I do' and 'We do' as that information may be tucked away, but it does mean that you haven't struggled go through the learning and problem solving necessary to cement the concept that you were learning.
I Know How to Learn Now. What Do I Learn?
Easy, keep it simple, begin with HTML and CSS. Once you feel 60-90% solid in the concepts taught to you there move on to your first programming language. JavaScript and Python are still high in demand and considered the top two programming languages, but in reality you need to put in the time to determine what language will help you land the job that you want to earn. You don't have to know the answer today, but as you begin your learning experience with HTML and CSS, determine what you want your training to be applied towards.
If you still feel lost and need more help starting your journey or want to learn more about my hurdles and how I've overcome them, feel free to message me on LinkedIn.
Written by: Orion Palmer