Нужно заказать пиццу, оплатить коммунальные услуги или понять, понадобится ли завтра зонт? Что сделает большинство из нас? Возьмут смартфон или планшет и откроют нужное приложение – легко и просто в современном мире. Сегодня мобильные сервисы настолько обыденная часть действительности, что лишь немногие задумываются о том, откуда они берутся, кто за ними стоит и что скрыто за яркой иконкой. Наш коллега, начальник лаборатории технического мониторинга ГПА службы диагностики оборудования и сооружений Инженерно-технического центра Павел Диомидов изучает анатомию привычных приложений, разбирая их буквально на молекулы. Зачем? Чтобы создать что-то своё. А потом заработать «сто тысяч миллионов?», – спросите вы. Нет, просто для себя, просто интересно:
– Разработка приложений стала для меня небольшим хобби. Небольшим – потому что программированием я занимаюсь как для работы, но это не входит в мои профессиональные обязанности, так и для удовлетворения собственной любознательности. Последнее – это мои pet projects или «домашние» проекты. Из самых успешных – приложение для доставки еды и погодное. Вы не найдёте их для скачивания, моя цель – собственное развитие.
Эти сервисы я писал для наработки навыка. Задача не в том, чтобы заменить что-то, а в том, чтобы получить знания. Например, повар, прежде чем сочинить своё авторское блюдо, оттачивает мастерство на уже существующих рецептах. Вот и здесь так же – браться за какой-то сложный проект с нуля, без знаний – не совсем разумно.
Люди, которые занимаются этим профессионально, могут создать простое приложение за неделю, в моем случае на разработку сервиса для доставки еды ушло около года. Сначала писал часть для обработки запросов, потом занимался визуальной составляющей. Уделял хобби буквально час после работы, чтобы не забывать, держать себя в форме.
Моя первая разработка появилась ещё в школьные годы, в 2006-2007. Классный руководитель знал, что я интересуюсь программированием, и попросил сделать школьный сайт. Я присоединился к группе ребят, занятых этим. Общими силами у нас родился результат – получилось страшненько – писалось всё «в рукопашную», в обычном блокноте. Потом всё забросил, пока не устроился на работу в компанию. Появилась необходимость, снова начал изучать, интересоваться… и постепенно это переросло в хобби.
Существуют разные языки программирования. Большая часть из них, плюс-минус, похожи друг на друга, но используют разные философские подходы. Так, например, есть языки, содержащие библиотеки с уже готовыми наборами функций и компонентов – это как сборка модели. Какие-то нужно генерировать с нуля. Что-то используется для визуала, что-то – для взаимодействия оборудования между собой. Всё зависит от задачи, которую нужно решить.
Сегодня есть много инструментов, которые позволяют создавать простые программы, достаточно иметь базовые знания. А вот если необходимо сделать что-то специфическое, тогда уже нужно расширять кругозор навыков: тут и математика, и информатика, и физика. С другой стороны, программирование – своего рода искусство – нужно думать, как это будет выглядеть, насколько будет удобным и понятным.
Я не проходил специального обучения в онлайн-школах, оно даёт лишь общие знания. Я выбираю для себя направление, которое хочу освоить, и начинаю изучать, используя множество источников: от зарубежных книг до тренировочных платформ. На такой «просвет» обязательно каждый день уделяю один час. Часто смотрю курсы различных учёных, в том числе и по математическому направлению. В целом, специальной литературы очень мало, но к счастью, существуют сайты, которые агрегируют статьи. Там можно найти очень интересные, полезные и необычные вещи. Зачастую в школе или университете многое дают без детального описания, и не всегда приводят примеры практического применения. Например, как известно, в математике множество разделов. Так, открыл для себя недавно один из них – теорию полей – очень увлекательно.
Однозначного подхода к хобби у меня нет. Иногда сажусь и сразу делаю, не жду вдохновения, тогда это как музыка, чётко знаешь что и зачем. Иногда долго изучаю, переписываю. Тогда это похоже на строительство дома: расчёт, время и может получиться что-то красивое. Кстати, сейчас занимаюсь написанием программы спектрального анализа сигналов, которую можно будет применять в онлайне. Не было острой необходимости на работе – просто самому интересно.
У меня нет идеи фикс – придумать и реализовать какой-то глобальный проект и заработать великие деньги. Я просто держу себя в интеллектуальной форме, в информационном поле, интересуюсь, читаю и занимаюсь тем, что мне интересно. Пожалуй, моё отношение к программированию можно описать известной фразой – у самурая нет цели, есть только путь.
Фото Дмитрия Эрнста