DEV Community

Cover image for What’s the Key to Successful Coding?
Erin A Olinick for CodeNewbie

Posted on

What’s the Key to Successful Coding?

When it comes to coding, what's more important: having a solid foundational knowledge or an aptitude for problem solving?

Without a strong foundation in programming concepts and theory, it's difficult to solve complex problems. Of course, you could argue that practical problem-solving skills are more important, and that knowledge can be acquired as needed.

Chris Pine says:

Programming isn't about what you know; it's about what you can figure out.

What do you think? Share your thoughts in the comments below!

Top comments (4)

brense profile image
Rense Bakker

It's probably both... To a large extent, you can learn problem solving as well, but having an aptitude for it will help. However, over the years I've come to the realization that the most important skill to develop is staying humble and willing to learn. I think that doesn't just apply to coding, but to any professional field.

The most difficult thing I'm still struggeling with, is how to stay motivated in this industry with all the egos, the toxicity and competitiveness. There's a lot of great people in the industry, but also a lot of not so nice people. Sometimes it's hard to stay focussed on the good.

wynandpieters profile image
Wynand Pieters

Like with most things in software...

say the line bart meme - senior dev it depends

Memes aside, in my experience I've found it's easier to teach fundamental and foundational skills than problem solving, so I'd say people who are naturally more inclined to problem solve well will be more "successful".

On the flip side, there are tons of development work that doesn't need you to solve complex problems, and just having good coding skills is enough, and for those jobs people who want to solve problems will struggle. So having that skill is only a benefit in the right environment.

You really need both. I just think one is easier to acquire as needed.

chiroro_jr profile image

Both. A strong foundation needs to be built before you can start to problem solve. But you need to be careful when building this foundation. Too many people get stuck in tutorial hell all in the name of learning the fundamentals. I think as soon as you understand how something works start building with it immediately. Once you have the fundamentals you can learn the rest as you go. It's scary I know. But you can never know everything. The more you delay building and problem solving because you want to know this and that, the more it will hurt you. I think that's also what causes imposter syndrome sometimes. As a dev you look at yourself and realize you started coding a long time ago but don't have anything tangible to show for it. Sure you know this language and that language, and maybe you've built a couple of Todo lists. But that's not enough. Confidence comes with experience. Give yourself proof that you can do this as early on as possible so that you are confident in your capabilities.

In summary, learn the absolutely important fundamentals first and see what you can build next.

I hope this is a useful addition to the discussion. Thank you.

jwilliams profile image
Jessica williams

The key to successful coding is a combination of several factors, including a deep understanding of the programming language, attention to detail, strong problem-solving skills, and the ability to write clean and maintainable code. It's also important to stay up-to-date with the latest technologies and best practices in software development.