Начну с банального: меня отшили в детском лагере, где я собирался подзаработать после летней сессии. Да, вот такая простая причина. Не думал, что моих навыков будет недостаточно для того, чтобы работать с детьми.
Внутренний программист негодовал от такого исхода дела, потому что помимо взаимодействия с мелкими, вкусной еды, танцев и обучению английскому я хотел вести кружок радиоэлектроники и обучать всех заинтересованных ребят с горящими глазами, как заставить мигать светодиод на плате, а потом из этой платы с пищалкой и кнопкой сделать «пульт от ядерки». Серьёзно, я не шучу. После своевременного анализа всех подводных камней, которые могли поджидать меня в детском лагере, я понял, что детям интересны более масштабные эксперименты, нежели чем мигание лампочки. Им сразу подавай “пульт от ядерки”.
Итак, работы нет, денег нет, зато планов на оставшиеся 2 месяца лета предостаточно. Хочется всего и сразу: и гулять, и с друзьями видеться, и в антикафе или кино гонять переодически. Да и поездка в Удомлю была запланирована. Денег всё нет, но вы держитесь. И я держался изо всех сил, поскольку по моим скромным подсчётам, я не дотягивал и до прожиточного минимума в Челябинской области в 15000 рублей.
Я решил, что рано впадать в отчаяние и решил написать знакомому, который точно смог бы помочь мне с работой или хотя бы познакомить с нужными людьми. Стал бы я частью коллектива в строительной фирме, ну или помощником архитектора...Тут уж как карта легла. Хорошо, что мой знакомый знал, что я программист, потому что он тоже знал одного программиста, который работал в месте, о котором я вообще ничего не слышал. Что-то связанное с Deep.Foundation…И платят нормально. “Наконец-то! Мои навыки написания программ на питоне, а потом работа на С пригодятся”, подумал я.
Что ж, этап знакомства пройден, и вот мне уже в общих чертах рассказывают, что такое Deep.Foundation, Глубина...Слово за слово, “платим деньги, доверяем сразу, помогаем на начальных этапах”, и я понимаю, что хочу попробовать окунуться в эту Глубину. А что, попытка не пытка...Позже мне прилетает ссылка-приглашение на сервер.
Сначала я сам занимался исследованием платформы, читал статьи, а потом решил скрасить вечер за игрой в D&D, пригласив на сервер своего нового знакомого программиста познакомившего меня с Глубиной (+3 рукопожатия). Как оказалось, он уже активно принимал участие в разработке и был Кадетом со стажем.
Он ответил на все интересующие меня вопросы: про принцип работы, отношение внутри кадетского корпуса и поддержку при разработке Deep.Foundation. Меня очень порадовало, что ребята не бросают слов на ветер и решают проблемы не словами, а делом, поэтому здесь поддержка была действительно безлимитной и тебе помогут в любое время дня и ночи.
5 утра. Кадеты и фаундеры, кажется, вообще не спят
В тот момент я понял, что Глубина — это то место, в котором я хочу работать.
Вскоре я стал Кадетом. То есть сначала клятва, потом присяга, потом кадетство. Странно, правда? Какая-то секта прогеров, которые перечитали Лавкрафта. Но я считаю так - поддерживать необычный образ, давать клятву и всё такое даже веселее, чем быть простыми программистами с обыденными планами. Собственно, за клятву и присягу мы и стали сектой. А потом поддерживали образ секты. Так интереснее.
Как я предполагал, становление Кадетом не означало, что я сразу пойму Глубину. Нет, как бы не так. Меня ожидал тернистый путь, который состоял из бессонных ночей и бесконечных консультаций. Это дало свои плоды: я стал не только понимать, что нужно делать, но и смог консультировать сам спустя некоторое время. Консультации в данном случае были не пустой болтовнёй, поэтому я хочу рассказать подробнее о том, как консультировали меня, и как консультировал я.
Расскажу сначала, какие шаги предпринимались ребятами из команды, чтобы я выполнил своё первое задание чётко и без нервного срыва. Итак, я взялся за работу с пакетом сохранения аудиосообщений из Телеграма. Фокша на время этой работы буквально был моим наставником и вел меня за руку сквозь все препятствия на Глубине. Он уже работал с API Телеграма, поэтому я был у него на виду, и он помогал мне со всем, где выявлялись затыки. Он давал полезную инфу не только по пакету, но и по Deep в целом.
Как я рассказывал выше, я уже был знаком и с Python, и с С. Но не тут-то было, потому что встретил меня Java Script. Я почти напрягся, но и здесь мой наставник подал руку помощи и рассказал что и как. Особенности и принципы работы с Дипкейсом Фокша тоже рассказал сразу. Если говорить про Глубину, то из всего функционала я лишь не в полной мере знаю тревеллеры. Но это дело времени.
А теперь немного магии...точнее, больше связей - и вот оно, произведение искусства
Поскольку Фокша ненавязчиво контролировал мои неуверенные шаги на Глубине, будет неправильно считать, что это я закончил работу над своим первым пакетом. Поэтому благодаря нашим стараниям с Фокшей, это наш с ним результат.
Это была реально битва - сон и моя внимательность были повержены в пух и прах. Но я боролся, старался держать веки открытыми и не засыпать, пока преобразовывал биты в аудио. В памяти остался недосып и три лютые строчки кода, до которых мой сонный и уставший мозг не дошёл. Как я разрабатывал пакет - напишу отдельно.
Готовьтесь к статье, где будет много веселья, а еще больше - непонимания и рандомных багов.
Но я бы хотел всё-таки дать небольшие пояснения по поводу того, что из себя представляет пакет. Пакеты — это связи. Вся Глубина — это связи. Понимаю, звучит так себе, но я постараюсь объяснить вам, что это и почему понимание связей - это круто.
Допустим, вам нужно в телеграме получить голосовое сообщение, а затем преобразовать его в текст. Получатель из телеграма вами написан на Java Script, а ваш друг написал преобразователь на Python. В целом можно что-то переписать и сделать код единым. Но, с другой стороны, можно поставить два пакета и просто связать их. Тогда после получения, которое написано на JS, полученный файл будет обрабатываться кодом на Python.
И при этом ничего не сломается и все будет в автоматическом режиме. JS, Kotlin, Rust, Python, даже YoptaScript, все эти языки поддерживаются Глубиной. И все пакеты можно использовать в любом сочетании. Реиспользование каждого пакета ограничено лишь вашим воображением и пределами задачки!
Теперь пришло время рассказать о своём опыте ведения консультаций. На самом деле со стороны консультирующего я не могу выделить ничего особенного. Это просто передача опыта. Переодически Темур просит его проконсультировать. И я выкладываюсь на максимум: развёрнуто отвечаю на вопросы, объясняю, например, для чего нужны тайпы, в чем отличие токенов и помогаю разбирать готовый код, подсказывая как можно использовать новую инфу в проекте для решения поставленных задач. Иногда в нашей команде проводятся не только “консультации по просьбе”, но и, так скажем, “принудительные”, когда кто-то из нас замечает, что Кадет (или уже не Кадет) оступается раз за разом.
Внутри Deep.Foundation никто не боится слова “принудительно”, поскольку консультации - фишка Глубины, которая позволяет работать человеку с минимальными знаниями. И это в разы уменьшает порог вхождения. Главное желание, а консультации тебя найдут. Либо же ты найдешь их. Хотя второй вариант, как показывает практика, наиболее вероятный.
Я конечно только начинающий консультант, но я знаю того, кто действительно шарит
В итоге, пакет был сдан, и я получил за него оплату. Это был прекрасный день по всем параметрам, но в нём чего-то не хватало...Момент Х наступил тогда, когда пакет заработал. И вот тогда я действительно был счастлив!
Пришло время закругляться, но я ещё раз хочу подчеркнуть, что Глубина очень дружелюбна, хотя по началу так не кажется. Никто не заставит туда тебя нырять без спасательного жилета. Если есть запал, стремление узнать что-то новое, прокачать свои мозги, то почему бы и да. Кадетом стать не сложно, главное было бы желание. Тебя обучают бесплатно, да еще и в процессе твоих поставленных задач, это не пустая трата времени на болтовню. Выполнишь всё, что поручили - чеканная монета твоя!
Кадет доволен и готов браться за новые задания!