Как программирование помогает в решении реальных задач

Перевод статьи Тахи Аамира “How programming helps solving your real world problem”.

Решение реальных задач при помощи программирования

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

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

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

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

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

Монотонный труд по копированию данных

Я попросил его показать мне ту реальную работу, которую он выполняет в данный момент. Он показал мне последнюю работу, когда он потратил около 5-10 часов на копипаст данных с сайта (примерно 2005 года) в электронную таблицу. Обычный процесс выглядел так:

Обычный процесс копирования

Нужно было заполнить около 1,8 тыс. порций данных. Мы также измерили, сколько времени уходит на одну такую порцию — вышло 1-1,5 минуты. На тот момент он уже обработал около 600 порций данных.

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

И я написал код, чтобы автоматизировать 1-5 секунд из каждой минуты. Разбор структуры сайта 2005 года и написание (+тестирование и отладка) небольшого кода заняло у меня примерно 30 минут. После чего я мог автоматизировать действия, выполнение которых занимало теперь от 1 до 5 секунд.

“Подумаешь!” — читалось у него на лице. Будто я только что потратил 30 минут на то, что у него заняло бы 5 секунд. Какой идиот будет тратить на это время? Что же я тогда, мошенник?

Затем я показал ему калькуляцию. Скажем, у меня ушло 30 минут на автоматизацию 5 секунд, значит, я потратил только 30 минут, верно? Но что если задуматься о 1,8 тыс. строк данных? Разве я не убрал 5*1,8 тыс. секунд из твоего рабочего процесса? Да, я потратил 30 минут, но могу теперь сэкономить остальные 120 минут.

Подумайте об этом. Автоматизация 5 секунд заняла у меня 30 минут, возможно, автоматизация 1 минуты заняла бы 360 минут (это предположение). После того, как произведена автоматизация, все что мне нужно сделать, это запустить код и он завершит выполнение задачи, на что уйдет около 1800 минут.

С применением программирования, если я потратил 360 минут, я могу сэкономить остальные 1440 минут.

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

Скажем, если ты получаешь 200 долларов за 1800-2700 минут работы, это 4-6 долларов в час. Я получу те же 200 долларов, но работать буду только 360-400 минут. А это уже 28-40 долларов в час. Мой клиент также будет очень счастлив, получив результат так быстро. Я выигрываю в любом случае, поскольку немного знаком с программированием. (Хвастался я или рисовался? Нет!)

Его реакция была примерно такой:

«Вау! Я не думал об этом. Программирование это круто! С чего мне начинать?»

Поняли, как программирование решает реальную задачу? Оно решило проблему со временем. И я объяснил все это дело новичку на реальном примере, где он был жертвой скуки. А теперь я подцепил его на крючок дальнейших уроков!

Поле для деятельности

Посмотрите на этих ребят, они делают то же самое. То же копирование данных, поиск в интернете и т. п. Но другим способом. Они потратят время мудро и напишут скрипт.

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

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

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


[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]

Оставьте комментарий

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

Прокрутить вверх