I told myself when for the fifteenth time in last two months, I received that message — Yes! The one, where a young developer was confused — confused about which programming language he should NOT choose!
I had to leave whatever I was up to and write this blog post. My sneaky-self took control — now who doesn’t love an opinionated piece once in a while.
When you are all young and energetic, you feel this urge inside you, the one which keeps motivating you to do more than you already are. More often than not, you end up doing nothing at all.
Sometimes it is because of the little perfectionist, who lives inside us when you think like — maybe I am doing it wrong, I could do more, I should do more, I should do it better, hell why not I do it in the best way anyone could have ever done.
… instead of being productive and doing what matters … idea of Career-Choice and how it could make or break your future…
Well, let me break it to you, this little perfectionist is your biggest enemy. There is no such thing as perfection. You are human, and you can never be perfect though you can always be a better you. You can improve yourself, but to do that you have to try. You have to learn, experience, watch and then compare.
About a decade ago, I used to browse the internet via Dialup modem. It was the time when a 5Mb audio song could take up an entire night to download. Downloading video tutorials or making them was not really possible.
We didn’t have access to the amount of information we have today. There was no Udemy, no Tuts+, no Lynda. Learning process used to be pretty slow, and as much as we wanted to have more options, we didn’t have them.
Well, nowadays if you give it enough time, I bet you can find content on almost anything. Hell! you can even find articles where people teach you how to be productive and use your time to learn something new everyday.
Yes, every single day! Since there is so much content available, at the internet, that there is really no one stopping you from learning it all except for you yourself and the fear of what-if questions.
Nowadays instead of being productive and doing what matters, our younger generation is being fed the idea of Career-Choice and how it could make or break their future. Internet marketers and affiliate bloggers are more interested in selling their paid courses and less concerned about quality teaching.
What? Toxic effects? While it is good to learn a new skill and it’s true that learning it can make you rich or help you get the dream job, there is a hard reality packaged with this deal. That hard reality is confusion. By learning a lot of stuff without proper workflow and guidance, you don’t find the solution to your problem — which later leads to a never-ending state of being confused.
To sell their courses and earn a few bucks, these marketers have de-stabilized the young minds. The presence of so many options and the absence of an actual path to follow, which could lead to a successful career, has left the beginners in the middle of nowhere.
It makes me think if what when we had i.e. next to no options, maybe it was a better time than `learn-anything-you-want` age. While there is an argument about everything I said, facts remain the same and this confusion I am talking about is ever increasing.
Even I have had my fair share of this confusion. Which is why today, I intend to share what you need to do to become a better web developer.
Keep reading if you fear of choosing the wrong path and are confused in the sea of options! I am sharing what helped me become good at what I do and why I do it.
Perspective Is Everything#
If you don’t have the right perspective, about approaching a problem, then you might end up never solving it. Or even if you do solve it, you’ll feel like what I used to feel after correctly applying Laplace theorems.
If you’re still wondering what was the feeling like? Well, you are in luck, I have an example for you. So, the Laplace equations (which by the way I never ever used in practical life) were pretty boring. A normal question was like this:
— Question: If you knew there are aliens in your house what would you think of the pigeon at the roof of your neighbor’s house?
— Answer: Purple!
Got it?
Did you get the question?
No!
Did you tell the right answer?
Yes!
Do you know why?
No… No Shit!
So, if you are going to learn a programming language, you need to have the right perspective of stuff like why you need to learn it, what will it do, why and when would you need it?
What do you want to do? Do it, give it time, learn it, experience it and get to know the community. Learning a language for no reason at all, without a perspective is useless.
Myself, I learned about 20 programming languages before I got to know that WordPress was my thing. But when I knew that, everything made sense. Which means, I knew why I needed to learn PHP and then OOP in PHP and finally JavaScript.
Be Done With NOT CHOOSING!#
There is no such thing as not choosing to learn a programming language, a tool, or anything.
There are things that you think you’ll never need to know. That you may only need to know one time in your life, but that could save your life because you had that knowledge.
It is not easy to go beyond, what you have already mastered, but unless you do that, you are not phenomenal. Don’t let anybody talk you out of it, be it your next door neighbor or a teacher who might be so ancient in their thinking that they may not even understand it.
We live a good portion of our lives being someone else, being copycats! Well, they say, you can never be a good copycat, but you can be the best you. What reason can you remember, that can help you do things you never even imagined, that can make you get back up. Find that reason.
Listen to me, if it was easy, everybody would do it. There are people right now who are working who don’t want to work. There are people who hate their jobs, but they keep getting up to do it.
The question is what are you going to do with your time. What drives you. Greatness is a lot of small things done well. Day, after day. Workout after a workout. Obedience to obedience. Day after day.
So What Should I Do?#
I get you; this is an opinion piece, and we all have read a few that end up being motivational but provide no guideline. Well, not here! Not this one! I have something for you. But before you read any further, understand that there will be days when things will not work out for you, the variables which you could not anticipate.
When you learned a programming language or built a product just to find out no one really needed that. That language, that product is going to be a vital part of your success, stop running from failure but embrace it. Your failure will push you from where you are to push you where you need to be. Tell yourself “I challenge myself”.
See it’s easy to be on the bottom, it doesn’t take any effort to be a loser. It doesn’t take any motivation and any drive in order to stay down there on a low level. But it calls on everything in you. You have to harness your will to say I’m going to challenge myself.
So, what’s next?
Want to Be a Web Developer?#
Since I am a Full Stack Web Developer, I can only tell you what I have experienced so far. That too in a rough-sketch-ish way.
Start With the Basics#
- World-class HTML & CSS knowledge
- JavaScript & jQuery or a few more libraries
- One server back-end programming language with concepts of OOP — Object Oriented Programming (I opted of C++, but then after a year, I moved towards PHP (OOP) — PHP is 80% of the internet)
- How about WordPress? It caters 24% of the Internet. WP is the reason I started learning PHP in the first place
What Makes You Stand Out of the Crowd?#
- Build open source themes/plugins for free (GPL or MIT Licensed)
- Advanced knowledge of web technologies you use, may be via projects in your portfolio
- Use GIT, and Command Line is your friend; Sass is better if you know how to use it and automate your workflow with Gulp/Grunt, etc.
- An experience of working with individuals who are ten times more experienced than you are, esp. in a good organization/agency even if you are an intern, a small salary — support engineer, etc. can go a long way
How Long Does It Take?#
Once you are done with all this, which takes about 3-5 years, then you start wondering about topics like
- Can I build a product?
- After building one, now can I turn it into a business (I have failed 10+ times at this stage)
- Do I know architectural design patterns and RESTful API?
- What about Cloud, Scalable web with Amazon Web Services?
- React.js by Facebook and MVC JavaScript libraries like Backbone.js or Angular.js
- Advanced PHP (PHP7, HHVM with PHP FPM fallback) or Node.js and Meteor.js
- Entrepreneurship or an awesome job?
- Remote job or Corporate Office with restrictions?
Still confused! Here you go Confused about your career path? Read this!
When I stumble across yet another debate about which programming language is best
Ahmed Khateeb
Thank you very much for taking time and write this articles for newbie developers and students about to get into professional life.
I’m (or maybe was) the victim of this problem.
By this article, many other problems are getting clear to me.
The best part, you told your experiance, correct path/steps for becoming a Web Developer.
Thank you very much for this article.
Stay Blessed!
Ahmad Awais
I hope it helps :)
M Saqib Sarwar
Great read with many lessons, The best of all “Perspective is Everything” .
Ahmad Awais
@Saqib Thanks for liking it and for stopping by.
Ihtisham Zahoor
Let me first confess that i was gathering courage for past many weeks now to ask you for the guidance about the very same issues you tackled in this article. I don’t have words to thank you enough.
I understand that it takes time to be a good developer but let me be honest here, the amount of time you have stated in this article. Well, its little overwhelming :)
Thank you. This article has made my day :)
Ahmad Awais
Ihtisham, it good to find out that beginners found it useful.
Well, I have only written an average observation. It may or may not take that long. But to start caring about Advanced topics, you do need 5 years of experience.
Junaid Rehman
Thanks. Nice and informative article
Donna
I wish this post had been around several years ago. Thanks for writing this. It’s far too late in the game for me, but it will be useful to many, I’m sure.
Ahmad Awais
Hey, Donna!
It’s never too late. Give it a try!
Hassan Murtaza
I’m one of those beginners. Thank You Bro! Thanks a lot.
Ahmad Awais
Glad I could help :)
Hasnain Abid Khanzada
Thank you brother for such a awesome and informative article article.
I have one question:Could a developer can survive without knowing advanced technologies since technology is growing day by day?.
Ahmad Awais
I cannot say that anyone can. Tech is moving way too fast for people to catch up. But that’s where it gets interesting. See how far we have come in just 25 years since the first website was built. You start learning Angular and Angular 2 is already out. You just need to keep working. I would suggest you to contribute to any open source project and you’ll start learning a lot.