DEV Community

Cover image for 🔥 How to Pick a Programming Language/Framework to Learn in Your Own Way.🔥
Ayobami Ogundiran
Ayobami Ogundiran

Posted on • Updated on

🔥 How to Pick a Programming Language/Framework to Learn in Your Own Way.🔥

It is very common for beginner software developers to be confused about the tech-stack to learn.

At least, I was confused.

And I post this article to help you pick what to learn to help you avoid confusion to some extent. Below are steps to help you pick tech-stacks to learn in 2020 without stress.

1. Get Rid of All the Noise in your Head.

You have heard or read a lot of things that are affecting your choice.

PHP is dead!

Python is a bae!

Java is enterprise!

JavaScript is weird!

All these make it difficult for you to choose what to learn easily. So you are confused.

To reduce your confusion level, clear your head and empty your mind.

It is easier said than done but you have to do it anyway because it the starting point of getting rid of most of the common problems beginner software developers are facing.

2. Know Your Purpose:

Many beginners want to learn coding because of some perceived benefits. So, they are in a hurry to get the benefits but they are confused because they don't go about it the "right" way.

The first thing to do is to ignore those benefits and ask yourself:

why do I want to learn?

Is it to get a Job (work for companies) or make things (work for myself directly)?

Then, you will be clear about the next step to take. Even if you are not clear about your next step, don't panic because we have got you covered.

Keep on reading!

3. What "Platform" Do I Like to Work With?

It is very important to be clear about the platform you want to work with to be less confused.

Is it?

  1. Web
  2. Mobile
  3. Machine Learning
  4. Virtual Reality
  5. Security
  6. Or others.

Then Pick One "Platform" You Love.

4. Picking A Programming Language/Framework.

If I want to work for companies and I like to work as a web developer, the next move is to look for international, local and remote job's requirements.

Then look for recurring stacks with little things to learn.

Note the recurring stacks with Notion or Habitica. Just make sure you keep a record of recurring stacks. Then...

5. Going Specific:

You maybe confused because there are a lot to learn.

Therefore, I would ask myself again:

Is it possible to specialise to reduce the number of things to learn?

Frontend or Backend.

Then, check job's requirements for each of them.

Rinse & repeat.

6. Then Pull the Trigger:

Pick a programming language/framework you feel is widely used in your field or the one that makes most money based on your findings.

That is your choice because everything comes with it's downside.

So, be ready for the consequences of your choice.

7. Case Two: Working Directly For Yourself.

You will still use the same methodology but in this case, you may need to check freelance websites and have additional skills like selling, marketing, networking, emotional intelligence and all those business stuff.

8. After Picking Programming/Framework, What Next?

Stay connected here or follow me on twitter: Shakespeare of Code

One more thing

Are you having difficulties to learn and understand JavaScript and build projects with it? JavaScript for a Total Novice teaches JavaScript and Project Making Fundamentals with simple illustrations and examples that make everything so easy. You can now handle any difficult projects without fear.

Don't trust me, get a free previous to judge by yourself: https://bit.ly/3o3TMyg

Discussion (18)

Collapse
matthew_s_brown profile image
Matt Brown

If you are truly new, part of figuring out what you need to learn is where you can get that education. If want to build for the web, you can do that via being self-taught. You can aim for just learning HTML, CSS, JS(w/Node.js and Express), a database, and be fine. If you want to do something more science driven, ie program rockets, you are going to need to look at getting a degree in computer science.

Collapse
ghost profile image
Ghost

Because of 3. I usually recommend Python, when starting is difficult to define a platform to aim for; you are new after all, what do you know, I started with an idea and not long after I found other areas where more interesting for me; with Python you don't have all the bases covered, but almost and it may not be the best choice for some application but is never the worst either. And also is easy to learn, easy to write and most important easy to read and there are an incredible abundance of documentation for all levels from books to tutorials, blogs and courses, etc.

Collapse
codingnninja profile image
Ayobami Ogundiran Author

Great! Thanks a lot for the input.

Collapse
afzalgogda profile image
Afzal Gogda

I think C language will good for beginners. As a basic language, C is too good and easy to learn and helpful to learn other languages. So, I prefer to go with C in beginning. I am working on PHP from last 4 years. I have started learning C before my career started in PHP.

Collapse
heartyhardy profile image
Charith Rathnayake

I'd say Go. It's modern, fast, secure and concurrent. Rust is another great choice. Also, learning C gives you a strong foundation so that's always a great choice when you're a beginner.

Collapse
skillitzimberg profile image
Scott Bergler

I'm new (a little over a year coding, 6 months of it working a freelance gig). I was exposed to Go early on due to my bootcamp internship. I really like it. It is easy to read and if you can't find a Go solution Python is pretty close reading-wise. It forces you to think about where your variables are stored (via pointers), handle errors at every point (it can be verbose, but you can write helper functions to minimize this).

Collapse
codingnninja profile image
Ayobami Ogundiran Author • Edited on

There are so many choices and that is why beginners have to be smart about picking what to learn not be too confused.

Thanks for the input.

Collapse
kickbuttowski80 profile image
Izak T • Edited on

nice article thank you
in these days, I believe in learning and practicing fundamentals rather than jumping from what is hot or what is dead. when I became advance enough to see the difference, I'll choose learning something else. In these days, I do ruby and ror. all these languages are just the tools. if you don't know how to use a tool, you will not know how to use others. for not professional programmers, I believe learning the fundamentals like algorithms, design patterns, and testing are more important

Collapse
codingnninja profile image
Ayobami Ogundiran Author • Edited on

Thanks! I am glad you like it.

Collapse
namsfromharlem profile image
Namkell

I like JavaScript... and React..lots of libraries

Collapse
codingnninja profile image
Ayobami Ogundiran Author

Ok...It is great you like JavaScript. I hope it is serving you well.

Collapse
tetsuoii profile image
tetsuoii

Learn C. It's the real deal. Not for lamers though.

Collapse
codingnninja profile image
Ayobami Ogundiran Author

Yeah! We all somehow feel the programming language we work with is the real deal.

Thanks for the comment

Collapse
ghost profile image
Ghost

Refer to 1. C is as "real deal" as Python, PHP, JS, etc. All depends of what you are trying to do with it.

Collapse
rossholloway94 profile image
Ross Holloway • Edited on

I work full-time with Java. As much as I would like to expand my horizons, when it comes to having time off, I usually feel like programming is something I don't want to be doing at home.

Collapse
osde8info profile image
Clive Da

FINALLY someone is not afraid to publish the TRUTH

"PHP IS DEAD" - long live "NODE"

:)

Collapse
codingnninja profile image
Ayobami Ogundiran Author • Edited on

Do you have any contribution or substraction? Please comment to express yourself. I really appreciate it.