If I Could Start Over How would I Learn To Code From scratch š¤ ?
With just a laptop internet and lines of code you can create something truly zero to one learning to code is one of the best things you can do if I could go back in time this is exactly how I would do it & if youāre not in college or a boot camp great this article will be tailored for you itās definitely harder but if youāre willing.
Hello Everyone ! I hope you are doing well. In this article I will discuss about How would I learn to code from scratch if I could start over
As I told in the Intro with just a laptop internet and lines of code you can create something truly zero to one learning to code is one of the best things you can do if I could go back in time this is exactly how I would do it
So Iāll break up this Article into 5 different parts the mindset of coding and the developer environment everything Iām gonna tell you and thereās no real order and if youāre not in college or a boot camp great this article will be tailored for you itās definitely harder but if youāre willing to put in the work you can definitely learn how to code by yourself in fact if i could go back i donāt know if i would have gone to college.
letās get into it part one your mindset coders
think differently we approach our lives and problems in a certain way and i can confidently say my day-to-day life.
1. Adopt a coding mindset
And what i mean by that is for every problem inefficiency annoyance in your life you need to think thereās a solution for this i just need to find it it might take me minutes hours or even days but if i look hard enough if i try hard enough i will find it and that means google is your best friend your toaster is broken all right pull up YouTube and start searching the internet modem is blinking yellow google the serial number and start investigating thereās a spider on your house and you want to get rid of it yeah i donāt know if google can help you there you might just have to move houses and what Iām saying might sound obvious
But it took me years to realize not everyone is like this if you were ever wondering why your parents think youāre i.t support well hereās your answer your parents can google just as well as you can but they donāt believe they can and to be a coder you need to believe you can as a fundamental truth because when itās 4 am and youāre working on a programming assignment and youāve tried everything but you still canāt figure out the bug the only thing thatāll keep you going is knowing thereās a solution you just need to find it and that brings me to the
second part of the coding mindset humility trust me when i was in college at ta sessions Iād be yelling at the top of my lungs thereās something wrong with my laptop the code is right i donāt know whatās going on i donāt write buggy code the computer is never wrong and the second i realized that and truly internalized it was the day i started growing in my coding journey.
2. learn how to problem solve
Have you ever wondered how airlines decide which airports to fly from and how shipping providers decide what packages make it on the plane or how classes are scheduled even though there are only so many auditoriums well these are problems solved by algorithms that used to be done by hand I mean some pretty legendary woman got us to the moon with only chalk and blackboards but today the scale is just too massive it would take lifetimes to solve these problems by hand so we code at the end of the day coding is just a tool for problem solving the hard part is the actual problem solving being a good coder means being good at learning picking up new things and technologies quickly understanding that thereās a lot out there that you donāt know but you can learn it all with some time and patience at every one of my internships and jobs
I learned them all and at hackathons my teammates would want to use buzzwords like machine learning in the cloud and Iād have no idea what they were saying but Iād figure it out and yes you donāt have to be a good computer scientist to be a good coder but you do have to be a decent problem solver and hands down the best free resource to improve your problem solving skills is cs50 harvardās introductory computer science course that all incoming freshmen take you have an league education one of the best intro computer science courses out there at your fingertips for free take an advantage of it cs50 will give you a broad overview of computer science algorithms and data structures is it necessary to learn how to code no will it help you and accelerate your learning.
however youāll be exposed to c sql python JavaScript html and CSS all while working on real world problems in biology cryptography finance forensics and gaming what you learn in this course will help you immensely with everything else Iām going to talk about at rice the first computer science class I took freshman year was comp 140 basically riceās version of cs50 and it energized me to continue my coding journey part two learning how to code now that youāve adopted the right mindset itās time to learn how to code I canāt say the journey will always be rosy but i promise it will be fulfilling.
3. Learn one programming language deeply
the language you use to learn programming doesnāt have to be the same language you eventually use at work or even in your personal projects but itās good to know one language really well like your go-to if you took cs50 youāve been exposed to a bunch of languages but for now Iād recommend Python the most beginner friendly language and for the most part it reads like English the data structures are really intuitive and itās not verbose it isnāt typed which isnāt ideal but you can always use linters to optionally add typing and this is probably the language youāll want to use for coding interviews so itās good to get comfortable with it now to actually learn coding in python.
there are so many great resources out there for now youāre going to want to focus on syntax and data structures so follow an online course or look up some tutorials on YouTube also Udemy & Coursera make sure you learn about control flow so if else statements basic logic and or not loops foreign while loops and objects classes and other object-oriented programming principles in my opinion these are the highest yield topics and for data structures donāt worry too much about crazy optimized red black trees and what not for now focus on hash maps and arrays once you have a basic command of python.
moving on to the next step
4. Learn scripting sometimes
There will be stuff youāre doing that will feel really manual like data manipulation or renaming files or sometimes you just want to write code to produce code you can write scripts on your terminal through bash scripts but hopefully by this point you understand some python so you can leverage it to automate some of your daily tasks.
for eg: letās say you want to grab data from a csv file and generate an insert sql statement that you can copy paste into your database console and imagine there are no nice libraries that can help you do this it would take hours if you wanted to do this by hand but with a simple python script you can generate this entire command copy paste it into the database console and youāre good to go you basically wrote python code to generate an sql query string thatās awesome.
the great thing about scripting is you donāt have to spin up a web app or worry about hosting your server you can just write python code and writing more and more python will make you better at it coupled with the coding mindset now you have a practical tool to solve some of your daily problems.
5. Create a personal project
The first thing first i do is sign up for a hackathon like Hash Code,Code jam or any one that you are interested in and also in person is best but virtual is fine too now a days.
this is much like signing up for a marathon so you feel motivated to go out there and train a hackathon will give you the chance to create a project youāll learn a lot youāll work with other people and itāll give you a taste of what real-life software engineering feels like well except real-life software engineering projects arenāt completed in 48 hours and you actually have to test your code and youāre not as sleep-deprived but you get my point youāll get a chance to create something that you can deliver to customers in this case the judges.
You work on something youāre passionate about so pick a topic youāre interested in and build something there are a couple things I think are important here first youāre going to want to pick a full stack project which means thereās a front end a back end some api message passing layer and then a database to actually store the information you can do everything in python if you want through flask or django but Iād actually recommend learning and using JavaScript.
JavaScript is probably one of the most popular languages out there today and it has great support for front end and back end for the front end Iād recommend react and for the back-end some framework around node express is a really popular one like python JavaScript is not tight so i highly recommend using it.
And lastly work hard and aim high to achieve it !
Wow your are the end of this article if you like my article so why are you waiting for then Clap it š now! it will give me a sort of motivation to write content like this and yes Thanks for reading my article and giving your valuable time.
Cheers Have a nice day š
Follow me on Twitterš¦ Instagram𤳠and Medium šØš¾āš»