DEV Community

Discussion on: What are the key skills necessary to be a competent developer?

Collapse
 
mjsarfatti profile image
Manuele J Sarfatti • Edited

In my experience the single most important thing is to be able to see and understand the big picture. If you don't you might be the cleanest code writer on Earth but you'd write the wrong features, you might be the best problem solver but you'd solve the wrong problems, you might be the most detail oriented but you'd focus on the wrong details. It's harder then it looks, after ten years coding I still make the wrong decisions all the time.

Second to that, that there is no black and white, everything is nuanced, everything has tradeoffs. There is no one way of writing something, there is no best language or best library, there is no "single most important thing".

PS: I'm assuming we are talking about "hard" skills only

Collapse
 
jeky_zero profile image
Jeky • Edited

Very good points, I didn't, initially, think about it from this more systemic perspective. So it's a really interesting take you've put forward.

Just playing devil's advocate here, but do you really need to understand the big picture to be a competent developer?

Because what if a senior dev, or some other team member was responsible for the big picture, and gave you accurate specifications/requirements? And you pretty much just had to figure out how to implement it in the best way, or come up with a solution within strict confines.

In this sense I think it could be a really competent developer without necessarily knowing about the big picture.

Or what if you were working on a system that was simply too big/complex to understand entirely, and you could only code a small part of it?

And then, let's say, your fundamental skill for competency was understanding the big picture. If you couldn't problem solve well (for example) you might never be able to reach the end goal, anyway.

Whereas you might solve the wrong thing a few times just coding but eventually through iterations/trial and error you could achieve a sufficient outcome.

So it seems you can have some skills that are not 'big picture', and still get somewhere, whereas you you might not get anywhere with 'big picture' alone.

Obviously this is being deterministic to illustrate the point, because I'm looking to distill the most fundamental skill(s).

Having said all that, I do think 'big picture' is a very good one, and is very important.

I'm not sure of the answer, haha, this is why I started the discussion.

Collapse
 
mjsarfatti profile image
Manuele J Sarfatti

Well by “the big picture” I don't necessarily mean EVERYTHING. But you need to be able to look bigger than the tasks you've been assigned, for a number of reasons. Nothing is ever developed in a vacuum, not even the smallest of tasks.

Thread Thread
 
jeky_zero profile image
Jeky

Indeed, appreciate your responses Manuele 👍