3 ms·
I think this is a great interview question if you want to know how well someone can write an algorithm. However, software engineering is so much more than writ
by nuancebydefault 4y ago
I think this is a great interview question if you want to know how well someone can write an algorithm.
However, software engineering is so much more than writing code to solve a well specified problem.
- oftentimes, the problem is not well specified. The engineer needs to find out what the problem specification really is.
- In a lot of cases, a solution already exists publicly. The engineer needs to find documentation or code that solves the lecified problem or a similar problem. Usually somebody has already thought about optimization of this type of problem and has documented it.
- Often, a feature needs to be added to an existing codebase. Often a similar feature already exists in the codebase and the new feature can be implemented in a similar way. The engineer needs to find the similar feature and has to figure out how to generalize or adapt it into the new feature.
- A lot of times technical debt needs decreasing. This involves understanding feature implementations or models/paradigms in an existing codebase, understand how they are inefficient or needlessly complex. Creativity is the trait mostly needed in this case to address it.
- often new APIs need to be made, needing modeling and documentation. Also often existing APIs or newly imported libraries need to bevused to tackle problems.
- Above points address the purely technical skills. Non-technical skills are just as important. Communication, teamwork, prioritization, time and stress management, customer relations,...
Tldr - this great interview question targets just one aspect of the job.