How to start down the path of the programmer?

in #programming7 years ago

One does not simply become a programmer.

The journey is long and hard. It's not for everyone. There are many prerequisites you would need in turn to become a proficient software developer. Most important of all is to have grit. No amount of talent can replace hard-headedness and raw willpower of getting to the goal you set for yourself. In the end, nothing else matters. Achieving your personal goals is what we all strive for.

However, you need to want it, you need to want to learn. Programming is a constant state of learning new technologies, practices, style guides and languages. Damn, I've been working as a software developer for two years, and every step of the way was a path of learning new things in order to finish my work! Hell, I'm currently in the process of learning MongoDB as it's a work requirement. Now you're wondering why I'm even telling you all this. It's simple. If you want to become a programmer, you need to be a nerd. Don't get me wrong here. What I view as a nerd does not match the stereotypical view of nerds in Hollywood. A nerd for me is a constant learner, someone who never stands still, always looking for new ways to improve upon himself/herself. Be a nerd! There is nothing wrong or embarrassing with being a nerd. I'm a nerd, and I'm freaking proud.

Now, when I've grabbed your attention...

I want to help you. I want to take you on a journey. Join me on the path to becoming a programmer. Of course, only if you have the grit needed to follow along. You need to want it.

I'll take that you are interested if you've read this far down the article. I'm glad you did.
Let's jump right into the belly of the beast. Here's a roadmap of what you need to reach your goal.

Intro to Programming

You need to pick one programming language to build your core understanding about programming in general. The core concepts of programming are pretty much universal for all programming languages. If you will be following my tutorials, I'll be using JavaScript, as I believe it's the most beginner friendly language out there. Additionally, JavaScript is the future, as many believe, all web applications that haven't been written in JavaScript will one day be written in JavaScript.

Algorithm Scripting

When you have understood the core concepts of programming and your language of choice it's time to put it to use. This part of your learning has less to do with the syntax of programming you will learn in the section above, and much, much more about logical thinking and problem-solving. A programming language is only a tool, it's still your brain that needs to be trained to solve problems. The brain is a muscle as any other, if you do not give it proper exercise, you will never prevail.

Start building stuff!

Start building immediately, it does not matter how little experience you have. Nothing compares to the actual creation of something productive. The experience one gains from building a concrete application with a set purpose is exponentially greater than only hacking away on some predefined examples and tutorials.

Learn about general software engineering

The language you write code in is only a small part of being a software developer. The big picture is, in all it's magnificent glory, massive. Too massive to even try to explain in one sitting. I even tried to explain this to a friend, long story short, after 2 hours of me talking like crazy, he couldn't wait to go home.

However, it's not that hard to partition into bite sized chunks.

  • What are servers?
  • What are clients?
  • What's a database?
  • What does the concept front end mean?
  • What does the concept back end mean?
  • How does one link the front-end to the back-end?

That's it!

Well not really. It's a rough estimate of what one would need to start down the path towards enlightenment, on the journey of learning how to write code.

That's more than enough for today.

Hope you liked my rough roadmap of what it takes to be a programmer. All of what I write are my own experiences, many of which are rough as I have had to fight my way through this journey. Being a self-taught developer has shown me the beauty of open-source and the spirit of helping others. Hence, why I teach people how to code. Hope you guys join me on this journey. I'll be writing stuff regularly, for all experience levels, from beginner to advanced.


Hope you guys and girls had as much fun reading this article as I had writing it!
Drop an upvote if you liked it, share if you believe it will be of help to someone.
Follow if you want to read more.
It means a lot to me.

Feel free to suggest interesting topics you would want to read about in the comments below.

Sort:  

Nice post! 👍 I started with FreeCodeCamp myself and now work as a dev.

Congrats! I was already working as a dev when I stumbled upon freeCodeCamp. It was eye-opening to say the least. It has made me step up my programming game significantly.

I think the best motivation is working on cracking a particular problem in your code. And for that to happen, just start with coding.

Every journey starts with taking the first step. Do or do not, there is no try.

Definitely. Never be afraid to jump in headfirst.

Nice post bro, this is how you do it ;)

best wishes from crypto.ba

Thank you! Welcome to Steemit. E nek si se vala pridružio raji ovdje. :)

I'm currently in my 3rd year of studying applications development and I still feel like I know nothing.

Dude, I'm working full time as a dev, and part-time as an educator, and from times to times, I still feel like I know nothing. It's perfectly normal to feel like that when you step outside your comfort zone. The only thing you need to do is to get used to constantly having to learn new things.

I know the feeling too. Came straight out of school, started working, and I felt like an idiot in the first month. The working world and school are totally different.

Thank you @teofilex11! Drago mi je kad vidim raju iz naših krajeva. Pozdrav iz Sarajeva!

Great content man, keep it up! I want to read more from you

Thank you! I'll make sure to write more.

Very nice article @adnanrahic. Keep up the good work

I started with assembly language 54 years ago, retired now. I agree with most of your points. An interest in details and problem solving are key. My best advice when you can't figure out what to do, divide the problem into two pieces. One will be simpler to understand, and easier to do.

Exactly! Damn, 54 years. I don't have to say anything more. I should be listening to you. You are my father's age. I'm really glad you liked the article. Hope to hear more about your stories about programming back in the day.

My programming skills were completely self taught. I attended 2 years of college and dozen or so employer provided training. I learned the hard way that if you look over a program and have trouble figuring out what it does, then there are not enough comments.

Guess I'm going down your footsteps. I, as well, only went to college for 2 years, and am self-taught. Getting a job kind of was more important. But I must've gone through hundreds and hundreds of hours of online courses. I'm actually enrolled in three courses at the moment. Two of which I need for work. Education is never-ending for us programmers. That's why I tend to share my knowledge. Would you ever be interested in speaking at a meetup, about your life story and the way you became a programmer? I host a small study group in my town, and the guys and girls would love to hear something inspiring. Especially from someone of your calibre. :)

At 73 I have Parkinsons and can't do as much as I would like. What city/timezone is your meeting and how did you envision my participation? How long would the talk last and what specifically would you/they want to hear? Programming techniques/career summary/messing around in memory of disk file structure/assembly language exploits are examples.

Awesome that you're already listing interesting topics! Any of those would be great. Whatever you feel most comfortable with, and what you believe newcomers to programming would benefit from hearing.

But of course, I also wouldn't want to be a nuisance to you, and your free time. The length of the talk is totally up to you, it does not at all need to be strenuous for you, 20-30 minutes is some rough outline we usually go by. My timezone is CEST which equals GMT+2, hope that's not too far away from yours. A simple Skype call or Hangouts call would more than suffice. I can organize a quiet enough classroom for everybody to hear you just fine.

Please send me a message through the Steemit chat so we can talk some more! My user name over there is also: adnanrahic

FINE! I'll start coding again!...but so tired...lol

A really educational post! Thanks for sharing!

Welcome! I'm glad you liked it.

'A nerd for me is a constant learner, someone who never stands still, always looking for new ways to improve upon himself/herself. '
That is the very best definition of nerd that I've ever heard--Thanks for this informative post. I am interested in learning more---
Following

Glad you enjoyed the read. Hope you're a nerd, and proud!

Coin Marketplace

STEEM 0.18
TRX 0.16
JST 0.031
BTC 63062.73
ETH 2687.13
USDT 1.00
SBD 2.54