Embarking on Your Coding Journey: A Guide for the Beginner Programmer

Launching a new endeavor? Get started in coding with this comprehensive guide for beginners.

·

11 min read

Embarking on Your Coding Journey: A Guide for the Beginner Programmer

Photo by Matt Duncan on Unsplash

Embarking on your coding journey as a budding developer can feel like a daunting task. The internet is filled with an overwhelming amount of information — all pulling you in different directions. On top of that, you're immediately faced with the never-ending battle over "what is the best programming language." Keep reading if you want to sort through all the noise and just get down to the important stuff in this guide for the beginner programmer.

The Origin Story

I believe everyone enjoys a good origin story and here's a little background on the early days of my coding journey. While attending college for business management, my interest in programming began to resurface. I had dabbled on and off for years like using drag-and-drop editors during my senior year of high school. I can tell you that, a half-baked plan to drop-ship scooters, didn't see much success. Everyone starts somewhere. At that time, Facebook was already widespread, and I figured if Zuckerberg and his friends could build it using PHP, then it was good enough for me to learn. So, I stumbled upon a course on Codecademy.com that covered PHP.

I found Codecademy to be effective in learning the basics of programming. One major issue I have with this type of learning is that it's done in isolation. What I mean is that you get to write and learn a programming language but you have no understanding of how to do it on your computer. I am probably a little more obsessive over things like this than most, but I couldn't stop asking, "OK, that's great, but how do I do this on my computer and write and run custom programs?"

Therefore, I hope that I can both spare you this massive headache and jumpstart your learning path as a new developer. Without further ado, here are some of the most effective tools and resources I learned while I embarked on my coding journey.

Learn Programming with Videos

Using videos for learning, for me, is by far the most effective way to begin. After I got the basics of PHP down from Codecademy, I then started to Google how to build a Facebook-like application. Yeah ... I now understand how naive that was, but, oh, well. Dream big! I think videos are even more effective than short-coursed-based learning because you can just copy exactly what you're seeing in the videos. Aside from debugging, you're likely to be able to get a lot of things to "just work" from day one. That immediate feedback is very helpful in keeping the energy and motivation strong to be able to keep going.

The following is a list of some of my most frequented video resources:

YouTube Video Learning

YouTube is great for finding all sorts of content, from very high-level overviews down to highly specific tasks. It's a good starting point if you want to hit the ground running and just code. Nostalgic shoutout to "howCode" over on YouTube. This person has been rolling out videos on YouTube for years.

Subscription and One-Time Purchase Video Learning

While I was in college I used Lynda.com which is now LinkedIn Learning. It looks like there are still plenty of videos available on this site. I'm guessing it's more geared toward "professional" topics.

Another service I often use is Udemy.com. They have a great selection of very high-quality videos. These are mostly one-time payments for lifetime access. They often run deals and discounts, so be sure to take your time and see if you can get a course on sale.

Lastly, the one I use all the time is Pluralsight.com. This one is a little bit more expensive and has a monthly subscription. But it's hard to beat the quality of the content as well as the range of "skill assessments" they offer, which lets you gauge both your understanding of a topic as well as your learning progress.

There are virtually hundreds of online learning resources, but I'm giving you my own curated list that I find to be both affordable and of high quality.

Static and Reference Based

Programming Resources

Admittedly, it took me longer to start using these valuable resources than I care to admit (apart from Stack Overflow). But it's one of my favorite go-tos for initial information now. They're often searchable and have logically structured information. I think the first one on my list is often laughed off as being an elementary or grade school-level resource. However, just like you wouldn't end up using something you found on Wikipedia for your final paper, there's no denying that it's a good basis. I'll stop ranting and saying that w3schools.com is, to this day, one of my number-one referenced websites for front-end and general web-based information.

W3Schools.com is packed with information on everything from JavaScript to XML. I often start here when I need a high-level overview and then move on to my next favorite, MDN - Mozilla Developer Network, for a more detailed overview. Mozilla has a great balance between human-readable documentation coupled with advanced content. This is important for me because you can get lost in some documentation that is so technical that it's hard to even figure out what to do with it. It's primarily focused on client-side "web" topics but does go into some server-focused topics.

Oh, Stack Overflow (SO) ... You beautiful treasure trove of both wonderful answers and endless, often meaningless, debates. All I'm going to say, with SO, be careful — with great power comes great responsibility. Stack Overflow includes an endless supply of answers and comment-based rants that simultaneously end up insulting someone's momma. So ... venture forth with caution, but know that this is an incredibly valuable resource when it comes to troubleshooting issues.

Throwing in a random resource that I find myself using quite often because it's what I use professionally, Microsoft Technical Docs. My point with this one is that, whichever programming ecosystem you choose, is inevitably going to have its own set of documentation and resources available. I would argue that this should be one of your number-one deciding factors when it comes to choosing both a language and a development ecosystem to go with. If a language, or tech stack, doesn't have solid documentation or a strong community behind it, you'll be able to learn it. Sure. But it's going to take you more work and more time to do so. Keep this in mind when you move on from this list.

Interactive and Guided Programming Courses

At the beginning of this post, I mentioned using Codecademy. I'll forever be nostalgic for those long nights taking courses in the student union. I'll always encourage using Codecademy as a solid starting point for any beginner or even advanced developer. Over the years, I've seen their course offerings become both more advanced and vast than ever before. Code.org is a relatively basic beginner resource, I'll admit that. Personally, I have never been above learning something from someone else's perspective or approaching problems from a new angle. Give it a shot. Who knows you may find that you enjoy using Scratch to build stuff!

Let's switch gears just a bit to discuss both Codewars and Coursera. I've used both but I want to be clear that Codewars can be intense. The problems are not always easy and it can be overwhelming if you're just starting. I'd encourage poking around the site a bit and seeing what you may find helpful but don't get discouraged by it. Over time, it will be a useful tool as well.

Coursera is a little different than most of the other items on my list. I have taken a course on this site but it's much more formal than anything else. It's created and maintained by Stanford University and a plethora of educational and professional organizations. You can actually "enroll" in courses. So ... Yeah, it can seem a little intense when you're just starting. But, after a while, you'll likely find some highly educational content that you can enroll in for free. Which is pretty amazing considering the content is from organizations like Stanford and Meta.

Books for Learning to Program

I'm not going to add any links to anything here as any link I use from Amazon probably won't work after a short time. But here are some worth Googling.

NOTE: I own several, but not all of these. I like to reference read a lot. I'm not a computer myself and these are all hundreds of pages long. I've either read or glanced through it or have it on my wishlist to buy.

  • Clean Code by Robert C. Martin

  • The Pragmatic Programmer by Andrew Hunt et. all

  • CODE by Charles Petzold (one of my favorites)

  • Refactoring: Improving the Design of Existing Code by Martin Fowler

  • Domain Driven Design by Eric Evans

  • Head First Design Patterns by Eric Freeman et. all

  • Code Complete by Steve McConnel

  • Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma

Last, but not least, programming books. Depending on who you talk to, there seems to be a mixed bag of feelings toward learning programming from books. As someone who just prefers the tangible — the physical nature of a good book — I use them all the time. What I will say is that books can quickly become out-of-date which is the issue some folks have. However, there are certainly some timeless books that are out there about programming — you just need to do some research and find them.

My top tip when it comes to buying books about programming? Search more for things that deal with patterns or ways of doing things, rather than books directly about code. This may, however, not always be the case either. There are plenty of books about SQL written a decade ago that contain relevant material. SQL, as a core language, has a lot of the same features now as it did in the past. (Don't freak out if you're a die-hard SQL fan. I know its countless changes over the years, but there are a lot of old, good books on the topic.)

I once bought a book about Angular (2+, not AngularJS 1.x) that, basically, was irrelevant the day I bought it. And within another three months, it was completely obsolete. The worst part about that one was that they'd actually completely changed the names of some core classes that were part of Angular. So ... it wasn't even worth keeping around as a reference. The issue with that was that it had direct code examples. More recently, I found a book on Angular that has more of the patterns and ways of doing things in Angular that hold true from the first versions of Angular 2+, all the way through whatever double-digit version Angular is on now.

If you've made it this far ...

... I hope you come away with at least one bit of useful information. If not, I apologize that you'll never get those 11 minutes of your life back, but I appreciate that you stuck around. In any case, learning to program, especially from the very first few days, weeks or months of learning, can be an overwhelming endeavor. I still remember vividly how confusing it all was when I first started. But just like you can spend a whole career as a developer and not know everything there is to know about the profession, it's a slow and meandering process.

Enjoy the learning process. Make tons of mistakes and keep pushing forward. If something doesn't make sense the first moment you learn it, just trust that it eventually will. And the more you learn, the more you make associations between topics. I envy that you're at the beginning of your journey as a new developer as those are some of the most rewarding moments to look back on.

A Fond Farewell

If you liked what you read, felt indifferent or didn't care for it, please be sure to leave a reaction and a comment. I want to make sure I'm providing topics that people truly want to read and to learn and grow as a writer on tech topics as well.

I am trying to hone in on this whole "blogging thing," and am working hard to figure out how to make it both engaging and high-quality. Like programming, it's a slow and steady process. But, if you're enjoying what you're reading and want to help me to continue creating more content I'm always extremely appreciative if you want to become a sponsor or just feel like buying me a cup of coffee. No pressure! And, again, any help is greatly appreciated.

Eager to Learn More Programming?

If you liked what you read in this post and want to get started right into programming I have another blog post called "Learning C#: Getting Started." It's a crash course, start to finish, in how to create a simple program in C#. If you think web programming, or client-side programming, is more your thing I also have one on JavaScript called JavaScript Bytes: Getting Started. Both will have you writing and running your first program in less than an hour. Check them out, and let me know in a comment if they were helpful or how I can improve.


Big gulps, huh? Welp, see ya later.

Did you find this article valuable?

Support Charles J by becoming a sponsor. Any amount is appreciated!