3

👇 Many people argue whether software engineers need to be good at concepts like data structures, algorithms, and system design.

Also, they think that companies should stop making their hiring decisions based on testing these concepts.

I think a basic understanding of all of the above is really necessary if you want to be a good engineer.

There can be a discussion on whether an engineer needs a mastery of the advanced topics or not.

However, a basic understanding of data structures, algorithms, and system design is essential for engineers.

Why is that?

I think overall; every software application has two parts:

â—‰ Data (Micro-level)
â—‰ Design (Macro-level)

Almost every engineer deals with both of these, depending on their role in the team.

If you're a junior engineer, you may not do that much on the design side. However, your most work would be on the micro-level, i.e., dealing with data.

If you're a senior engineer, you may work more on the macro-level, like designing the architecture, structure, arrangement of different parts, and other related stuff.

A good understanding of data structures and algorithms enables you to be good at manipulating data. So it will help you to deal with data efficiently, and you'd be able to make good decisions at the micro-level.

However, to be good at designing the architecture, you'd need to be good at dealing with different parts of the system on the macro-level. This is where system design principles help you.

This is why you need to understand the basics of both.

👉 Do you think engineers need to be good at data structures and algorithms alongside system design?

Comments
  • 3
    WRONG introductory. The first sentence should be "Algorithm, data structure and shit are fucking useless". Then you wait for a second.
  • 0
    Delete those emoji and someone maybe reads this.
  • 1
    You are thinking all engineers need to be architects too?

    You are focusing on a really small subset of software engineering and an even smaller subset of software development roles.

    So, yeah, you don't have the general understanding of how jobs work, good luck next time, we'll call you.
Add Comment