So, You Want To Learn How To Code? Here’s What You Need To Know.

Joe KarlssonBlog

So, You Want To Learn How To Code? Hereโ€™s What You Need To Know.

So, you want to learn how to code? Here’s What You Need To Know to get started. This is basically a list of my favorite programming books, talks, podcasts, newsletters, websites, and general tips for learning more about programming. HMU if you have any additions you want to make to my list!

I love keeping my questions/answers public so others can learn and share from each other, feel free to drop a question on my GitHub AMA if you feel comfortable ๐Ÿ˜‰

First, ask yourself “Why do I want to code?”

The field of programming is absolutely massive and there are so many different programming languages and things to do with it. Ask yourself, do I want to learn how to make websites? Am I interested in creating robots? Can constructing a neural network for machine learning be my thing? Do I just need to make my boss happy and learn how to make a SharePoint site? Each answer would lead to a different recommendation for learning and could affect which programming language(s) you should start learning.

If you are learning to code because you are looking to make a career change, then I might recommend that you start looking into one of those Coding Bootcamps. I was personally a technical instructor at a Bootcamp for several years in Honolulu, Hawaii and I know that they can be a great, albeit expensive, way to get into programming as a profession. However, if you don’t need something as intense because you are looking to make a website for your friend’s new band then a Bootcamp might be overdoing it.

Picking the perfect programming language for you

Okay, so now you know WHY you want to get into coding, but now you need to pick a programming language to learn. Which one is right for you? If you were to Google, “Best programming language,” you will likely stumble into a StackOverflow or Reddit flame war with people shouting very loud and confidently that their programming language is the best and everyone else’s sucks.

Here’s my take on this. The top three most used programming languages in the world are:

  • Java is typically used at bigger or more “enterprise” type companies and projects. It’s going to be server and back-end heavy. It’s a safe pick, as Java has been around forever and it remains very stable.
  • Python is a great general programming language, and coincidentally, it was also the first language that I taught myself. Python has been blowing up in the data science and machine learning spaces as well. So it’s great if you want to build a website or a AI that’s capable of taking over the world. It’s up to you!
  • JavaScript is personally my favorite programming language and the one I usually recommend to people getting into programming. It’s the language of the web and today, with Node, you can build servers and the front-ends of websites with one language to rule them all. This is a big deal, because now, you only need to learn one language to build a complete website!

Try a couple of free online courses

First, let’s start with some of my personal FREE websites for learning to code. I would definitely start here if you are just starting to learn. You might find out that programming is not for you, and you haven’t dropped any serious coin.

Codecademy is the perfect place for aspiring coders to start learning. Interactive projects and quizzes let you get the hands-on experience you need to really grasp the concepts youโ€™re being taught. There are separate courses for each topic: you might start out with Make a Website or Learn HTML & CSS, and progress to JavaScript, SQL, and more. Codecademy also provides forums for discussion, programming language glossaries, and blog posts and articles to help you as you learn.

If you donโ€™t mind practicing solo, check out The Odin Project, a free option that pulls together some of the best open-source content for turning a coding newbie into a programmer.

FreeCodeCamp not only breaks down coding concepts into small chunks within your web browser, but it also pairs each concept with a relevant exercise that you have to solve before moving on to the next topic. This way, you canโ€™t just skip ahead to the fun stuff; the site really forces you to debug your code as you learn.

Other great options:

  • udemy.com, pluralsight.com, lynda.com to do free and paid ๐Ÿ’ด online code courses.
  • egghead.io to learn the best JavaScript tools and frameworks from industry pros ๐Ÿ˜Ž.
  • alligator.io to quickly understand seemingly-difficult frontend code concepts ๐Ÿ˜ฎ.
  • leanpub.com to easily write, publish and sell in-progress and completed eBooks ๐Ÿ“š and online courses.

Just start building something

My personal favorite way to learn something is just to jump in and try to build something. Start with something like a new personal blog or a Twitter clone and just start Googling until you figure it out. This has been my way of learning to code, but it’s not for everyone. I just struggle to stay awake while reading books or watching YouTube videos and I find that I haven’t fully grokked a subject till I’ve actually done something for myself.

Other ideas

  • Try one of those kids toys that help kids learn to code – they look awesome! Something like:
    • https://www.playpiper.com/products
  • Build a Slack or Alexa bot

Feel free to check out my projects and blog, if you need some inspiration:

Communities

Websites

Listed below are some of my favorite ways to stay up to date. I hope that you can use them as you start your journey into the world of programming. Best of luck!

  • Mozilla Developer Network for frontend (Html, CSS, Js, etc.) code reference and learning ๐Ÿค“. This will be your code holy book ๐Ÿ“š and you should follow it religiously!
  • web.dev to learn about web ๐Ÿ•ท fundamentals from Google Developers ๐Ÿ‘จโ€๐Ÿ’ป.
  • v8.dev to learn about Googleโ€™s open-source high-performance Javascript and WebAssembly engine ๐Ÿฆธโ€โ™‚๏ธ that empowers Chrome and NodeJS.
  • css-tricks to learn everything about CSS ๐Ÿ˜ป. Period.
  • javascript.com to start learning about Javascript ๐Ÿ˜ผ.
  • freecodecamp.org to build frontend projects and collaborate with the community ๐Ÿ‘จโ€๐Ÿซ.
  • codecademy.com, udemy.com, pluralsight.com, lynda.com to do free and paid ๐Ÿ’ด online code courses.
  • egghead.io to learn the best JavaScript tools and frameworks from industry pros ๐Ÿ˜Ž.
  • alligator.io to quickly understand seemingly-difficult frontend code concepts ๐Ÿ˜ฎ.
  • leanpub.com to easily write, publish and sell in-progress and completed ebooks ๐Ÿ“š and online courses.
  • frontendfront.com to stay updated with the latest web news, trends and conferences ๐Ÿ“ฃ happening all over the world ๐ŸŒ.
  • medium.com to discover, read ๐Ÿ“– and write ๐Ÿ–Š related articles.
  • twitter.com, instagram.com to follow people you like, discover what they do ๐Ÿ” and share your work.
  • producthunt.com to discover and submit ๐Ÿ’ฏ new products.
  • codepen.io to build, test ๐Ÿง and discover frontend code.
  • codesandbox.io to build โœ๏ธ and share web applications using cutting edge technologies.
  • github.com to host and review ๐Ÿง code, manage projects and build software ๐Ÿค– alongside millions of developers.
  • stackoverflow.com to get answers to your toughest coding questions ๐Ÿ˜, share knowledge with your coworkers in private, and find your next dream job.

Newsletters

Podcasts

Twitch

YouTube

Conferences

Books

Talks

(There is another great list of talks about JS to be found here)

You can check out my Top Tech Talks of all time here:

TikTok

Twitter (AKA My ‘Code Crushes’)

Follow me on social

Want to learn more about Joe Karlsson?