Как я с помощью VBA оплатил себе университет
Большинство молодых людей, когда слышат про Excel, вспоминают сразу уроки информатики в школе или пары в универе, где нас учили выставлять ширину бортиков ячейки и как писать текст в ней по диагонали. Нам демонстрировали работу со статическими таблицами, учили их оформлять и форматировать. Но знаменитую цитату Моргана Фримана из фильма Люси: «Что, если бы мы использовали мозг на 100 процентов?» можно перефразировать на: «Что, если бы мы использовали Excel на 100 процентов?». Дело в том, что многие из вас даже не представляют на сколько это многогранная и сложная программа, функционал которой уходит далеко за пределы форматирования таблиц и подготовки простеньких графиков. Я тоже этого не представлял, пока это не стало моим основным источником заработка во время учебы в университете. И в своей статье я хочу рассказать вам про мой опыт работы с Excel и VBA, о том какие интересные вещи делают с его помощью некоторые фирмы и о том, как на этом можно неплохо подзаработать.
Стоит сразу обозначить несколько важных вещей. Я живу, работаю и учусь в Германии и поэтому буду описывать реалии европейского рынка. Я очень сомневаюсь, что ситуация на постсоветском пространстве сильно отличается, но этот момент стоило уточнить.
Пожалуй, в начале пару слов обо мне. В 18 лет я переехал в Германию на учебу и вопрос заработка денег сразу стал ребром. На первом курсе я не был интересен фирмам в силу отсутствия опыта и малого возраста, так что приходилось перебиваться подработками на кассах, складах и центрах обслуживания клиентов. На втором курсе я поднабрался опыта и начал искать работу по специальности на неполную ставку 16–20 часов в неделю. После недолгого поиска мне попалась достаточно интересная должность — программист VBA на Excel. В описании должности были указаны такие обязанности как разработка и поддержка Excel макросов, используемых для автоматизации работы отдела и прочие связанные с Excel вещи. Платили неплохо, а работу я себе представил достаточно интересной.
Автоматизация процессов является неотъемлемой частью любого отдела любой фирмы в любом уголке мира. Желание экономить время и средства путем автоматизации рутинных процессов вынуждает фирмы инвестировать большие суммы в софт, который перенимает на себя повседневные и откровенно скучные обязанности сотрудников. Некоторые отделы и вовсе уже невозможно представить без продвинутых систем автоматизации, например бухгалтерию или логистику. Как правило, все упирается в бюджет. В первую очередь необходимый софт получают те отделы, где он действительно жизненно необходим, а второстепенные могут годами ждать своей очереди на автоматизацию. Но желание экономить собственные силы и время при выполнении задач не уменьшается вместе с размером отдела. На помощь приходят подручные средства доступные каждому. End-user computing — процесс, в ходе которого люди, не являющиеся программистами, создают приложения для облегчения работы себе и коллегам. В ходе этого процесса разработка происходит без участия IT отдела, собственными силами самих сотрудников. Самый популярный софт для подобного рода работы — это Microsoft Office. Офисный пакет предустановлен практически на каждом компьютере и доступен каждому. Работу с текстом поддерживает старый добрый Word, работу с базами данных медленно уходящий в прошлое Access, а вот всю возможную работу с данными, цифрами, отчетами поддерживает главный герой нашей статьи — Excel.
Придя на свой первый рабочий день, я был невероятно удивлен от увиденного. Мой отдел являлся замечательным примером того самого коллектива, который уже долгое время стоит в очереди на автоматизацию, но все никак не получает необходимого софта. Однако это не остановило их от того, чтобы делать все для облегчения своих рабочих будней. С приходом нового руководства целых 4 года и труд 2 студентов, работающих в отделе до меня, были ювелирно инвестированы в построение на базе VBA огромной системы макросов, которая по своей сути практически заменяла работникам продвинутый тематический софт. Каждый человек в отделе приложил свою руку к его формированию, кто-то описывал бизнес-процессы, кто-то занимался непосредственно программированием, а кто-то тестировкой. Общий программный ландшафт, созданный на VBA, включал в себя базу данных, множество макросов для автоматизации составления различных отчетов, макросы для обновления документов и многое-многое другое. Я и подумать не мог, что все это можно сделать при помощи VBA и Excel. Со временем я стал понимать, что гораздо легче перечислить вещи, которые на VBA сделать нельзя. Каждое новое задание становилось для меня не проблемой, а новым интересным вызовом и меня раз за разом поражало то, что практически любую офисную проблему можно было решить в VBA инвестировав минимальное количество времени в разработку. Построить базу данных с графическим интерфейсом и функцией импорта разных типов документов? Без проблем. Реализовать автоматическую сборку квартального отчета с помощью базы данных? Изи. Обновить одноразово более 100 файлов, вместо того чтобы каждый из них изменять вручную? Конечно! Примеров того, как мы использовали VBA для облегчения наших трудовых будней десятки. В случае, если вам будет интересно почитать подробнее про техническую составляющую подобных макросов, то пишите в комменты и я приступлю к написанию следующей статьи.
Так, обычная студенческая подработка на время второго курса на почти целых 2 года превратилась в мою постоянную работу, в которую я в зависимости от загруженности в университете вкладывал от 16 до 40 часов в неделю. А работы было действительно много. Каждый квартал к нам и нашим отчетам поступали новые требования от совета директоров, что требовало постоянного обновления уже существующих макросов и создания новых.
Стоит сказать откровенно, что подобных решений стоит, конечно, избегать. Свою простоту и удобство Excel компенсирует своей ненадежностью и постоянным желанием сломаться в самый неподходящий момент, особенно когда полагаешься на него через чур сильно. Но это не отменяет его удобства и гибкости при разработке.
Какая мораль этой короткой статьи, которая при вашей поддержке может стать базой для целой серии небольших текстов на эту тему? С помощью Excel можно зарабатывать деньги. Реально. Проверил на себе. Особенно это может быть интересно студентам технических или же экономических специальностей, которые пребывают в поиске небольшого заработка параллельно с учебой и хотят работать головой, а не руками.
Есть ли у Excel потенциал? Есть. Никто от него не откажется в ближайшее время, и он будет использоваться как стандарт индустрии еще десятки лет.
Актуально ли это? Да. В Европе Excel в связке с VBA используется повсеместно. Даже в очень крупных фирмах, от которых такого не ожидаешь. Есть у меня товарищ, работавший в фирме с примерно 200 тысячами работников по всему земному шару, который в свои студенческие годы за очень хорошие деньги занимался автоматизацией одного из отделов этой фирмы во Франкфурте. Как я уже говорил, автоматизации хотят все, а денежки есть не у всех, отсюда и возникает спрос.
Легко ли это освоить? Да. VBA, вероятно, самый топорный и неуютный язык программирования, который я использовал. Он неудобный, для него нет красивой IDE, в нем не хватает многих привычных компонентов, но он чертовски прост. Я пришел на работу абсолютно без опыта программирования на VBA и уже через 2 с половиной месяца закрыл свой первый проект. Общее время наработки в отделе составило не более полутора месяцев с учетом того, что я работал по 2 дня в неделю. Стоит правда уточнить, что я до этого обладал достаточно богатым опытом программирования на Java и Python, но все же.
Где можно заработать? Везде, где используется Excel. Даже если у вас не выйдет найти фирму, которая бы предложила вам стабильное место работы, то можно испытать себя на достаточно развитом рынке фриланса. Там можно найти самые разные заказы, начиная от написания какой-нибудь простенькой формулы за несколько долларов до создания комплексных макросов за более интересные деньги. С этого можно начать, получить необходимый опыт и подзаработать, а после использовать как весомое конкурентное преимущество при дальнейшем трудоустройстве. Специалисты, понимающие не только экономический, но и айтишный фон задачи, способные собственноручно автоматизировать тот или иной процесс, так называемые Power users, цениться выше специалистов, понимающих только одну сторону проблемы. Знание VBA является хорошим дополнением к вашему резюме и ни раз пригодиться вам в вашей карьере.
Благодарю вас за внимание, и прошу дать небольшой фидбек, если вам интересно было бы почитать про всякие оригинальные и неожиданные способы применения VBA и Excel, которые мне встречались на практике.