>Хороший программист должен знать прежде всего информатику, нет не так, чувствовать информацию.
>Алгоритмы, железо - ваши взгляды устарели. Знать это безусловно нужно. Но этого далеко не достаточно по сегодняшним меркам.По сегодняшним меркам достаточно знать PHP. Ну или базово Java что неимоверно круто. То о чем вы говорите больше касается всяких Ынтерпрайзов и интернетов. И то на уровне архитектора/ведущего программиста. А так, обыденно, достаточно знать синтаксис и выполнять вполне рутинные задачи. Ну и шишек немного набить чтобы код в мусор не превращался.
Меж тем программистов для серьезных систем обработки данных (с одной стороны) и нормального embedded (с другой) становится все меньше. Не все можно подпереть готовыми фреймворками, не знаю уж к сожалению или к счастью.