DEV Community

91sameer
91sameer

Posted on

I think there is too much to learn in programming

I am confused there is soo many things to learn. I don't think I can learn enough to become a good programmer

Top comments (36)

Collapse
 
nicozerpa profile image
Nico Zerpa (he/him)

Hi! I have bad and good news (but the good news outweigh the bad news.)

On the one hand, you're right. There's lots and lots of things to learn. I've started learning my first language (JavaScript) when I was 13, as a hobby. Now, I'm 31 and I'm still learning about the language.

On the other hand, you don't need to know everything to be a good programmer. I became a professional dev at 18 years old. At that time, I knew far less about JavaScript and other languages than I know now, but that didn't prevent me from get jobs and build amazing things in my career.

Think of programming languages as tools. The more tools you have, the more things you can do. But you already can do many things with the tools you already have.

Collapse
 
theowlsden profile image
Shaquil Maria

Think of programming languages as tools. The more tools you have, the more things you can do.

Exactly. You use the tools to build something, but YOU are the one building it. It's more about building your critical thinking and your resilience to figure things out, than about learning something specific.

Collapse
 
sargalias profile image
Spyros Argalias

There is too much to learn, but the same applies in any industry. If anything, in programming, you can know far less before you can get a job (compared to a 3 year university degree).

In fact, a friend of mine started learning a few months ago and he's doing really well. He should be able to get a job soon.

My advice is to start learning only what you need. Everything else can come after. You don't need to know everything to be a good programmer. You just need to be good at a few things, such as HTML, CSS, SASS, JavaScript (if you're doing front end). Know the basics of some other things, such as git, security, accessibility. Make a small portfolio of anywhere from 1 to 3 projects (some courses go through projects as well). Then, you can start as a junior developer and keep learning from there :).

You still have to work hard though :). It takes many years to get good at any field.

Collapse
 
cariehl profile image
Cooper Riehl

I remember thinking the exact same thing when I started programming. I looked at all the awesome things other people had made, and then I looked at my simple "hello world" C++ program, and thought "there's no way I'll ever be that good."

That was 13 years ago, when I was in 8th grade. Now, I have an undergrad degree in computer science, and I've been programming professionally for over three years. And I still look at all the awesome things other people are making, and I still wonder if I'll ever be that good. But at the same time, I'm able to reflect on the past 13 years and acknowledge just how far I've come.

You're correct that the world of programming is massive, and it can feel overwhelming. That's also part of what makes it so enjoyable - there will always be something new to learn. Programming is a lifelong skill, and I'm sure I'll be learning new things about it every single day for the rest of my life. I will never know "everything", but I will at least know "some things". More importantly, I'll know "enough" to make some cool projects of my own, and then I'll learn how to make them even better.

Everyone's journey is different. As long as you enjoy programming enough to want to keep doing it, I guarantee you will find success. Even if your success looks very different from my success, or anyone else's success, that's okay - it's still success!

Collapse
 
siddharthshyniben profile image
Siddharth

Of course you can. It just takes time. (I started learning 3 years ago when I was like 10 and now I can call myself a "Javascript intermediate")

Collapse
 
codeboi profile image
Timothy Rowell

its me!!! timothy

Collapse
 
codeboi profile image
Timothy Rowell

SIDD

Collapse
 
siddharthshyniben profile image
Siddharth

Sorry, what?

Thread Thread
 
codeboi profile image
Timothy Rowell

oHHH u have the same name as my long-lost friend!

Thread Thread
 
siddharthshyniben profile image
Siddharth

Long lost friend, huh? I hope you find him/her (mostly him)

Collapse
 
macdevign profile image
macdevign • Edited

Yes, it can be overwhelming and one way is to focus your learning is to build own solution that can be developed over days not weeks. Apply 80/20 rule to learning whereby 20% or less of learning are really useful for your own project, so how do we know what is 20% is ? Simple, just get started to build solution (eg web application, desktop application , mobile app, macro ). When one focus on building solution, he soon know what is important and the area to focus on because he solving a real problem. Without a purpose, a lot of time is wasted for the sake of learning.

If one really want to learn something, learn by doing, building something useful, and the knowledge,experience and skill will then be developed along the way. Programming is not just one particular skill or language competency but many skills, (eg sql, unix tools, regex, xpath, css selector ) and all these can be learnt holistically by developing a solution.

Collapse
 
theowlsden profile image
Shaquil Maria

You won't become a good programmer in a day or a year. Being in this space means that you are willing to fail day in and the day after, but while failing you must be open-minded enough to learn from every mistake.

Don't be confused by the big stacks and all that is out there. Start with finding out what you want to do. From there research the basic. RESEARCH, not learn,. If you dive head-first your chances of getting confused increase significantly. Once you understand what are the steps you need to take (the basics of what you want to do), that is when you would want to start learning something.

The bottom line is you do not need to learn every single thing to become a good programmer, even software engineers that have been doing this for years are still learning every day. Just take one step at a time.

Collapse
 
egilhuber profile image
erica (she/her)

Programming is kind of like medicine that way - there's a LOT to learn, so you only really learn what you need to. From there, you learn how to find information you're looking for.

Once you get the overarching concepts down (design patterns, oop, clean code, etc), putting together quirks and specifics of individual languages isn't that bad. If you know how to do something in one language, you can then use that knowledge to hunt down how to do it with a different language (or find something better!).

I'm going to assume you're a beginner with no roadmap. There are tons of resources out there to help you get started. I'd recommend figuring out what type of development you want to do (web, backend, gaming, etc), maybe find a stack you like (i.e. MERN), and start hunting for "beginner roadmap for [what you want to learn]".

Remember, we all started with Hello World.

Collapse
 
jonahgeek profile image
Jonathan Mwebaze

You need to understand that it takes patience, commitment, and practice. There are a lot of ups and downs, that's the truth. But every great developer once didn't know how to link stylesheets, but guess what, they kept trying every day and some day, they knew how to develop an entire website. Just practice and stay committed. The day will come

Collapse
 
andreidascalu profile image
Andrei Dascalu

That's why nowadays it's hard to be a true "full stack" dev. Nevermind that this concept applies just in web development (you also have desktop development by that's not really part of full stack, is it?) nowadays even the classic parts of full stack need to cover more and more.
As a tech lead/architect there's nothing more annoying that encountering devs who think development is just about writing code that accomplishes a requirement.

Collapse
 
redhap profile image
HAP

Don't get discouraged. There's a lot out there, yes. But as many of these fine folks have said, you will not attain mastery in a day, a month, or a year. True mastery is to be able to pass on what you have learned to others while still continuing to learn and improve.

Anyone who sits back on their laurels and says "I am a master" without constant nurturing of their skills and craft is someone you don't want to stick too closely to. I'm on my way to being 51 years old and I've been in the business since 1992. I have a lot of experience, but I also have enough perspective to realize I still have a lot to learn.

With the right attitude, this is a challenge that will open up a careerlong/lifelong journey for you. There will be ups and downs like anything, but it will be rewarding.

If I have any "real" advice for you, it's this:

  1. Learn the basics. Frameworks and paradigms come and go (especially in UI).
  2. Learn how computers work. The C programming language is great for that. This will help you understand why some things work better than others and when to use which.
  3. Do some soul-searching about what type of work fires you up. Is it data analysis? Mathematics? Game programming? Networking or OS components? Distributed applications? This will definitely help you narrow down the types of study, language tools, concepts, and companies you should be studying.
  4. Once you figure out these types of things, the last thing I heartily recommend is to get internships or network with programmers and user groups. Seek advice and knowledge wherever you can.
  5. This can get all-consuming, if you're not too careful. Be sure to take time for yourself and personal interests. People who code all the time can burn out and eventually hate what they are doing. Don't fall into the trap of comparing yourself to others based on time spent coding.