Прочитал [интервью](http://www.computerworld.com.au/index.php/id;408408016;pp;6;fp;16;fpid;1) [Бьерна Страуструпа](http://www.research.att.com/~bs/homepage.html) для австралийского ComputerWorld. В этом интервью ему задают вопрос: > Do you have any advice for up-and-coming programmers? Мне кажется, ответ на данный вопрос формулирует то самое, к чему должен стремиться любой программист. Итак, далее мой вольный перевод на русский: > Можете что-то посоветовать начинающим программистам? > Изучайте основы программирования: алгоритмы, архитектуру машин, структуры данных и т.д. Не копируйте слепо подходы из одного приложения в другое. Вы всегда должны знать, *что* вы делаете, быть уверенными, что ваша программа *работает*, и твёрдо знать, *почему* она работает. Не думайте, что вы можете предсказать, какой будет индустрия программирования через 5 лет и чем именно придётся заниматься вам, поэтому учитесь более общим и полезным приёмам и подходам. Старайтесь писать код, который *лучше*, код, который больше соответствует вашим принципам программирования. Работайте так, чтобы программирование в большей степени было профессиональной деятельностью, а не низкоуровневым "хакерством" (программирование - это и ремесло, но не только ремесло). Учитесь на классике в области разработки и с помощью лучших книг, не надо полагаться на "how to" и документацию в онлайне - она недостаточно глубоко затрагивает вопросы программирования.