Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
December 9, 2022 11:33 pm GMT

All resources I used to teach myself how to code. (From day 1 til I got a job)

Image description

If you are short on time and just want to get the resources, I posted all links at the end of the post

It took me 7 exact months. I only missed 3 days(some days I forgot to commit).

From learning how to declare a variable to landing my first software developer job, this are the resources I consumed.

Roadmap

Note: I started out following the front-end dev path but ended up landing a full-stack role. I'd still recomment starting with front-end even if you know you want to pursuit a back-end dev career.

I guided myself based mainly on the below roadmap which I was referred to by a master software develper and dear friend( Jorge).

This video gives a less overwhelming path.

Web Foundation - HTML/CSS/JS***

I need to mention that I was not completely raw, I worked for 2 years with IT Support and went to college for IT(which included some coding) before quitting a year and a half later.

The IT experience ended in 2011 and the timeline of this post starts 10 years later. I basically didn't remember anything code related. Nothing.

After a refresher on how the internet/browser works, what is http/DNS etc, I started on FreeCodeCamp.

FreeCodeCamp (https://www.freecodecamp.org/)

  • Responsive Webdesign Certification(I didn't finish this one)
  • JavaScript Algorithm and Data Structure Certification

I did not go through the recommended path of doing the responsive webdesign first and than moving to the javascript certification.

I followed my curiosity(which always gives me motivation) and jump started on the JavaScript certification. Finished the foundation sub section and now with my curiosity satisfied, went back and started the webdesign certification.

And finally after getting bored with html and css I returned and finished the JavaScript certification.

At this point I needed to build something, I had had plenty of input and was eager to see what could come out, so I started looking for something to build.

Stumbled upon John Smilga's 15 JavaScript Projects course on freeCodeCamp's youtube channel:

It was an instant hit. I did the whole thing and had a great time.

Getting more out of my learning
Since this is a javascript course John won't go over the html and css for the projects.
What I did was, I would take a look at the final version on his website and recreated it myself before starting the project. That way I got pretty confident at HTML and CSS while working on my javascript.

Once I finished his free youtube course I wanted more, so I bought John's JavaScript full Course on udemy.

Here is john's website with all his courses.

Computer Science Into

Also through freeCodeCamp's website I found Harvard's CS50 intro to computer science. It is bloody awesome and absolutely essential for a self-taught as myself.

worth mentioning

  • I watched it on youtube
  • I didn't watch lecture 6 python and lecture 9 flask
  • I didn't do the exercices, just tried to understand what was going on.
  • I didn't try to learn C sintax, I was interested on the CS concepts.
  • Whenever I got lost, I'd go back and watch again or pause and try to understand what was going on.
  • I was my passive learning, whenever I was not hands on coding I was watching CS50

JavaScript Framework - React.js

This was a no brainer to me after consuming John's JS course.
I bought his React.js course, which goes over almost the same projects build on the javascript course but this time in React.js.
At first this was a downer, I didn't want to do the same projects again, but after pondering over it, it was the best thing I could do to cement my knowledge.

Again, twice the exposure to the same concepts, twice the changes of consolidating the knowledge(repetition).

Back-End - Node.js + SQL

There is no way around it, you have to know the basics of the backend even if you plan on being a front-end dev.

The thing is, to create a more interesting/custom project will require a database and a simple server.

At this point I was curious to know how the back-end worked, how to connect the database to the server, all that fun stuff. I had no idea, reason why it was so interesting.

Also, most people on the internet were saying that for a project to stand out or at least be considered a worthy of being added to your portifolio, it had to perform the CRUD(CReate, Update, Delete) operations at least. Hence needing a server and database.

In practive, it didn't take more than a few days to learn the basics of node and SQL, enough to rig up a simple back-end with db.

Learned the basics of SQL(just what I needed for my CRUD projects):

Basics of Node.js

Algorithms and Data Structures

Whether you like them or not, there is no code without algorithms and data structures. Everything you do code wise gravitates around them.

I was very hard at first, then became just hard.

Once you have learned a few techniques and sharpen your problem solving skills, it gets less hard.

I'd focus mostly on doing exercices tackling arrays, hashs, strings and numbers, since they will probably be your bread and butter at work.

In my case, in addition to the above, and again following my curiosity, I included: linked lists, trees/AVL/Binary, graphs, DFS/BFS algorithms. (at this moment writing this lines, I am planning on going back to explore from where I left off)

Here are some of the resources I used:

Note: I almost burned out pushing myself too hard on this. Don't do the same. Take it slowly and steadly, or else you risk throwing you computer out the window and never using one again.

Did a bunch of projects and code challenges along the way.

  • 60+ CodeWars challenges
  • 16 LeetCode challanges
  • Build 20+ small projects along the way.

Here is a short list of some of the small projects I build:

The main projects that composed my portifolio:

What I consider key factors

With a few exeptions I did not follow anything linearly, from top to bottom, beginning to end.

I had a north and let my curiosity take the lead in most cases.
That gives me:

  • persistance to understand a complex topic.
  • Experimenting (reinforces learning)
  • Extra motivation

When building projects I either:

  • Had the idea and looked for similar projects on the internet to see what they had done and googled when stuck.
  • Fused two tutorials into a unique project.
  • Used a tutorial to do the front-end and did my own back-end (or the reverse)

I also:

  • If following a tutorial, never used the same variable names(forced me to understand what is going on and not just blindly follow)
  • Change the theme (if following a tutorial on how to build a movie app, I'd do a book app instead)

With all that said, I ended up landing a job which tech stack is:

  • C#, .NET MVC, SQL, Vue.js, JQuery

I had 10 days before the second interview to show that I knew enough to land the position...

That is a story for another post.

Catch you later,

Gus

All Links

Roadmaps

Web Foundation - HTML/CSS/JS*

JavaScript Framework - Reacj.js

Computer Science Into

Backend + SQL

Algorithms and Data Structures


Original Link: https://dev.to/gustavupp/all-resources-i-used-to-teach-myself-how-to-code-from-day-1-til-i-got-a-job-bd4

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To