Что должен знать разработчик программ вообще и для *nix систем в частности? Посоветуйте хорошие книги о методологии (как писать хороший код и т.д.), языкам программирования (C, C++, Python). А также направления для практики (какие программы под linux надо написать).