top | item 13155404

(no title)

rjain15 | 9 years ago

I would say if the programmer can show progression in coding, design and independently working on modules they can move up the junior, intermediate, senior ... ladder

discuss

order

Teichopsia|9 years ago

Then knowing algorithms and data structures would be intermediate -> senior?

phamilton|9 years ago

Algorithms and data structures are correlated but not causal.

Do they build things that work well and are easy to maintain and scale?

Rookies tend to make, well... rookie mistakes. N + 1 problems, O(n^2) algorithms, etc tend to creep in. This could be as simple as a missing index in the database.

Intermediate avoid the rookie mistakes, but design for the problem at hand. Their foresight is either lacking or they overbuild. Either way, new requirements often lead to being painted into a corner.

Senior developers try to minimize regret. They don't build unnecessary features, but they keep future requirements in mind.

This isn't an exhaustive description, but I feel it underscores why data structure and algorithms matter. Persistent data is probably the hardest to adapt to new requirements. Knowing how to structure data so that it can be accessed properly is a huge part of the difference.