If I Could Start Over How would I Learn To Code From scratch šŸ¤” ?

Pratap Parui
9 min readJun 11, 2022

--

Thumbnail for the Article

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

Photo by Firos nv on Unsplash

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

Photo by Patrick Amoy on Unsplash

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

Photo by ALAN DE LA CRUZ on Unsplash

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

Photo by Tim Mossholder on Unsplash

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.

Photo by Kanchanara on Unsplash

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

Learn 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

Photo by Caspar Camille Rubin on Unsplash

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

Photo by Med Badr Chemmaoui on Unsplash

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.

Photo by Brett Jordan on Unsplash

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 šŸ‘ØšŸ¾ā€šŸ’»

--

--

Pratap Parui

Think šŸ’” Write āœ Read šŸ“– CodešŸ‘Øā€šŸ’» ExplorešŸŒ Eat šŸ“ SleepšŸ˜“ Repeat šŸ”ƒ check out more on www.mrparuiweb.live