Подсчитано, что в двадцать первом веке спрос на таких специалистов будет неуклонно расти. Россиянин, разбирающийся в процессорах и программах, всегда может рассчитывать на кусок хлеба с толстым слоем масла. Причем где-нибудь в США или Европе.
Алексей Пажитнов, создатель всем известной игры «Тетрис», в России был недооценен. Зато сейчас он работает в Редмонте, штат Калифорния. И его зарплата сравнима даже с деньгами, которые получает Билл Гейтс. На его счету такие разработки, как «Хатрис» и программное обеспечение для ряда видеоигр.
Да зачем нужны примеры? Разве у вас нет знакомого программиста, которой работает «за бугром» или уже пакует вещички, подписав выгодный контракт?
Компьютерная программа – скучное собрание математических символов? Нет! Это искусство. Как музыка или живопись.
Здесь есть и изящные миниатюры (компьютерные вирусы), и масштабные панорамы (игры и программы, создаваемые коллективами в сотню человек). Виды «кистей» зависят от жанра. Можно пользоваться неуклюжим, но четким машинным языком. А можно крутыми объективно-ориентированными «наречиями» вроде Smalltalk. Как и в искусстве, в программировании есть и дилетанты, и великие мастера. Последних мы и привыкли называть «хакерами».
Особенности мышления программистов:
• Постановка цели, четкий проект.
• Сделать проект максимально просто, не усложняя.
• Сделать свой продукт ценным для клиентов.
• Знание современных языков программирования пришло на смену знаний математики.
• Гибко подстраиваться под запросы клиента.
• Умение работать в команде разработчиков.
• Быть конкурентоспособным на рынке
– Почему ваши дети все время ссорятся?
– Kонфликт версий, – отвечает программист.
Составляющие мышления программистов.
• Высшее техническое образование. Креативное мышление. Профессионализм.
• Исключительное знание языков программирования. Умение свободно в них ориентироваться, находить оригинальные решения. Возможность работать сразу над несколькими задачами.
• Постоянный поиск нового. Все новые программные продукты увлеченные программисты осваивают до тонкостей. «Выжимают» максимум возможностей из новой техники. Коллекционируют всевозможные программные ухищрения и неожиданные решения.
• Фанатичная преданность своему призванию. Способность не спать и не есть ради скорейшего решения задачи. Самая большая радость программиста: удачно написанная программа, даже если автор – не он…
В искусстве программирования совершенство достигается тогда, когда программа, выполняющая свою функцию, занимает всего несколько строк. Когда одна программа делает то, что не может делать другая. Когда программа может манипулировать с файлами такими способами, которые ранее считались невозможными.
Совершенные программы, отдельные приемы программирования, удачные алгоритмы могут быть предметами коллекционирования и почитания.
Ильназ Гильязов, эксперт курса «Профессия веб-разработчик» университета digital-профессий Нетология уверен, что программисту необходимы следующие компетенции:
• Умение сформулировать/понять задачу.
• Умение упрощать.
• Умение декомпозировать, выделять главное, и выстраивать логическую цепочку.
• Умение выделять граничные значения и исключительные ситуации.
Михаил Субботин, преподаватель израильской высшей школы IT и безопасности HackerU считает, что главная задача программиста – понимать, как работает мир, разбивать сложные явления на простые инструкции, а потом собирать их воедино. Программист должен уметь правильно задавать вопросы и находить на них ответы
Сергей Шитиков, технический директор Суточно. |