I’m now 8 years into my professional software development career and I have been asked a version of “how can I get into coding?” many times. When I’m asked that, I always push people towards front end development which is, in a nutshell, the building of websites. It’s the “path” I started on and almost every lesson/project you do gives you visual confirmation of your work.
Still, every time I’ve responded to that question, my answer is a little different. So I’m going to use Medium to keep it all up to date and to have something really easy to send to anyone I can help.
Here is how you can get into front end development and thus how you can get into coding:
I’d recommend going through the Treehouse course on it:
https://teamtreehouse.com/tracks/front-end-web-development
Go all the way until you finish “Enhancing Design with CSS”. After that, you can stop.
Treehouse is a slow, video-based way of learning code. It will be really good for the beginning but will start to feel fairly slow once you get the hang of it. They currently have a 7-day free trial. You should be able to get through “Enhancing Design with CSS” in the free trial.
Definitely skip the GitHub Repository parts. And skip anything you already know or feel fine about. The most important part of this is the project (“Project: Google Homepage”). This will give you a chance to actually try and build something.
I really like The Odin Project. It boasts an impressive community of like-minded professionals serious about learning to code. And, thanks to the community-run forums for likely bugs and inevitable issues you’ll have as you start out, you’ll have access to all sorts of solutions throughout your journey.
I didn’t do the exact steps above when I first got into front end development. Instead of building the Google Homepage, I built a portfolio. But it was at this point that I first felt pulled to coding. I really enjoyed making a portfolio. It was after creating my portfolio that I had a really good feeling this was for me.
So ask yourself if you enjoyed it. If the answer is yes, this might be for you. It will be an incredibly good sign if you enjoyed the process up to now. It’s not to say coding isn’t for you if you didn’t. It could mean that backend development could be your calling or just that my two actionables above weren’t a good fit for you.
Using “Did I enjoy this?” to determine if coding is a good fit for you might give a false negative but it won’t give a false positive. If the answer is yes, front end development and coding, in general, is probably for you.
Now it’s time to do some boring but incredibly necessary things.
While the command line may not seem super useful to you right now, if you find yourself regularly writing code down the line, the little time it’ll take to familiarize yourself with it (about 2 hours is all you need) will be well worth it.
In short: The command-line interface enables you to interact with a computer operating system or software. Basically, you type in commands that trigger tasks like creating a folder to hold your CSS files or running a JavaScript command.
Then do this:
https://blog.teamtreehouse.com/command-line-basics
Then do this but skip the introduction and skip exercises 1, 7, 8, 9, 12, and 15:
https://learnpythonthehardway.org/book/appendixa.html
Here is a wonderful cheatsheet for the command line:
https://www.shortcutfoo.com/app/dojos/command-line/cheatsheet
Now back to the fun stuff.
While the exercise is very dated, JavaScript hasn’t changed all that much, so it’s still relevant. It’s a more out-of-the-box way of learning JavaScript and it helped me so much when I got started.
Here’s how you get started with it:
https://www.youtube.com/watch?v=Bkc2BfqIOv0
From here, the instructions are quite simple. You’ll just do what The Odin Project tells you to do.
https://www.theodinproject.com/paths/full-stack-javascript/courses/intermediate-html-and-css
https://www.theodinproject.com/paths/full-stack-javascript/courses/javascript
Start with the HTML and CSS course. Feel free to skip anything that you already feel like you know but do NOT skip the projects. Those are the most important. You can also skip the “Emmet” and the “SVG” sections.
You do not need to finish the HTML and CSS course before moving onto the JavaScript course. In fact, I’d recommend you do them together. Just start with the HTML and CSS course by perhaps completing the “Basic HTML Page Structure” section first.
Side note:
Building things is going to be the best way to learn coding. I know when I first started, this concept didn’t quite feel right. I would ask myself, “how can I learn by building if I don’t have anyone to give me feedback on if I’m building it correctly?” But you DO have a feedback mechanism. And it’s an AMAZING one.
If it looks like it’s working or if it looks correct, then it is.
If your task is to build the Google homepage and it kind of looks like it by the end, then perfect! You built it correctly. If it’s a calculator written completely in JavaScript and it adds, subtracts, multiplies, and divides, then perfect! You built it correctly.
Later on, how you built it will become important. But right now, just getting it working, by whatever means possible, is what is important.
There are sections on Git and the backend. Skip anything that doesn’t feel relevant.
It took me a while to really understand what was the point of Git. When I was where you were, I would think, “why do I need to learn this?” or “this makes no sense.”
The purpose of Git at this stage for you is mostly just to serve as file management. You want to do two things right now:
1. Store your code somewhere (GitHub).
2. Make changes to your code and see what those changes look like.
Git with GitHub allows the above. Think of Git that way.
Most importantly, all developers use Git so you’d eventually have to learn it anyways.
Just find sites that already exist and start building them from scratch on your own. Take Facebook and try and build it out on your own. Or try and build my portfolio. Or build whatever! The world is your oyster. If you do try and build my portfolio, reach out to me (jordan@dorothymemoryapp.com) after you’re finished and I would seriously be happy to review your code.
If you’re looking for inspiration or want to join a community of project-building that will have feedback and solutions, checkout Codeacedemy’s Projects page:
https://www.codecademy.com/projects
I’m not the biggest fan of Codeacademy but they’re great once you’re past the basics (in my opinion). They provide you with a list of projects that contain other student solutions and some guides for getting started with that project.
And there you have it! Once you complete that last step, and you have found that you like coding, it might be beneficial to join a coding bootcamp to help you sharpen your skills and get a job as an actual software developer.
One last note: remember, struggling is good. It should be difficult. Coding is still hard for me to this day. I’ll try and code a feature and it’s almost always difficult and I have to sit there and think “WHY ISN’T THIS WORKING??”. But eventually, I figure it out or come up with a new solution or whatever. And I LOVE it. So if it’s hard now, don’t worry! That’s good! In fact, it’s more than good. It’s necessary.