Важное для меня в программировании, спустя 10 лет

Давайте попробуем пойти от простого к сложному. Что считается наиболее простым в программировании? Если не принимать во внимание синтаксис или детали алгоритмов, то для разработчика программ или сайтов важно понимать, что программа, в основном, представляет собой набор операций с данными.

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

Чтобы не быть голословным, рассмотрим простой пример. В 1995 году, для создания сайта требовалось написать код (HTML и CSS) с использованием, по сути, простого текстового редактора. Однако сам сайт ограничивался представлением текста и картинок пользователю. В настоящее время можно создать красочный сайт для мобильных устройств и ПК с формами обратной связи, заказами товаров, видеороликами, анимацией, а также с функцией чат-бота, который автоматически сообщит клиенту о скидках или ответит на его вопросы. Для всего этого требуется обширный инструментарий и участие различных специалистов.

Все эти инструменты появились в ответ на потребности разработчиков и их клиентов. Мало кто из бизнесменов в 80-е годы прошлого века предполагал, что продажи можно организовать исключительно через интернет и веб-сайты. Кто-то хочет создать интернет-магазин, кто-то размещать объявления, а кто-то предоставлять услуги такси. Чаще всего сайты и приложения в интернете отражают реальный бизнес или являются ответом на вопрос: "Как программным кодом можно удовлетворить реальную потребность?"

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

Суть заключается в том, чтобы понимать людей, их желания, и создавать продукт, который бы удовлетворял их потребности – это, вероятно, самая важная и сложная задача для программиста. Когда я говорю о людях, я имею в виду не только клиентов и пользователей. Большая часть инструментов и новых методов реализации идей появилась как ответ на запросы разработчиков. Программисты хотели упростить свою работу, и появились специальные среды, в которых удобно и легко писать код или проверять его на ошибки. Проект-менеджерам было трудно управлять проектами, и появились электронные карты ума, а руководителям удобно получать отчеты в виде таблиц, и в этом помогает Excel и подобные инструменты. От того, насколько удобен и структурирован код в вашей компании, зависит скорость, с которой ваши коллеги могут понять ваши идеи и реализовать свои.В конечном итоге это влияет на вашу зарплату, зарплаты ваших коллег, доходы вашей компании, ваши перспективы и ваш путь как автора сервисов, сайтов и программ.

Часто я слышу мнение: "Моя работа не оказывает особого влияния", "Я просто делаю 'тасочки' или, проще говоря, 'рабочие задачки', и потом иду домой". Это утверждение абсолютно неверно, поскольку красота, правильность и чистота вашего кода действительно влияют на множество неочевидных вещей. Я сталкивался с проектами, где плохой код становился причиной низкой прибыли всей компании. Чем хуже код, тем больше ресурсов требуется для его поддержки. Я общался с пользователями программ, слышал критику о том, как медленно работают приложения, как они глючат и зависают, но в конечном итоге я могу взять в руки пластиковый девайс, нажать на экран, и к месту назначения приедет такси.

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

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

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

Начать дискуссию