Программирование Как Искусство

Мой друг, директор крупной компании, жалуется: «Представьте, я не могу найти программиста для поддержки работающей системы.

Я приглашаю вас, я вам показываю.

Если переписать с нуля, соглашаются за половину зарплаты.

Если вы их поддержите, они на двоих не согласятся».

Это очень значимая ситуация.

В России программисты считают программирование искусством.

И никто не может их в этом отговорить.

Маркетологи не верят в то, что их работа — это искусство, как и режиссеры, продавцы, бухгалтеры, архитекторы и многие другие специалисты — они спокойно относятся к своему призванию.

Но не путайте творчество в работе и отношение к работе как к искусству в ущерб целям и задачам этой работы.

Например, для большинства художников очень важно продолжать свой творческий рост. Но жизнь устроена так, что нельзя все время работать на себя и свои идеи.

Чтобы развиваться, художники выделяют время для творчества и реализации своих идей.

Но когда художник работает на заказ, он по большей части должен выполнить задание и «услышать» пожелания заказчика, реализовать их творчески и художественно, но реализовать именно то, что хочет клиент. Программист почти всегда находится в состоянии творческого роста.

Ему всегда хочется учиться, изучать новые технологии, писать на новейших инструментах, переписывать приложение на новый язык или версию системы, обновлять свой компьютер, среду разработки, устанавливать патчи, прошивать новую версию биоса.

Обновленная программа - это сразу считается устаревшим.

Более того, программист с искренней уверенностью говорит себе, что учится, чтобы применить эти знания в новом проекте или новой работе.

Но программист меняет работу или просто приходит в новый проект, и.

снова выбирает для реализации очередную новую технологию.

Почему? Потому что он хочет это изучить и уже пытается сделать по этому проекту.

Он просто пытается это сделать, так как результат для него не имеет большого значения.

Результат не имеет ничего общего с обучением, верно? Он дает себе внутреннюю оценку не по достигнутому результату, а по творческому шедевру, изученному пласту документации или созданному коду.

Результат подобен случайному подарку — он может произойти, а может и не произойти (вероятность 1/2).

Но результат обычно не вдохновляет программиста на достижения; процесс профессионального роста или иллюзия роста более интересны.

Конечно, не все программисты такие, но 99% выпускников вузов такие.

И именно таким я был, когда окончил университет. Интересно, думаю сейчас, почему ни один преподаватель в университете не сказал мне, что, придя на работу, мы должны максимально точно реализовать бизнес-задачу компании и использовать самые эффективные инструменты для этой реализации.

А может быть, они сделал, но я не поверил или нет Ты слышал как все? В первом банке, в котором мне посчастливилось присутствовать, банковское программное обеспечение было написано компанией Inversion на FoxPro с DBF-файлами.

Но мне казалось унизительным, просто унизительным писать на FoxPro и добавлять в чужую программу.

Я думал это для трусов — типа, настоящий профессиональный программист так не пишет. Я взял компилятор С++, нашел его и переписал под Win32, использовал многопоточность (зачем спрашивать, библиотека для работы с DBF), написал свой парсер отчетов, которым потом «бомбил» множество отчетов для банка.

Замечательный пример полного игнорирования целей и возможностей организации.

Я просто учился за счет банка, скажем честно.

Более того, никто в банке не был против такой формы обучения, они просто не понимали.

Руководители и менеджеры организации понимали, что их бизнес зависит от ИТ, но не понимали толком, по каким критериям они измеряют и оценивают (да и сейчас ситуация не особо лучше).

Само собой, приложение умерло с моим уходом через два года, так как новый программист убедительно доказал, что это все «фигня» и начал писать такую же «фигню» на Java (это тогда начинало входить в моду).

Но один урок из этого банка я уже усвоил.

Меня всегда интересовали базы данных SQL и глобальные сети.

Сделав парсер на C++, я сел изучать SQL. Но под рукой не оказалось SQL-сервера.

И я взял Excel и с помощью ODBC-драйвера начал писать SQL-запросы к DBF-файлам банковской базы данных.

Было и применение.

За пару недель я сделал полный комплект отчетности ЦБ банка в Excel, и это было так красиво, по тем временам просто жутковато :) Сводные таблицы Excel - вещь выдающаяся.

Инструмент действительно получился отличным, пользователь просто вводил даты и получал желаемый отчет. Более того, я обнаружил забавный эффект: другие программисты стали использовать созданные мной отчеты, стали редактировать их и делать на их основе свои модификации.

Технология оказалась очень дешевой, яркой и эффективной в поддержке банка.

Даже после моего ухода отчеты и инструменты продолжали использоваться.

Но, надо признаться, опять же, правильный эффект вообще не планировался.

Это был случайный побочный результат моего изучения технологий SQL. Следующим на моем рабочем пути был Инвестиционный банк.

Вот тут-то мне и голову прямо поставили.

Уже во времена широкого распространения FoxPro в этом банке уже работали серверы Oracle и UNIX. Все приложения были написаны в Oracle Forms, а банковский день разрабатывался Force (первые реализации).

Скажем прямо, визуально это не особо привлекательные формы.

И я, конечно, не мог не начать высказываться о том, что все надо переписывать на Win, что Oracle — не лучшее решение и много другой ерунды.

Пользуясь случаем, хочу сказать спасибо Алексею Ежкову, ИТ-директору, Татьяне Кудиной, тогдашнему руководителю отдела разработки Oracle, и Сергею Архипенко, моему менеджеру.

Они улыбались моей наивности и задавали вопросы о моих инициативах по поводу стоимости владения, обучения специалистов, независимого ИТ-аудита для банка, сертификации ПО и других нормальных вопросов, которые мне почему-то не приходили в голову.

Не могу сказать, что меня чему-то существенному научили.

Они просто так думали, так жили и не понимали, как может быть по-другому.

Это были профессионалы ИТ-бизнеса.

Я думаю, что слово «профессионал» применимо к ним.

И это во многом изменило мой взгляд на вещи.

Может быть, обучение – это решение своих личных проблем и карьерный рост? К сожалению нет. Обучение – это попытка обрести уверенность в том, что вы можете что-то сделать.

Но до тех пор, пока программист не поставит перед собой задачу решить бизнес-задачу организации, в которой он работает, все его усилия по обучению исчезнут бесследно, как вода в песке.

Без остатка лично для него, так как доверия он не обретает, равно как и славы и денег.

В резюме нет новых строк, которые были бы ценны для других компаний.

Кстати, именно по этой причине резюме многих программистов очень часто выглядят как перечисление всех известных технологий.

:) Мы часто получаем такие, и каждый раз это вызывает улыбку.

Технологии меняются очень быстро, понимаешь, что со временем тебе надоест изучать новые языки, платформы, команды без цели.

и ты уже не в студенческом возрасте.

Обучение без цели имеет мало смысла.

Но понимание приходит со временем.

И как бы мне хотелось получить эти знания сразу и настолько убедительно, чтобы не усомниться в них и не пришлось бы проверять их на собственном горьком опыте.

Да, в нашей системе подготовки программистов есть системный дефект: программистов никогда не учат тому, что они приходят в компанию для того, чтобы реализовывать задачи компании.

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

Кстати, подобные курсы и вопросы я видел в одной из программ сертификации Microsoft (конечно, с учетом их решений).

Но чему-то подобному стоит научить.

И все же искусство или ремесло? Я считаю, что ВСЕ профессии, включая программирование, — это творчество, ремесло и искусство.

И очень важно учиться, чтобы всегда быть на пике своей профессии.

Но также важно понимать, что такое «профессионализм» вашей профессии.

Для программистов профессионализм – это не количество изученных технологий, а, как и для любой другой профессии, критерием профессионализма программиста является профессиональное выполнение поставленной задачи! Компания ставит задачу, а профессионал выбирает наиболее эффективные решения для ее решения.

Действительно, задачи не всегда ставятся «правильно» с точки зрения специалиста и не всегда полностью.

«Я хочу дом, общая площадь должна быть 1000 м2, у меня столько-то денег, у меня столько-то земли…» Архитектор оценивает и составляет ряд проектов, вписывает их в архитектуру города, составляет здание заметное, выбирает фасады.

В этом и заключается профессионализм архитектора, продумывать за заказчика вопросы, которых он не понимает и никогда не поймет. Будет ли архитектор выбирать новые материалы для работы только потому, что он никогда раньше с ними не работал и заинтересован в строительстве такого дома? И не окажется ли потом, что ни один стандартный диван нельзя занести в дом, потому что он не вписывается в лестничный марш?.

Как и архитекторы, программисты должны быть специалистами своего дела и не объяснять неудачи дело в том, что задание им не было дано в полном объеме.

И независимо от профессии все люди делятся на тех, кто УМЕЕТ делать проекты, и тех, кто реально ДЕЛАЕТ проекты.

Все, что вы знаете и изучили, все, что вы еще будете изучать, вам нужно не как самоцель, а как средство достижения результата! А все остальное приложится: деньги, слава, женщины, машины и квартиры.

Компания сама потянет вас наверх, ведь любой компании, как воздух, нужны люди, которые дают результат. Даже если ты не гений, но даешь результат, ты уже гений! И есть много причин написать следующую статью на ту же тему, чтобы лучше исследовать тайну «программирования».

Теги: #программирование как искусство #программирование




Акварель - чистая С

Программирование как искусство

Акварель проста и доступна каждому.

Бумага, несколько кистей, вода и набор красок – это все, что вам нужно для работы.

Главными особенностями акварели являются прозрачность краски, отсутствие белил и эффект неповторимого смешения цветов.

Прозрачность краски не позволяет исправить уже окрашенные части картины, а отсутствие белил вынуждает художника прибегнуть к хитрости и использовать вместо краски натуральный цвет бумаги.

Все это приводит к тому, что рисование акварелью требует тщательного предварительного планирования композиции работы, а сам процесс написания картины требует высокой концентрации внимания – один неверный мазок кисти – и вот краска растеклась по всему пространству.

картина или вылезла за рамки, отведенные ей художником.

Акварель требует терпения.

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

Для новичка акварель непредсказуема:

Программирование как искусство

Однако, овладев настоящим мастерством акварели, художник получит от своих работ ни с чем не сравнимое ощущение легкости, воздуха, света и цвета; даже если на это потребуются годы упорных тренировок.



Программирование как искусство

Масляные краски - Ява

Программирование как искусство

Живопись маслом – настоящий мейнстрим среди художников.

Отличительной особенностью этого вида живописи является возможность перекрасить любой участок картины до неузнаваемости.

Выбор масляных красок гарантирует, что произведение искусства не будет настолько повреждено, что его придется выбросить.

Все это позволяет художнику создавать такие огромные картины маслом, которых было бы невозможно достичь, если бы были выбраны другие виды живописи.

Живопись маслом — один из самых прибыльных видов живописи для художника; и действительно, обеспеченность населения масляными красками находится на среднем уровне.

Гуашь — Паскаль

Программирование как искусство

Вид живописи, взлет и падение которого уже закончились, и все это произошло давно, в 20 веке.

В настоящее время его используют в основном в школах для занятий искусством.

Приложение – Базовое

Программирование как искусство

Технически простой метод изобразительного искусства, используется, как и гуашь, преимущественно в школах на уроках рисования.

Настоящий художник может творить с чем угодно, и не стоит осуждать тех, кто находит здесь свое вдохновение.

Простой карандаш - Ассемблер

Программирование как искусство

Минималистичный набор инструментов – бумага, карандаш и ластик; черно-белая цветовая палитра.

В основном дело ограничивается рисованием простейших геометрических фигур, но нарисовать что-то более сложное сложно.



Программирование как искусство

Перо — Perl

Программирование как искусство

«Написанное пером, топором не вырубишь» — вот главная мудрость и философия здесь.

Еще одна отличительная особенность – рисование ручкой имеет свой неповторимый и запоминающийся запах.

Где-то говорят, что есть настоящие мастера жанра:

Программирование как искусство

Мелки на асфальте - PHP

Программирование как искусство

Вид творчества, доступный каждому, даже ребенку.

Популярен среди детей, но с возрастом интерес к мелкам угасает. Работа рисуется быстро; красиво – не красиво, но мелки служат детям.

Маркеры — Python

Программирование как искусство

Относительно новое изобретение в живописи.

Людей сюда привлекает яркость красок и простота использования.

При использовании раскрасок достигается невероятная скорость рисования.

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

Пастель - Рубиновый

Программирование как искусство

Яркие цвета.

Чем больше мелков из готового набора вы используете, тем быстрее ваше творчество; Проще взять дополнительный набор мелков разных оттенков, чем смешивать цвета самостоятельно.

Водорастворимые карандаши — C#

Программирование как искусство

Попытка добиться легкости акварели за счет использования водорастворимых карандашей.

К сожалению, производителей водорастворимых карандашей не так много, а сами карандаши достать не везде.

Эмаль - Объектив-C

Программирование как искусство

Творчество требует особых техник и материалов.

Работы с эмалью часто украшаются драгоценными камнями.

Итог: объективно красиво, но недоступно массам.

Нестандартные техники акварели — C++

Программирование как искусство

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

, зубные щетки, нарезаем бумагу, коробим ее наждачной бумагой и т. д.

Программирование как искусство

Основная причина этих отклонений — отсутствие навыков акварели; и начинающих художников следует предостеречь от следования по этому скользкому пути.



Программирование как искусство

Граффити — JavaScript

Программирование как искусство

Граффити – новое, еще не общепризнанное направление в искусстве.

При правильном умении получается красиво и со вкусом.

В руках непрофессионала оно перестает быть искусством.



Программирование как искусство

Граффити на бумаге — Haskell

Программирование как искусство

Техника рисования поначалу смущает начинающего художника, но потом к ней быстро привыкаешь.

Японский кроссворд - Луа

Программирование как искусство

Творческое воображение ограничено; Правила просты, сам кроссворд – это скорее головоломка, чем искусство.

Теги: #программирование #искусство #программирование

Вместе с данным постом часто просматривают: