Сложно такое осознать, я думал, меня настигнет эта участь несколько позже, когда мне будет хотя бы 30+ и я буду каким-нибудь крутым разрабом в известной компании, но мне 26 и я в NoName конторе.
Я долго пытался понять, почему все именно так и кажется пазл сложился. Хочу выговориться. Обычно, цель моих постов — рассказать на какие грабли я наступил, чтобы уберечь читателя, но видимо не в этот раз.
Копаясь в себе, я определил для себя 2 главные причины происходящего:
- отсутствие магии;
- наличие конвейера.
Отсутствие магии
Увлекаться программированием я начал давно: класса с 7го, как открыл для себя робототехнику. Тогда магией казалось все: до заветного написания Hello World в Bascom еще добраться нужно было, пережив разводку и травление плат. А на выяснения того, что ты не довоткнул МК или криво пропаял дорожку могли уходить вечера.
Дальше — больше, стены рушились одна за другой:
- осознание того, как можно запилить полноценный сайт, используя шаблон одной странички и контент из БД;
- понимание того, как ходит парсер и тырит инфу;
- уяснение процесса разработки под мобилки;
- разработка коробочных продуктов;
- выяснение того, как устроен игровой движок;
- и т.д.
Событий этих много, но я ясно помню каждое из них и при каких обстоятельствах они происходили, потому что эта была неописуемая радость и восторг от понимания, как все устроено. Думаю, многие понимают о чем я — эти эмоции ни с чем не спутать.
Но с течением времени магия постепенно стала улетучиваться: каждый раз смотря на очередной сайт, мобильную или десктопную прилу, ты видишь, как оно устроено и знаешь, как работает. Какая используется технология, шаблон, ЯП, GUI’шная обертка, алгоритм или либа. Понятно, что от случая к случаю, понимание это где-то больше, а где-то меньше, но это не имеет значения. Важно, что есть общее осознание системы и ее блоков, а реализация — это всего-лишь инструменты.
Все чаще, я начал ловить себя на мысли, что мне не интересно реализовывать то, что я точно знаю, как устроено. Я могу не спать ночами, думая, как решить ту или иную задачу, но как только, я понимаю, с помощью каких инструментов и технологий она решается, как декомпозируется, находится ответ, — дальше уже не интересно.
Прям какая-то нездоровая зависимость от знаний и новых технологий.
Наличие конвейера
Как только я закончил универ, я вышел на полноценные 40 часов в неделю. До этого я или фрилансил или работал неполную неделю (в лучшем случае 24 часа). И тут я начинаю понимать, что что-то не то, что все, что я люблю в программировании превращается в работу у станка.
Мне очень повезло с местом работы: я не делаю пресловутые мобильные дрочильни, не гоняю джейсонки, не разрабатываю очередную документно-оборотную систему. На проектах используются разные технологии, механики и железо. С нашим мнением считаются и можно напрямую влиять на конечный продукт. Но тебе все равно приходиться время от времени верстать какую-нибудь кнопочку или пилить скучную обыденную фичу потому что она нужна твоим пользователям.
Так все устроено: невозможно все время разрабатывать что-то уникальное.
Попытки выхода
Охх… что я только не перепробовал: pet-проекты, хакатоны, статьи на хабр, менторство, DevOpsing, менеджерские и управленческие задачи, но исход всегда один: отсутствие магии и наличие конвейера.
Из всего вышеперечисленного хакатоны мне зашли больше всего, но там свои подводные камни. В будущем планирую подробно осветить данную тему со своей колокольни.
Вместо заключения
Я знаю, я не один такой. Я видел ребят, которые занимают топовые позиции в крупных компаниях, но при этом пилят формочки или разочарованы тем, что увидели легаси код продукта, которым пользуются ежедневно миллионы, а он настолько ужасен, что школьник сделал бы лучше.
Иногда, я задаю себе вопрос: почему я не могу радоваться как другие? Почему есть те, которые машут в камеру заказчику раз в сутки, гоняют х*и джейсонки и им норм?
Но ответ прост: я пришел ради магии будучи ребенком.
Автор: APcode_ars