3 ms·
The most important thing on your path to becoming a software engineer is building stuff, improving it, releasing it, and thinking how you can do it better. Havi
by mrich 6y ago
The most important thing on your path to becoming a software engineer is building stuff, improving it, releasing it, and thinking how you can do it better. Having been through the lifecycle of a piece of software from design to maintenance will also provide a wealth of experience.
I understand that it's popular to let people solve toy problems during interviews, and think that's ok for people coming out of university. However for more senior roles I would rather hand out a coding assignment. You can judge the experience of a developer much better by the way she/he chooses algorithms, considers corner cases, supportability etc.
- theptip 6y agoI strongly agree with this point. Most of day-to-day problems in software engineering / craftsmanship (i.e. the work most people are paid for in this industry) are not computer science problems, they are about the process of understanding your user requirements, iteratively improving your product, achieving and maintaining the appropriate level of quality, and the meta-cognitive skills around identifying when you just need need to fix a bug vs. step back and look for a way to improve your tools. You will get some transitive learning of some of these things if you do lots of coding challenges, but I personally found a huge benefit in my formative years from building a single full-stack application over many months, much more than solving simpler day- or week-long standalone tasks.
- decafninja 6y agoThe problem is more and more companies will not let you have a chance to do any of the above without first jumping through the fiery blazing hoops that comprise of solving the "toy problems" of a typical leetcode technical interview.