Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

This is a huge problem with a lot of discussion about software development practices. Software spans an astronomically huge realm of scales and varieties, yet so often we talk about it as though it's a monolithic thing. As if you could talk about bacteriophages and pachyderms or cap guns and moon rockets in exactly identical terminology without any loss of fidelity in describing either.

It is very true that software development techniques and practices should differ, perhaps even greatly, depending on the nature of the project. It's most important to be able to have the experience and knowledge necessary to know when and where to use one technique over another rather than to just be a mindless sponge of advice.



I agree. But are teachers in K-12 aware of this when doing CS? I'm afraid they inadvertently enforce monolithic thinking in the youngsters.


I don't think K-12 is the problem here. Usually the problems I'm teaching are trivially small (find max of a list, etc). The only other CS class we offer is the AP class, and it's taught to the test - but it's an algorithms and data structures class, not a software engineering class.

It seems to me like the problem is at the college level. My school offered just one software engineering class, which taught one monolithic method of developing software. A couple of semesters developing different types of software using different methods of development would have been nice.


As much as I love to rag on education, psychologically you have to be of a certain age to really get nuance at all, and no amount of attempting to jam "nuance" into a fourth-grader's mind is going to work, no matter what you do. Monolithic, rigid thinking is endemic to pre-formal-operational humans (to borrow Piaget's terminology and to give you something you can google if you like).


Or what about the businesses? Certainly not all programmers can be amazing at smashing out good enough work and others can be good at some deeper long-lasting design.

I think there is an expectation that a 'seasoned' developer can be good at all types, but often that's not the case.

We certainly need a mix of both, and they absolutely need to get along (to some degree).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: