How to Learn to Code: THE INTERMEDIATE STAGE [2018]

in #programming6 years ago (edited)


Learning to code can be fun and easy starting out, then hitting that intermediate stage turns it into a world of difficulty and annoyance.

In the video above I go into topics that you can look into, once you’ve finished those beginner courses. Below I’ve even added some direct resources you can use.

Follow your interests.

Practice and Pre-made Resources

There’s an endless amount of practice resources on the internet, you’ll just have to dig through to see what you like best.

Data Structures

Data Structures are also an abstract idea when learning to code, and they can be created in multiple languages.

APIs

APIs allow you to plug in to some of your favorite websites and applications and grab data from it to use in your own programs. I’ll link a few popular APIs below.

Object-Oriented Programming

This is a pretty abstract idea, that multiple languages are based off (Java, Python, Ruby, C++, and more). It turns out that many beginner courses don’t actually take advantage building objects in object oriented languages. Instead, they first teach you variables, loops, if-statements, etc… s it make sense. Now is the best time to practice 🙂

Due to the very abstractness of it, the resources I list may not cover everything.

For more specific tutorials on how to create them, try searching “How to make objects in [insert_language]

Community

I think you get the point. If you’re interested in a specific field, or learning a specific language, chances are there’s a community/subreddit for it.

Git

Version control. The tool you would use to create a better workflow as you code, especially if you’re coding with others (imagine how hectic that can get). Luckily Git is a technology that let’s you keep track of your software’s version, and work separately when working among other coders.

Tech Stacks

So I didn’t go into detail in the video because I felt it would confuse you. A technology stack is simply all the languages, frameworks and software used to create a product. For example, let’s look at the technology stack for a website called AngelList.

If you asked someone what language AngelList is made in - they would probably answer Ruby, but truth is - there are so many more technologies involved as you can see in that list.
So, if you want to mimic or create a similar website, you would want to go in and look at the Rails framework, learn JQuery etc…

There’s also a lot of common Stacks. For ages, most of most of the internet used the LAMP (Linux, Apache, MySQL, PHP) stack, but now the MEAN (MongoDB, Express.js, Angular.js, Node.js) stack is becoming more common.

Share your journey

Make a blog and teach others along the way. If you're learning web development, why not make the website yourself with Wordpress or Github Pages?

Addition Ideas (don’t feel overwhelmed, there is no wrong path)

  • Learn functional programming. Languages like Scheme. It’s a completely different style of coding. Disclaimer: it might not have much application use to you right now, but will open up your mind to a new perspective.
  • Develop an Alexa Skill. They’re becoming quite popular.
  • Learn something new on Udacity that is more specific than just a programming language (artificial intelligence, REACT Developer, Python automation, natural language processing, virtual reality)

I hope I could help relieve some of your stress as you finish those beginner courses. There's a lot to learn, and it's going to be an exciting journey for all of you!

<3 you Steem.


▶️ DTube
▶️ IPFS
Sort:  

Awesome video, Brad. Really appreciate the tips and links here. I'm an old-school programmer who's a bit lost with the new trends so I still often feel like a programming newbie.

Your metaphors are crazy lol, but perfect in describing those moments when you really don't know what's going on or what to do next.

Awesome, Great tips to build experience for beginners.
RESTEEM

Hi bradmitchell,

Your post has been upvoted by the Curie community curation project and associated vote trail as exceptional content (human curated and reviewed). Keep creating awesome stuff! Have a great day :)

LEARN MORE: Join Curie on Discord chat and check the pinned notes (pushpin icon, upper right) for Curie Whitepaper, FAQ and most recent guidelines.

Congratulations @bradmitchell! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of upvotes received

Click on the badge to view your Board of Honor.
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

Do not miss the last post from @steemitboard!


Participate in the SteemitBoard World Cup Contest!
Collect World Cup badges and win free SBD
Support the Gold Sponsors of the contest: @good-karma and @lukestokes


Do you like SteemitBoard's project? Then Vote for its witness and get one more award!

Great post! I do recommend Harvard CS50 to those who wanted to start learning programming from scratch. It helps a lot especially understanding how the programming fundamentally works.