Почему стоит изучать программирование


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

Если вы не боитесь компьютера и не боитесь изучать что-то новое, то настоятельно рекомендую изучить какой-нибудь язык программирования. У меня для того оказалось немало веских причин. Раньше, как и многие другие, я считал, что тратить на это время нерентабельно и что на любую проблему обязательно найдется уже написанная программа, чтобы помочь мне с рутинными операциями. Как сильно я ошибался! В реальности, самых главные причины, по которым люди НЕ изучают программирование, оказываются несостоятельными.

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

Причина №2 – изучение программирования требует много времени, которое может не окупиться.

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

Налицо неэффективное использование ресурсов. В день по моему отделу проходило 10-20 сделок в результате которых продавалось 20-80 единиц оборудования. Ежедневно я тратил около 3 часов на работу, суть которой сводилась к Ctrl+C, Alt+Tab, Ctrl+V, Ctrl+P, Ctrl+O, F2 поиском инструкций, упаковкой их в конверт и наклеиванием адреса на конверт. То есть специалиста с хорошим техническим опытом, со знанием языка, которому платили 1200 евро в месяц, чуть ли не половину рабочего дня загружали задачей, с которой могла справиться секретарша на окладе 350 евро (зарплаты на тот момент были адекватны). Кроме всего прочего – загружать специалистов тупой рутиной, это в принципе опасное дело, т.к. если вместо того, чтобы решать интересные задачи на работе, человек сидит и клеит бумажки и делает тупую работу, то очень запросто, что он может быстро свалить и придется искать ему замену.

Я неоднократно подходил к начальству, указывал, что  сижу по 2-3 часа трачу на херню ежедневно и просил дать задание отделу программеров, чтобы сняли с меня рутинную работу. Но такие дела быстро не делаются и в результате я получал игнор. Надо сказать, что Ctrl+C, Alt+Tab, Ctrl+V, Ctrl+P, Ctrl+O, F2 было основной работой, и я понимал, что ее можно запросто автоматизировать.

И вот однажды, я решил, что если мне никто не помогает, то я сам это сделаю. Купил несколько книжек Visual Basic, потратил 2 дня и написал программу, которая стала сама по входным данным лезть на сервер, выкачивать нужные мне данные, затем открывать шаблоны паспортов, сертификатов, и данных для пересылки в Exel и Word, вставляла что нужно, сохраняла файлы в архиве по нужному формату и отправляла все документы на печать. Потратил я на нее 3 полных дня, но зато до конца моей работы на должности Инженера по продукту я экономил примерно 10 полных часов в неделю.

Как все это соотносится с причинами «чтобы создавать приложения высокого уровня, необходимо изучать программирование очень глубоко и потратить на это кучу времени»? Очень просто. В реальности для решения ваших проблем, чаще всего высокого уровня вовсе не надо. Достаточно, чтобы программа просто выполняла то, что должна. Когда вы можете просто заставить сделать компьютер то, что хотите, это основа – оптимизация кода и привычки хорошего стиля программирования при необходимости всегда можно привить. Для того, чтобы разобраться с основами и писать несложные приложения вполне хватит 1-2 недель, если это первый язык. Когда вы изучите 3 язык программирования, то обнаружите, что вам уже по фигу, на чем программировать и каждый новый язык изучается за считанные дни.

Причина №3 – если уж мне нужно что-то нестандартное, то я лучше найму программиста

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

Из причин, по которым стоит изучить – я бы выделил эти:

Возможность создать решение задачи, которое нужно большому количеству людей

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

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

При этом, на само написание этой программы я потратил всего 1 день, не больше. Взамен получил возможность зарабатывать очень  простым способом дополнительно 500-700 у.е. в месяц. А продажа программы дала мне еще дополнительно около 500 у.е. Это не было красивое приложение, оно не было сложным или профессиональным с точки зрения реализации. Просто оно было в числе первых и добротно выполняло те функции, которое было на него возложено.

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

Удовлетворение от решения сложных задач

Когда нам удается сделать что-то сложное, что раньше не удавалось, то мы получаем удовлетворение. Объяснить, что значит интеллектуально чувство радости от решенной задачи я не в состоянии. Кто его хоть раз испытывал, тот поймет. Именно для них посвящается этот пункт ))

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

Самое замечательное, что оказывается почти все собственные рутинные задачи очень легко можно решить с помощью компьютера. Удовлетворенность тем выше, чем больше времени вы себе можете высвободить. Как-то я взял с собой программируемый калькулятор на лабораторную работу в институте. Работа больше сводилась к вычислению графика по какой-то зависимости. Чтобы посчитать одну точку на графике, необходимо было проделать очень большую последовательность арифметических действий. Всего необходимо было сделать расчет на 10-12 точек по заданным условиям и построить график.

За время, пока вся группа считала первую точку, я написал программу расчета. Там надо было вбить исходные данные для расчета точки и через 5-7 секунд выдавались координаты точки, т.е. еще через пару минут я закончил свою работу. А за следующие 20 минут, я посчитал точки для всех своих соседей и мы все закончили работу за 30 минут до конца пары. Естественно, сейчас такими вещами никого не удивишь, но когда я учился на первых курсах, 486 комп с процессором с частотой 66 МГц считался весьма неслабым и стоил кучу денег. Такого, чтобы сидеть с нетбуками или планшетами, на которых установлен маткад или подобные программы, в помине не было.

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

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

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

Представьте себе, какой титанический труд скопировать чертежи, например, самолета без компьютера?

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

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *