Should we move programmers between rooms to group them by project they're involved in?I think that Joel is only partially right. If you are working on your own then you need a quiet environment and freedom from interruptions. If you are working as a team then you need to be able to have good communication between team members and to be able to collaborate, discuss issues as they arise, pair program, bounce ideas off each other etc. These are not distractions, they are part of your work.

Do I really need oop for my kind of job? After 10 years I think I don'tThe reason C# and Java programmers put everything into a class is because the language forces them to. For some situations this is useful, but for the sort of code you are writing it is probably just useless overhead. If you don't need it don't do it - and avoid languages that force you to do it whether you need it or not.