I’ve written a lot of first lines of code learning multiple different programming languages throughout my career and studies. When you learn to code, you’ll probably see “Hello World’’ in the first line.
Before we dive into “Hello World” I want to take one step back from that stage to ask a more fundamental questions. A few fundamental questions actually. They might not seem important when you have questions like what IDE do you use and what programming language do I start with, but I guarantee if you ask these more fundamental questions first, your first line of code will go a whole lot smoother.
Why do I want to learn to code? What is the goal?
Are you looking to have some fun? Pick up a new skills? Level up? All things You are techY (my company helping moms gain the skills and confidence to get hired in tech) are done through the lens of ‘getting hired’. We focus on ‘getting hired’ skills because we know that the tech learning rabbit-hole is a real experience. One that can deter many-a-student from entering the tech field. Our goal is to direct students away from topics that will bog them down or distract them and towards those aspects of tech learning (e.g., learning software development) that will put them in a position to be hireable. Our students want to get into and level up in tech. That’s our lens. If you are just “playing around” with technology, that’s totally fine, but this article isn’t for you.
What programming language will get me to that goal?
This is SO vital. Here’s why. About 3–5 weeks in you’re going to hit a wall in which you think, “shoot this programming language is not a fit for me.” I think I’ll try a new one. Here’s the thing. You can go through this experience 10 times which will leave you spinning your wheels and not making progress towards that goal of getting hired. This is a common tendency of tech newbies who are trying to solve a confidence problem with a skills solution. Take it from this lady’s experience — it just doesn’t work.
By now you’re thinking that I made an error when I said “programming language” instead of “languages”. I understand you can feel like you need multiple languages to get hired. If you scroll through job postings you’ll see a number of different languages that employers find valuable. The truth is that if you learn multiple complementary languages at a beginner level, you’ll find yourself less employable. There are some languages that stack on each other (e.g., React + Mongo Db + Node) but those are a comprehensive total package language and differ greatly from a Java + Python + C combo. That combo would take years to learn well and be an unnecessary combo for breaking into tech. It’s not that others can’t do all of those languages, it’s just that it’s likely taken quite a few years to get there. If you think that’s where you need to be today, you’ll end up down the rabbit-hole instead of on the fast-path to development.
Photo by ThisisEngineering RAEng on Unsplash
Where am I in my path?
This one can be hard to admit because most of you reading this are likely beginners. It’s not really that fun to be a beginner. It’s uncomfortable and half the time you spend feeling like an inadequate fool. But by being honest with yourself and others, you’ll progress faster. View your needs from the lens of a beginner. Ask others who are just a few steps ahead of you on the path to be your mentor. Continue that cycle as you build your skills, leveling up both your skills and your mentors. Also consider working for “free” which really just means in exchange for building your skills. Be sure to set a time parameter on this, for example three months. You can then use that work in your portfolio to level up to your next job. It could be a full-time work or a freelance project where you charge less than the standard rate to build your skills. This is an apprenticeship model that can help you meld your learning and work into more of a continuum than a leap. It’s really effective!
What do I want my program to do? / What project will I work on to demonstrate my coding skills?
I recommend doing this in light of a real-world project that someone can immediately see the value in, for example, a to do list or a sign up of some kind. This is an important question because it can help you see the lens that an employer will be looking through. You are not just “learning to code”. You are creating a project that will be in your portfolio (git hub repo) and the method to get there is learning to code. This is a great way to avoid the tech learning rabbit-hole. Many moms new to tech think they need to know every syntax in a programming language off the top of their heads. This is not what an employer is paying you for. The employer is paying you to think through how to solve a problem using your programming skills. You might think you’ll get to a point where you don’t look things up. I’ve met developers with decades of experience who still look things up. It’s not a “beginner thing,” it’a developer thing. The faster and better you can get at looking things up, the better your skills will be.
The project will NOT feel like a straight-line towards learning the entirety of the programming language. It will involve frustrations, set-backs and inches forward. If this is what it feels like — you are doing it right! And if you need extra help overcoming those obstacles, having a good coach or mentor will help you succeed.
Now go get after that first line of code! You have totally got this. You are techY!