I first found a love for coding while I was a law school student. Perhaps it was the fact that I should’ve had my head in a contracts textbook that drove me to a new path, or maybe it was fate — I haven’t decided. Ever since starting my journey in 2016, I’ve loved getting to learn new things in the software engineering realm. It wasn’t always a straight-and-narrow road, however, and there are certain nuances I wish I knew back then. If you’re starting your coding journey or looking for a little more direction, this is for you!
So many paths! How do I pick something to start with?
What you pick initially to start learning is somewhat unimportant when compared to the idea that you pick something and run with it. That being said, I fully believe that you’ll build your confidence (and the imposter syndrome won’t be so pesky) if you pick something that is more widely used and simple to begin your journey.
I personally started by learning HTML and CSS with Codecademy (see below), and moved on to their “Intro to JavaScript” course early on. I really liked this path as it geared me toward web development at an early stage, and prepared me for learning other languages and frameworks. One of the few downsides to starting with JavaScript is that there are many different ways to solve a single problem in this language. I’d recommend using TypeScript, however, this isn’t extremely intuitive from the get-go. If you’re looking into web development, you’ll likely be using some kind of framework in the future (Angular, React, Vue…maybe even Svelte? Who knows). By starting with JavaScript, you’ll be set up for success with those frameworks down the road.
After learning Python for one of my jobs as a software engineer, I can also see how this might be a good path to start down. Python is widely popular among companies both big and small and is used in many different contexts. It’s incredibly versatile and also has easy intuitive syntax. The Zen of Python is the core philosophy, and I suggest (at least) skimming through that to see the reasons behind using Python as your first language. Because the syntax is easy to read and understand, you can typically start creating your own programs relatively quickly, which might make it easier to stay motivated to learn!
Resources for Learning
The two resources I used most when starting my journey were Codecademy and FreeCodeCamp. I chose these because they were both free and the platforms are user-friendly. Of course, there are TONS of resources online now and I highly recommend starting a few different courses to see how you learn best. Some courses online are more video/lecture-based, while others are more hands-on and involve a lot more reading. Try some of these out and see what you think!
Codecademy
Codecademy was my first dive into development and they also have a large community of learners ready to help you get through any hurdles on Discord. I personally loved this format: reading intros to new subjects, then working through example problems on my own with tips if needed. It’s a very hands-on approach. Codecademy also has many local meetups throughout the world, including Nashville!
FreeCodeCamp
FreeCodeCamp is one of the few nonprofit businesses focused on teaching the world to code. Their lessons are concise and easy to grasp, and the format is very similar to that of Codecademy. One cool feature of FCC is that it’s completely free, and all content is available from the beginning. If you’re in the middle of your learning journey, this is a great option because you can start at any point in any course!
Team Treehouse
Treehouse has a lot of incredible content but unfortunately isn’t free. Their base tier at the time of writing this article is $25/month, and can go up to $199/month if you choose to enroll in one of their Techdegree programs. I used Treehouse for pre-course work through Nashville Software School before attending and loved the UI and simplicity of the platform, but the price can be a bit steep for some. That said — they do offer a 7 day free trial if you’re excited about the lecture-based learning!
Udacity
Udacity is a platform that I’ve used for plenty of other topics, and turns out they have a wealth of knowledge when it comes to software development, too! This is an interesting platform in that you get courses taught by specific people. They have tons of free courses as well as paid, and the Nanodegree programs start at $399/month. You can filter different subjects based on topic, difficulty level, prices, duration, and more. If you’re looking for a specific subject within software development (or anything technology or business-related), this is a great place to start.
Networking
This piece of information is a little more on the side of “how do I get my first job,” but it’s good practice nonetheless IMO. In order to start learning at a quicker pace and writing prettier, more useful code, it helps to have a group of people you can talk to about it. You could always show your friends or family what you’re working on, but they can’t tell you why you should use a ternary instead of using a more verbose if statement on that line of code you’ve written. It helps to have someone you can bounce coding ideas off of, and to get feedback early and often on the work you’re doing. Find your community and build a presence somewhere so you can feel comfortable asking for help through this journey!
Speaking of feedback, this is probably a good time to explain that when you’re asking someone for feedback on your work, remember that they’re criticising the work itself (not you personally). This concept is easy in theory, but can feel daunting when you keep getting “nitpick” comments on things you build. Remember that getting feedback and advice from those around you is how you grow as a developer! Everyone you ask will still remember when they first learned how to code, so everyone has been where you are.
Conclusion
There are so many articles out there on why you should start learning to code, and how to do exactly that. In writing this, my goal was not to add to the noise in your brain, but to give you an example on the path that I followed when first learning web development. If you have any tips that I didn’t mention, or want to ask a question about anything, feel free to leave a comment!
Looking for an online community where you can learn and grow as a developer? Check out the Nashville Codecademy meetup! We meet locally in Nashville, TN, but also have an online meetup every week to hold each other accountable to our goals.
You can find me on Twitter and Instagram, as well as on the Nashville Codecademy discord server (linked above).
If this was helpful to you, or you find value in my work, feel free to buy me a coffee!