Знаете вот это чувство, когда ты что-то делаешь, у тебя не получается или получается со скрипом, и это действие требует повышенной концентрации. А потом в один момент хоба — и ты его делаешь случайно, очень легко и даже получается не ужасно.
В этот момент в голове что-то щёлкает, типа “а, вот как надо было” — и всё, ты научился, дальше так же легко повторяется снова и снова. И потом даже смешно становится, что раньше ты тут прикладывал максимум усилий, а сейчас делаешь одной рукой с закрытыми глазами.
У меня такое было с SQL, правда в начале я и сам не знал что получается плохо 🙂
Когда я учил SQL, затронул наверное все форматы — были и курсы, которые накинули теории, и сайты с задачками и даже книжку по постгре купил (правда даже не дочитал её до середины, настолько душной она была).
Но судя по задачкам с сайтов, я был уверен, что в принципе, понимаю что это такое и как оно устроено. Да у меня даже работа уже была (я был там первым и единственным аналитиком), где помимо всего прочего надо было вести борды в редаше (а это SQL-based BI). Ну там в основном мелочи всякие надо было писать, типа один запрос — один график, а это часто 5-10 строк кода. Что-то сложнее могло пойти на стаковерфлоу, но в целом было норм.
Это подпитывало мою уверенность что да, вот так обычно все и делают. Ну и в учёбе задачки такого же уровня были, на крайняк хитрая функция, но задача всегда линейна.
А потом я попал в компанию с развитой аналитической командой, где мне в первый же день скинули на изучение скрипт витрины для гигаборда, который считал огромную пачку ключевых метрик. Это была не какая-то красивая и удобная витринка для менеджеров, а прям официальная документация аналитиков — зацеплены все основные метрики (штук 50 точно было) и бОльшая часть популярных структур данных. Тонны джоинов и обращений к словарям, чтобы максимально всё нужное захватить.
Стоит ли говорить что он был реально огромный, чтобы просто докрутить этот скрипт до конца, скроллить нужно было секунд 10. Порог в 1000 строк он там явно перешагнул.
Первые дни я сидел с мыслями: "это вообще что такое, это что sql? Ну вот и смерть моя пришла, земля прощай, нас такому не учили и жизнь не готовила". На мой немой ахуй, лид только улыбался и говорил что-то типа “да он лёгкий, просто… ну большой получился))0)”.
Я там недели две наверное вдуплял что к чему, медленно, но уверенно, как Рокки Бальбоа, впитывал структуру и фиксировал интересные моменты, которые не сложные, а скорее хитрые, и до которых я сам не додумался. Радовался что даже что-то начинаю понимать.
И вот когда я с ним разобрался — оно щёлкнуло — я понял как работает SQL. Реально, всего за одну задачку (пусть и через все стадии принятия) мой уровень запросов сменился от подсчёта количества строк (”воу, 20 строк, вот это я машина”) к ощущению задачи и поискам путей решения, к пониманию структуры запроса и планированию скрипта сильно наперёд.
#кулстори