4 ms·
Biggest thing that needs to be taught as one of the fundamentals for software engineering is approaching problems with scientific method. Design, testing, and
by highwind 7y ago
Biggest thing that needs to be taught as one of the fundamentals for software engineering is approaching problems with scientific method.
Design, testing, and debugging (which takes up more resources than writing code) require skill in forming good hypothesis and methodical way to test that hypothesis.
These type of courses should be designed more towards those skill sets than just learning to write code.
- cyberflunk 7y agoI completely agree with you! I have only been in industry for about 3 years now, and quickly learned that I would be spending most of my time solving problems and investigating large, complex issues. Do you know of any resources where I can learn more about forming good hypotheses and methodical way of testing? Maybe books or online courses, or is this sort of knowledge only learned through experience?
- rb808 7y agodisagree, here is a great talk about how Software is more about French Poetry than Physics https://www.youtube.com/watch?v=9LfmrkyP81M https://www.youtube.com/watch?v=9LfmrkyP81M
- sreque 7y agoI've actually been thinking at work recently that our work is very much in line with making and testing hypothesis. When we add code or edit existing code, we hypothesize that the program behavior will change in specific ways, and then we test those hypothesis via various means of manual and automated testing. I would actually add to the above though that I think it's important people learn to approach problem-solving from a mathematical perspective. Unfortunately, a lot of people that get into software engineering don't like math, and they would generally be averse to learning about software engineering this way, but I think a lot of bad code gets written because the person writing it didn't approach the problem with the right structure or rigor.
- chrisweekly 7y agoWhere you say "mathematical" I'd suggest "logical". Also, formal logic (Aristotelian, sentential, predicate...) is distinct from mathematics per se. Agreed that fundamental problem-solving skills are in too-short supply.