O intrebare foarte interesanta pe Quora.
Cateva din opiniile exprimate cu care rezonez personal:
[…] two different cognitive styles in software engineering. The person who is good at designing and writing new algorithms is talented at the most abstract topics like math but less good at dealing with large amounts of detail. The other cognitive style is demonstrated by what I call “integraters”. Those people are good at mastering the huge amout of detail necessary to put together many different pieces of software using a variety of programming tools - less abstract much more detail.
Good software developers are for the most part expert consumers of data structures and algorithms rather than expert producers of data structures and algorithms.
Good software developers aren’t “weak” on algorithms. They’ve just gotten over it. They don’t think it’s important. Because it isn’t. Algorithms are the kind of thing implemented by one person. Good developers know that very little real work is done by one person.
Entry-level developers tend to get quizzed more on the fundamentals because that’s all they probably know. It’s not actually very important to the job, but it’s the only experience they have to draw on.
De partea cealalta,
If someone is weak at data structures and algorithms, they can hardly qualify as a good software developer. […] You shouldn’t trust the opinion of anyone who downplays the importance of being strong in data structures and algorithms.
Great software developers are, by and large, great with algorithms—even if they don’t know a lot of the famous ones. Developing algorithms is so fundamental to what a software developer does that it’s difficult to be great at writing software in general without being great at figuring out the steps to solve a problem.