-
Know what you’re getting into
-
Figure out if this is right for you
-
Learn a programming language
-
Build something
-
Reevaluate if its right fit
-
Keep learning
-
Have Fun!
Anyone looking for guidance on what programming is and how to get started will be faced with some of the the general ideas that float around the community which are “you are a programmer” or “your simply not”. Since this is some of the general ideas that go around in the programming seen it seems to turn off some of the new programmers, and one can see why. Let me be the one to tell you programming is not easy, and if you find some one that tells you programming is the easiest thing in the world then they are not an expert.
An expert is a person who has made all the mistakes that can be made in a very narrow field ― Niels Bohr
Let’s take a closer look at what is programming? The entire point of programming is to tell a computer what to do. So it comes down to, can you command your computer to do your bidding? Here is where the ego comes into place, YES! male human -“oh computer make me cup of coffee” computer – “Coming right up sire”. This can not be stressed out enough if you are not good at giving commands in the real world then programming is going to be even more of a challenge to get started with. This is where being bossy really pays off! But as a programmer it’s better to call it “attention to details”.
Learning to program is relatively easy with great free and paid resources available but here is a bit of a warning sign to understand. Programming is time consuming! There is no way of getting out of it. The best example that can be related is of a math problem or writing a novel. Some parts of programming can take hours on hours to figure out and to add on to this entire thing it could end up being that one single tab was off (python). Just like a tedious math problem that takes hours to solve then getting the wrong answer because one of the signs got messed up along the way. Be ready to spend hours in front of a text editor trying to figure out that a ($) sign is missing(PHP).
Needless to say it will take courage, persistence and most importantly determination in order to become a programmer. It’s not all sunshine and roses with a large salary.
“You get it” or “You don’t”. Making the decision to make programming a career requires a large shift in the thinking of what has been done in the past and what the future would look like. This is why people that are older tend to have a larger learning curve when learning programming. “But I have always done X” if the shift is happening in your current profession over to programming, letting go of X can be challenging and it must be done before something new can come into reality (programming).
Once that barrier is removed go over and take a personality test. This is just a rule of thumb and it should give you a bit of window into the type of personality you have, because if the personality that you have does not match with that of a programmer, well inner conflict will arise.
What to do if my personality is not of a programmer?
Don’t give up! If the role you carry is that of a project manager, or of a CEO and understanding programming is vital part to what you do. Then the sacrifice must be made (consuming resources) take a deep breath and get ready to learn an amazing way of thinking.
I got what it takes! If you fall in this bucket, one you are extremely young 7-13 years old or you are a veteran in some profession that requires the same traits that a programmer has. This type of careers are musicians, mathematicians, scientist, or a strongly analytic profession. In the other case of a young programmer 7-13 years old then you are in great shape to start learning programming since you have no clue of what programming is. From personal experience it’s much easier to learn programming if you have no idea how a computer works because you don’t come with limits into the abilities you can create for example creating recursive calls might be a scary thing since you don’t want to cause damage to your computer with a stack-overflow, but if you are naive of this happening you will fall in love with recursive calls , by the way this is how we count naturally.
The debate of the decade, be glad that I am about to share with you the best absolutely most amazing first programming language to learn. This language is so amazing you might just like programming after all. Well here it is.
IT DOES NOT EXISTS!
The challenge here is not to get to religious about the first programming language to learn. The take away is to just start learning, I know that this sounds counter intuitive, but trust me. Now the complete guide to choose the first language
JUST PICK ONE IT DOESN’T MATTER!
If it’s java, php, python, C++, or ruby. The decision is made to use that programming language NOW STICK TO IT! No matter what this is where you can get really religious about it, do not leave the chosen language to go learn something else until the fundamentals are down. This includes basic logic control, understanding of OOP and data structures. If you where to take this classes in college it would be about the first two years of college (associates degree) most likely taken when you are a freshman and a sophomore. Let me repeat this DO NOT LEAVE YOUR LANGUAGE it will cost time and lost effort since you have to learn new syntax and ways of doing things in a different language. This is why university tend to stick to one main language like java.
If you could do all over again what would the language be? If i could rewind the hands of time, I would personally go with the online route of MIT open course ware. I have taken some of the classes in the past, and they are well put together by the folk in MIT. Don’t get lost in the world of math in this courses though for the first language I would personally go with Scratch it’s a super simple language that would only take a couple of weeks to get a large amount of the fundamentals down plus if you out grow the language you move right over to it’s brother for creating mobile apps the APP inventor.
Now that we got a language it’s time to start building. Here is where a huge road block starts for new programmers, what to build? To be truthful IT DOES NOT MATTER! What does matter is that you want to program it, this is such and important part when I first started programming I built silly programs for example the program would ask whats your favorite color? Then it would reply “That’s lovely color {#nameOfColor}”. Don’t worry so much if the programs are not super complex using more advance skill sets like design patterns and multiple classes just KISS (keep it simple stupid) and it all will be fine. Get excited about your creations share them on twitter, with friends and family after all you worked hard in creating them. The last part is to take pride in your creations, ways to do this would be to print out your programs put them in a binder and show them off everywhere you go and keep them in a safe place, add comments and criticize the code.
At this point, you have built a couple of programs know a chosen language and are fairly certain that basics are down. Now this is where start-ups make the “pivot” to keep doing what they are doing or go a completely different route. Don’t beat your self about not liking programming (many non programmers do this) just simply take it at a face value of what it is. But if you are having a blast creating all this applications then you are well on your way to that great job that awaits you.
A great programmer needs to understand in order to stay relevant in this highly competitive field a constant learning and growing needs to happen also don’t forget to share solutions with the community that you will become part of and help new programmers as they arrive. Don’t get to cocky! Good programmers know when to say they can not do the job.
A programming career can be one of the most rewarding funnest accomplishments that you undertake in your lifetime. So have fun! don’t take every single project to series joke around with your coworkers. Brake a couple of opensource projects, Fork off to different possibilities, improve your tools, but most importantly CODE.
Till next time
-Rick H.
I always had a passion for the field of STEM (Science, Technology, Engineering, and Math) and I knew I wanted to do something to make a difference in the world. I just didn’t know where to start. I was an immigrant in a new country, grew up in a tough environment, and wasn’t sure how… Read More