So the question is...
What does it take to become a person who codes?
This is the question I asked myself when I was in the middle of working on a clients website.
The client was asking me to change some things on their site that I simply did not know how to do.
I got my start with web design and just using pre built themes that already did the hard work for me.
But as a beginner I was still learning my way around so I didn’t know how to do the things they were asking me.
Sure I could add an image here or there and add some content to a page but when it came to things like...
repositioning an element somewhere else on the page or adding something they saw on another site and they wanted it on the one I was currently working on, I simply couldn’t do it.
If it wasn’t in the pre built theme I had to tell them professionally as best I could...
NO.
Not only because I couldn’t do it but I didn’t want to add the extra stress to my workload.
But really it was frustrating and that little thing was bothering me.
I wondered how these people who were making websites doing this?
I was interested and mostly frustrated because as a person with an inquisitive mind I like to know how things work.
Does anyone remember the show How Things Work, or shows that took you behind the scenes and show you how things were made?
I loved those shows because you got to see what it really takes to make that amazing thing or product.
This is where my search began and I took my first dive into the world of code.
I found out the thing that makes a website function, aka the code, and the ones were making the websites were known as web developers.
This was it!
I wanted to be a web developer and make amazing websites.
Then I ran into another problem…
What kind of web developer did I want to be since there are 2 types:
For a simple breakdown front end web developers work on the look and design of a website, in other words what people will see when they see the “Front” page.
The back end guys are working on basically the storage. How the data of this site is to be handled. Again, a very rough overview.
As you can see just from my explanation I prefer more of the front end work.
So that’s where I started my journey as a front end developer, but as I was learning the coding language which was made up of 3 primary languages:
Then more questions started coming to my mind like...
“Is it even worth learning how to code?”
Are there any benefits to learning how to code?
Then I found that the benefits outweighed my doubts and I have no regrets taking the time learning to code.
In fact, it’s made me who I am today.
That is why I want to share this list of some of the characteristics I believe anyone who wants to code, or become a coder, should learn and acquire.
Learning a new skill can be difficult in the beginning, but with time and consistency when you look back...
you will be glad you did.
This list may surprise you because the answers may not be what you think.
*Disclaimer - This post may contain affiliate links, which means I’ll receive a commission if you purchase through my link, at no extra cost to you.
Yup, the first thing to start learning is to simply have a desire.
Do you remember the story of Roger Bannister?
He was the first man to break the 4 minute mile.
Before then everyone believed it was impossible to run 1 mile in 4 minutes.
But Roger thought different, or should I say believed differently.
He believed it was was possible and he wanted to prove everyone wrong.
And guess what...
He did it!
Now I know you've probably have heard this story before, but I want to highlight something I think some people overlook when they hear this story.
Do you remember when I said I love the shows like How It's Made?
No one really points out the hard work Roger had to put in behind the scenes in order to get to his goal and his belief.
He had to get his body conditioned to his belief.
That means everyday he would set small goals to get to the bigger goal.
So every time he accomplished a small goal like running a quarter mile a few seconds faster, it meant he was getting closer to running a full mile faster until...
He did it!
Learning how to code works in the same way and is much easier than what you may think.
But it starts with a willingness, a goal, a belief.
If you start off with doubts then you're not going to get there, especially without a plan.
I know when people hear the term code they think only geniuses can learn how to code.
But I am here to tell you other wise.
I'm no genius, in fact, I failed physics when I was in high school but I was still able to learn this thing called coding.
I learned that coding is simply a language that speaks to a computer.
If you can learn the basic concepts and grammar, aka syntax, of the computer language then you can code...
Period.
So set a goal, create the path it takes to get to your goal and work on your plan consistently if not a little everyday.
When is the last time you stuck to something until you finished it?
How many new years resolutions have you said you were going to do and then a few weeks down the line you quit.
Not because you wanted to but you either lost motivation or you just got tired and skipped the gym that day.
The one day became two and then your friends invited you out and the gym kind of just fell off your priority list.
We all do it, I'm no different, but what makes some one more successful than another?
The key word is persistence.
How does anyone get good at anything in life?
Consistently doing something and practicing it until it becomes like second nature.
One of my favorite lines from one of my favorite movies "HITCH" was when Alex Hitchens first contacted the girl he was pursuing, Sarah Milas, with a walkie talkie at her job.
He was trying to ask her on a date, but every time he asked she kept trying to make an excuse to avoid him.
And then he responds like this...
"Do you know the definition of perseverance Ms. Milas?"
she says "An excuse to be obnoxious?"
he then says
"Continuing in a course of action without regard to discouragement, opposition, or previous failure".
I LOVE THAT!
Even though he was defining perseverance, persistence and perseverance are two words that are interchangeable with each other.
I remember growing up I always wanted to learn how to drive a stick shift car, or manual for others. I just thought it was cool and I feel like a real driver when I do, its just my thing.
For years I put it off, but one year I had the opportunity to learn and my friend began to teach me.
I was getting the hang of it but the real test was driving on the street in real traffic.
My friend offered to let me borrow the car for the day to get more practice.
I didn't want to because I was scared and didn't want the car to shut off in the middle of traffic, who can relate?
Yet, in order for me to achieve my goal I needed to be persistent and persevere in order to "master" driving a stick.
So I took my friend up on his offer and I'm glad I did. I can't lie, the car did shut off on me but I pushed through.
Now today my car is a stick shift and I love every time I get in and drive it.
But if I wasn't persistent in my pursuit of learning I would never have gotten here.
The same goes for learning how to code.F
When first learning how to code it can seem daunting, difficult, and scary but in your continuous course of action without regard to discouragement, opposition, or previous failure you will learn how to code.
And yes you will have moments when it feels like the car shut off on you in the middle of traffic, that's another stick shift reference.
But just start it back up and keep going.
The thing about coding is, sometimes it won’t feel like its second nature.
Ironic I know, but hear me out.
I can tell you from my experience and research that other coders, who have been doing this for years, have to look up something for reference at some point and time.
That is why there are so many resources out there online to help all of us out when we have those moments.
It truly is a community that helps each other out.
I can say this though...
If you learn to grasp the basics and the fundamentals you will have a much easier and better time coding.
Hint- most coding languages function off the same principles and fundamentals so knowing this will help to learn other coding languages.
Do you want to know how I got started learning how to code. And how I learned to prepare myself for a career in tech. Learn how I did it with the 3 BOOKS FOR BEGINNER CODERS >>.
To follow up with the idea of persistence, in order to be persistent at anything it takes practice...
But not just any practice...
Deliberate practice.
So what's the difference?
One of my favorite books that I read on this concept was called "GRIT" by Angela Duckworth.
The whole book was based on her research on the idea of this one characteristic that makes others succeed more than others.
She wanted to know was there something that was genetically given or can one develop grit.
As she does point out that some people are innately prone to have more grit than others she does state that one can develop grit intentionally.
She states that one of the things that people with grit and why they succeed in almost any endeavor they pursue is the idea of deliberate practice.
Deliberate practice can be defined as practice with the intent of getting better.
What this means is you're actually practicing to improve your skills and that means doing activities that pushes you to do harder activities until it becomes easier.
Once that activity becomes familiar to you, repeat the process in order for you to constantly make improvements and grow in a particular skill or goal.
There is some good content in her book as well as some ways for you to grow your grit if your interested in learning more about it.
Again, how do you get good at anything...
Deliberate Practice
Doing this consistently will help you to achieve your goal of learning how to code.
Think back when you first started to learn something. For example when we were learning our ABCs or how to read and write.
How many times did we sing our ABCs did some of the same exercises or different assignments to learn the same material.
Now we can talk without even having to think of how a sentence structure is made up, even though I still have to sing my ABCs when I don't know what letter comes after the other smh.
The same goes with code.
One mistake we always seem to fall into, myself included, was I wanted to create big projects beyond what I knew.
Yet, I struggled when it came to understanding simple tasks to make something like a function work, no pun intended.
Then I decided to step back and take my time to practice the fundamentals, and I don’t mean just one or two times either.
Actually what I really did was take one tutorial and I kept watching it over and over. Writing it over and over and over again until I could code the whole project by memory.
An example of deliberate practice.
After I finished the code and check if everything was working and compared my work to the tutorial, I knew I was getting the hang of it.
But something else happened while I was trying to remember the steps to the code...
I started processing what I needed next in the code for a function to work and I began to understand how specific elements operated together.
It changed how I saw and understood the code all by repeating this one practice tutorial.
I would recommend you do that as well with simple and basic code fundamentals and exercises.
It is said that repetition is the mother of all skill so continue your efforts until you hone your skills.
This is probably my favorite one.
In fact it should have really been number one.
The one skill every coder should know is how to be resourceful.
When I was in college I struggled for years trying to figure out what I was going to do with my life.
I was paying money to get an education but there was something they weren't teaching me.
How to create a life for myself, or at least how to get a job.
Nope, nothing!
It was then that I learned the hard way that no one is going to come and just offer you help because you need or want it.
You have to actively pursue your own self education.
What does this mean...
You have to ask the questions, do the research, read the books in order to get what you want out of life or where you want to be in life.
So when you get stuck at a problem and don’t know what to do...
Stop and think to yourself...
"What can I do to figure out this problem?"
Here’s a hint...
Look it up
This is where the saying comes into play “google is your friend”.
There is a wealth of information out there and whatever your question is someone has most likely asked it already.
Not to mention the coding community is very generous in helping coders of all levels...
From beginner to “masters”
A great site to use when you get stuck is the famous stack overflow.
Whenever you get stuck with a problem this most likely will be your best source to finding an answer to what you're looking for.
I know I have been there plenty of times to figure something out.
As someone who believes in the philosophy of mastery, here is something to think about...
True masters are humble enough to know they know very little and are willing to be taught regardless of their level.
So don't feel bad if you been learning for some time and you still feel like you have to look something up its ok, you will get there.
One day my friend asked me to help them move some things so I packed my things and headed over to their place.
On the way I called them to ask a question. I hung up and put my phone down.
I arrived to the spot and as I was getting out of my car it was then when I heard it.
The sound I would never forget.
PLOP.
I thought to myself "what was that?".
I looked down and it felt like everything in my soul just dropped.
On the floor faced down was my phone.
With everything I had I hoped everything was ok.
My phone had fell before and nothing happened maybe it happened again.
Unfortunately, not this time.
My whole screen was cracked.
Not only was my screen shattered but I felt like my soul was.
Reason being was I had no money to get a new phone or even pay the $150 to change the screen.
I had to figure out what to do.
I heard another friend of mine once say he fixed his screen himself before.
I thought if he could do it then I could learn to do it myself too.
Later I looked on good ol google and youtube and found a tutorial and then found a replacement screen on ebay for $20 bucks.
I was scared but I figured...
"Well, what do I have to lose? my phone is already cracked and if it really gets worse I'll have to fork out the $150 some how".
More like 5 hours later with a lot of sweat and determination, I did it.
It was then I learned that I was capable of solving problems on my own if I found the right tools and resources to get me to where I was going.
The number one attribute, or skill, that a coder develops is problem solving.
You maybe thinking to yourself "I'm not that good at solving problems", but just like the first time I fixed my cracked iPhone screen, I am here to tell you that you can develop this skill.
Not only can you develop this skill...
but the more you immerse yourself into the world of coding you will soon begin to see things that you haven't before.
You will start looking at problems differently.
I discovered this to be true for myself when I started learning.
As a disclaimer when I first started I didn't really think of myself as a problem solver, but the more I studied code I realized...
I am, I can do this.
For example, when you first start coding your going to get stuck as to why your code isn't working, aka a problem.
Now the question is...
What do you do then?
Well, you're going to have to figure out where the error is within your code that's causing the issue.
Then you're going to have to look, and because you're so smart you're gonna do like I suggested before and ask google.
Do you know what you're doing in that moment?
BINGO you got it, problem solving.
I overlooked this when I was first started to code, but when I look back I now know I am problem solving everyday...
and the beautiful thing about that is it carries over into everything else you do.
If you were to ask me what is the main purpose of coding, or why it was created...
I would say someone was looking to solve a problem.
That's it, coding is PROBLEM SOLVING.
I think when software was first created The forefathers of code stopped and asked themselves...
"How can I automate this task?
Basically how can I have the program work on its own without my help or very little if any.
That sounds like someone who is lazy, right?
They wanted to make life easier on themselves.
So begin to ask questions like this to yourself, "how can I make this automated or easier for me or someone else?"
Technology makes life easier for us, sometimes too easy lol.
But someone has to create it, why not you?
So there you have it 5 attributes that everyone who codes should have and can develop.
I knowing reading them they don't sound like skills but trust me these attributes that you can have and develop which actually contribut to developing a skill.
These skills are transferable as they reflect a person who wants to accomplish anything they want in their life.
Think of these attributes as the road map to reaching your goals.
You don't have to be a genius, but with the right tools you can be seen as one and in reality you are one.
It was said that a genius is taking the complicated and making it simple.
As long as you're willing to take a little bit of time along with some persistence you too can become a coding genius.
Anyone can learn to code and you don't have to be Mark Zuckerberg and create facebook...
If your code can help someone or solves someone's problem then guess what you have now officially become...
a coder.
Welcome to the Dev Crew.
Other posts you may like: