A Little bit about myself (It’s quick I swear)
I just want to give you context before you continue reading, so I’m going to explain a bit about my background since I do have a degree from a college in Puerto Rico. My degree is not a computer science degree though nor is it a degree about programming, I studied information technology systems focused on Server administration, networking and a little bit of security. I have two certifications the Comptia A+ y el Comptia Network +.
With this what I am trying to say is that every tip I give you is what I used to learn how to code, with that being said I do consider what I studied to have helped me learn faster since I already knew how to use a terminal, what virtualization was, what a server is and I already knew some security stuff. I will mention those things that helped me throughout this post and post links to them so you can check them out.
First recommendation: Do the tutorials even if you don't understand everything.
Do the tutorials even if you don’t understand anything. Start them even if you don’t finish them. When you’re just starting out everything will be overwhelming and complex you’re going to feel frustrated and you’re going to want to quit because you feel inadequate. Your brain's going to ask you for social media time and tell you that using twitter for a while as a distraction won’t do any harm. You have to fight against this urge since your brain's is literally trying to protect you from pain, the pain it feels from doing work.
If you’ve read Cal Newport’s “Deep Work” you’ll know that having easy entertainment at our finger tips is making life comfortable and when you’re struggling with something your brain will try to protect you from it by driving you to activities that are pleasant and easy for you.
For example when I was reading about promises in Javascript I started reading MDN’s documentation and the first paragraph said something like “A Promise is a proxy for a value not necessarily known when the promise is created. It allows you to associate handlers with an asynchronous action's eventual success value or failure reason. This lets asynchronous methods return values like synchronous methods….” To which I did not understand much of so I decided to look up Youtube videos about and that didn’t work out for me either so I did a code example I found online and started understanding the concept bit by bit. So when you feel in a learning slump look for other types of information to consume instead of giving up.
Second recommendation: Search for different types of media to consume not just your preferred.
If you like reading, don’t just read… watch videos, watch courses and listen to podcasts. This will help you retain better the information since your brain works by association and interconnecting information. This is why blogging is a good idea, it makes you write down something you already know forcing you to recall the information and dig deeper so try to utilize what you’re learning by teaching others, reading about it or listening to topics related to it.
Here’s a great article about the topic of retention of information!
I personally really like LinkedIn learning’s videos, paired with youtube videos, podcasts and books.
Some of my favorite podcasts are:
1) Syntax fm They discuss topics about web programming. 2) Dotnet rocks !They touch on topics of programming with Microsoft technologies! 3) Software engineering daily They talk about topics related to software engineering
Some awesome books I’ve read are:
1) The Phoenix Project 2) Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People 3) The Price of Tomorrow: Why Deflation is the Key to an Abundant Future
Linked in courses: 1) Become an ASP.NET Core Developer 2) Learning C# Algorithms 3) Introducing .NET Core, you can find this one for free here
Youtube channels 1) Dev ed 2) Programming with Mosh 3) IAmTimCorey 4) The Coding Train
Join communities
Like I said before, giving your brain more ways to interconnect the information that’s being fed to it really helps so try joining communities, forums or groups of programmers even if it is meme pages. Seeing posts about technologies you’re learning helps, watching people discuss topics you’re learning about really helps because you’re seeing things from other points of view.
In my case I went to meetups (pre-covid) and searched for meetups for topics I’m interested in, like Microsoft technologies and software engineering among others and started going to them and meeting people. I also went to facebook and joined a Puerto Rican programmers group where there are all kinds of posts related to technologies. Your region probably has a group of programmers as well or maybe even many groups.
You're at the ending
Hopefully this post helps you continue your journey of becoming a programmer, software engineer or whatever you want to call yourself!