Over the past 3 years or so, I’ve noticed that more people are looking to get into Coding. Whether it be for Cybersecurity, Data Science, Machine Learning, Mobile App Design, or simply because it looks cool.
Photo by AltumCode on Unsplash
The biggest problem that people seem to have though is the most important one:
How do I get started?
“There are classes online, but which ones do I take?”
“Should I go the traditional route or just get certifications?”
“I’m not good at math or science but I want to learn programmining.”
“What language do I learn?”
This mini-guide will provide you with 4 tips I’ve learned over the years that helped me learn coding and apply it quickly.
While I did a mix of self-learning and traditional education, I am going to mostly focus of self-educating for the purpose of this article.
Tip #1:
> code, code, code
Have you ever heard the phrase “practice makes perfect”? Well, while I don’t personally believe in perfection ( there is always room for improvement), practicing can get you closer to being the best.
Similar to video games, in order to reach a high level and become a pro, you have to take the time to grind low level monsters and do tedious work to get there.
The more you practice, the better you’ll get. Sites like leetcode.com and exercism.com were great for me since they have small projects as well as big ones. Try a mix of doing small problems (ex. how to tell if a number is even or odd) and a few big projects (code an entire game of sodoku).
https://exercism.org/tracks/python/exercises
https://exercism.org/tracks/python/exercises
Luckily, it doesn’t all have to be solving coding problems out of a textbook. The beauty of code, and making things in general, is that you can think of some end goal / project and learn the skills along the way to get better.
I find this is better than just sitting and trying to memorize purely by listening to a lecture or reading from a book, because you get to actually apply those skills in the real world. Thus, making the process less headache inducing and more enjoyable.
Why is this important:
There’s alot of competition in the world of tech and you want to be the best that you can be.
The best way to do that is to take in as much information as you can. And to practice it as much as you can so that it sticks in your mind. To become a good coder, you have to make coding into a habit and habits are built by doing something so much that it becomes routine, to the point of not even feeling like effort.
Muscle memory but for the mind.
Tip #2:
> read code
The more you see it and are exposed to it, the better you become at learning syntaxes, common errors, troubleshooting and debugging. Definitely go to stackoverflow.com to find plenty of code to read.
https://stackoverflow.com/questions
The BIGGEST part of this is to break a rule we have been taught for years!!
“Don’t use Google. It’s cheating”
In the world of coding, we live by the exact opposite of that!!
Google is your friend!!!
There are so many languages, frameworks, new releases, updates, and different solutions to a problem, that there is no possible way to remember every little thing. Let alone stay up to date with it all.
Unless you have a photographic memory and dedicate literally all your time to it.
When you are confused, look it up.
Whe you want more detail about a function, look it up.
Hear about a cool new technique, look it up.
Want to learn something you saw froma cool project, look it up.
There are also many books you can read that have both explanations of coding as well as plenty of code in them. Here are a few recommendations:
Why is this important:
Learn by example.
Learning theory is good…if you are aiming to do research and write papers. But coding is an active sport.
Many champions become champions, not only by perfecting themselves, but by watching and learning from other champions.
Taking the time to look at other code will teach you ways to make yours
- more readable
- cleaner
- more concise
- less reptitive techniques
- teach you how to find errors faster
Tip #3:
> share code and/or collaborate
Connecting with and sharing projects with others is a great way to see things from a different perspective. As well as, in coding for a company, you usually are in a team. Sites like github.com and linkedin.com can help with that.
https://github.com/RobotGyal?tab=repositories&q=&type=&language=&sort=stargazers
You can even use social mdia sites like Instagram where you can post images or screen recordings of things youve worked on and connect with others that do the same.
Use these places to upload your code for others to see as well as connecting with people that do the same.
Even more importantly, use these places to connect with others and learn how to collab on projects. Whether by suggesting revisions to bugs or even deciding to work together on a full project.
Why is this important:
Many believe the stereotype of coders where we are sitting in a dark server room alone just coding our lives away.
Thats not always false.
But, most likely, if you are going to work for any big company, you are going ot work in a team. You might be one of many people working on 1 project, even then same feature on a project. It is crucial to know how to share ideas and talk about concepts in a way that makes sense for everyone and know how to compare/contrast different ideas.
Even if you freelance or work independently, this is a good way to learn how to present data/results, talk to people who both do and don’t know tech, and generally give you crucial soft skills.
Plus the added benefit of simply sharing your cool ideas and creations with the world!
Tip #4:
> build a portfolio
Sell yourself!!!
No one is going to do it for you!
Many industries have version of portfolio. Showing examples of their work or putting in a certain amount of hands on time (like clinic time for aspiring doctors).
Even in medieval times, swordsman would go to a certain Blacksmith based on the quality of work that they have seen from them.
Have you noticed how many job apps say “X degree or X amount of years experience”?
The portfolio is the cousin of the years of experience.
It is the way in which you can show what you know and how skilled you are.
If you have websites, launch them and share the link. If its pure code, put in a github repo and share your github. Or, in general, you can use sites like Wix or Linkedin to upload your creations.
http://www.aleiaknight.com/portfolio.html
Why is this important:
While degrees and certifications are often preferred, many companies are adopting a more experience leaning model.
Don’t just show your papers, but show off your actual skills. Do data analytics projects using real world data, build and launch sites, do projects on current events, and just generally show that you are actually capable in reality vs on paper.
At the end of the day, employers and clients want to hire the best person for the job. If you are able to show that you have the knowledge, skills, and capabilities for the job, then you are likely to get it.
Look at the type of work that is done at companies/roles that you want and try to center your projects around the same thing.
For example, if you are looking to become a Software Engineer at NASA, look into whatlanguage they mainly use and make a project with that language using public NASA data. Who knows!! Maybe you’ll discover something cool before getting hired and they will seek you out rather than you applying to them!!!
What are some processes and techniques you have used for learning coding and getting into tech? Let me know!
For want more detailed insight, connect with me on LinkedIn or Instagram.