Вопросы о программистах уже набили оскомину, к сожалению, мало тех, кто что-то знает о программировании, поэтом программисты обрели ореол таинственности и колдовства. Начнем с того, что программист должен прекрасно знать математику, особенно, математический анализ. Программист должен прекрасно знать физику. Программист должен уметь заниматься самообразованием, чтобы при необходимости понять экономику, философию, процессы, например, в атомном реакторе или атомной бомбе, понять баллистику, чтобы создать программу управления полетом ракеты или спутника. Не стоит смешивать программиста и сборщика сайтов, дело в том, что программист составляет программы, которые позволяют из кирпичиков собирать сайт, здание строят инженер и каменщик, только один создает проект и чертежи домика, а другой складывает домик из кирпичей, которые спроектировал другой инженер. Самое смешное в работе настоящих программистов то, что им не нужно знать языки программирования, потому что составленный такими программистами алгоритм можно превратить в машинный код с помощью самых разных языков программирования. Писатель пишет книгу, а машинистка может ее напечатать с помощью любого печатного устройства, но машинистку никто не назовет автором книги. Выходит, что нужно иметь математическое образование, обладать знаниями в различных областях, быть внимательным и обладать абстрактным мышлением, владеть логикой и обладать аналитическим мышлением, только эти качества позволят быть программистом высшей квалификации, именно они знают в полном объеме назначение и работу программы, таких специалистов не так много, как многие думают.