Год самостоятельного IT-обучения, подведение итогов – #23-11/24

Всем привет! На самом деле, правильнее было бы назвать пост «Итоги двенадцати месяцев и семнадцати дней обучения», потому что я пропустил день рождения блога😅 Вот тут, чуть больше года назад, ничего не понимающий работяга с завода рассказывает, как он хочет повысить свою компьютерную грамотность и перекатиться в IT. В круглые даты принято резюмировать проделанную работу, поэтому давайте и мы поддержим традицию.

Год самостоятельного IT-обучения, подведение итогов – #23-11/24

Прошлое полугодовое подведение итогов было здесь, и в основном я там рассказывал о теоретических основах и прочитанных книгах. После этого я стал больше внимания уделять практике: покрутил в небольшом пет-проекте датафрейм и перешел к выполнению тестовых заданий из вакансий.

Тестовые оказались очень разными по сложности. Причем, насколько я заметил, сложность не зависит от размера и солидности компании. Задания для стажера в Headhunter и джуна в Ozon, по ощущениям проще, чем тест в некоторые небольшие стартапы.

Были совсем небольшие задания, например, рассортировать потребителей компании в ABC-анализе или рассчитать несколько несложных метрик. Главное здесь для меня было оперативно изучить, как считать эти показатели и разобраться в новых инструментах. Так у меня получилось с JupyterNotebook и библиотекой matplotlib – в одном из заданий просили почистить датасет (присутствовали null-значения и покупатели с возрастом 180 лет) и нарисовать несложный график.

Получился вот такой симпатяга
Получился вот такой симпатяга

В тестовых посложнее уже просят рассчитать метрики с использованием когортного анализа, например, LTV и retention на определенный день. Еще сюда я бы отнес SQL-запросы с использованием оконных функций и CTE. Причем основная сложность для меня здесь не в том, чтобы правильно написать синтаксис (хотя все равно далеко до написания кода «на лету»), а увидеть саму необходимость использования этих функций. Явно нужно больше практики и насмотренности.

Но особенно мне запомнилось (будет сниться в кошмарах😆) одно по-настоящему гигантское задание с описанием необходимого SQL-запроса на полторы страницы. В одном скрипте нужно было из исходных данных создать таблицу на 27 расчетных столбцов (27 столбцов, Карл!). Заканчивал я его уже под утро и закономерно в какой-то момент все пошло не по плану:

Запрос явно нуждается в оптимизации :)
Запрос явно нуждается в оптимизации :)

Так что впредь постараюсь не затягивать с заданиями. Хотя со сроками выполнения некоторые HR’ы явно жестят:

С этой вакансией вообще было много странного. Составлена чисто под аналитика данных, а тестовое прислали на описание процесса в BPMN. Да еще и срок – два дня
С этой вакансией вообще было много странного. Составлена чисто под аналитика данных, а тестовое прислали на описание процесса в BPMN. Да еще и срок – два дня

В основном, конечно же, на выполнение дают от недели до двух. И это хороший срок, особенно, если ты уже трудоустроен и делаешь тестовые вечером после работы. Ну или наоткликался на вакансии и у тебя висит их пачка😉

В общем, за несколько месяцев я опробовал довольно много инструментов из разных направлений. С одной стороны это плохо – лучше бы мне затачиваться под конкретные программы и сервисы, но с другой стороны, теперь я знаю, о чем идет речь при словах «Jupyter», «BigQuery», «сводная таблица» и «XLOOKUP»😄

С Экселем вообще получилось интересно. Год назад я начал с изучения SQL, потому что его знание чаще встречалось в требованиях. К зеленым табличкам у меня было предвзятое отношение. Но, как оказалось, современный Excel – это неслабый такой станок, умеющий намного больше, чем я думал. Например, было несколько тестовых заданий, которые я сделал сначала в «черновике»-экселе, а потом уже, как просили, в pandas или SQL. Насколько я знаю, с действительно большими таблицами он не справится, но на коленке посчитать стандартные метрики или слепить презенташку можно в несколько кликов.

Кстати, дорогие подписчики, подскажите, на каком языке сейчас принято писать формулы в Excel? =ИНДЕКС(…ПОИСКПОЗ()) или =INDEX(…MATCH())? Зависит от компании или без разницы, главное, чтобы работало?

Итак, попробую систематизировать, с чем я познакомился за полгода:

1. Группа SQL

BigQuery, Looker Studio – часть огромного комбайна под названием Google Cloud, подарившего мне вдохновение месяц назад. Библиотека sqlite3 – sql-запросы внутри Питона, использовал ее в пет-проекте. Узнал о существовании функции GROUP BY cube() – буду очень рад, если когда-нибудь получится выпендриться с ее использованием😅 Ну и само-собой, при выполнении тестовых заданий потренировал подзапросы, оконные функции и CTE. Жалею, что подзабросил sql-ex.ru. Нужно будет освежить в памяти базу данных с кораблями😏

2. Группа Python

JupyterNotebook – не без труда мне далась установка и запуск этих блокнотов, но в итоге небольшой анализ в них был произведен (даже с простенькой визуализацией через библиотеку matplotlib). С помощью пет-проекта (и под присмотром знакомого айтишника) потренировал контроль версий Git и функционал Github. Также, благодаря тестовым заданиям поближе познакомился с библиотеками openpyxl и pandas – чуть более уверенно использую df.groupby() и df.query()

3. Группа «Аналитика»

LTV, RFM, ABC больше не рандомный набор букв – со шпаргалкой, но уже могу рассортировать по разным признакам покупателей и поставщиков какого-нибудь магазина. Сюда добавлю понятия «когорта» и «retention» - изучил также по ходу выполнения тестов.

4. Группа «Прочее»

Довольно плотно поработал в Excel. Многие не воспринимают его всерьез, но сводные таблицы, ВПР/ИНДЕКС/ПРОСМОТРХ это отличные инструменты для быстрой и наглядной аналитики. Особенно, если нет необходимости стрелять из пушки (python’а) по воробьям. Также начал потихоньку изучать PowerBI – про него пока не могу придумать остроумный комментарий, чуть позже расскажу о нем подробнее😄

Чтобы свести воедино и как-то зафиксировать новую информацию, начинаю потихоньку работать над следующим проектом в портфолио. Есть идея взять датасет с историческими данными о продажах (уже присмотрел парочку на Kaggle.com) и посчитать 4-5 основных метрик в разных системах: покрутить датафрейм в Jupyter, написать запросы в Postgres и попробовать тот же набор посчитать с помощью сводных таблиц в Excel.

Само собой, буду плотно держать вас в курсе создания этого аналитического шедевра😎

P.S. Чуть не забыл! Недавно был не только день рождения блога, но и еще один сомнительный юбилей, с которым поздравил Headhunter:

Год самостоятельного IT-обучения, подведение итогов – #23-11/24

Начало положено. Работаем дальше!

1515
11
15 комментариев

Да все , айти уже не самое высокооплачиваемое. У работяг с заводов щас не меньше.
Переучивайся на токаря

6
Ответить

Все относительно, большинство частных заводов до сих пор хуй клали на работников, на многих зп ближе к ИТшным онли за 12 часов 6/1 график. К этому прибавляем не очень чистый воздух в цехе, хуй на охране труда и в целом хуй на отношение к людям-работягам. Поэтому повышать комфорт на месте где ты проводишь большую часть жизни всё ещё актуально, хоть даже если деньги будут меньшие.

5
Ответить

Да и в целом в условиях проеба денег от факторов, на которые не можешь повлиять (экономика) считаю погоню за оными сейчас нецелесообразной. В целом как и всегда лучше заниматься тем, от чего получаешь искренний кайф.

3
Ответить

Ну если ставить цель прям на высокооплачиваемую, то тут токарь и электрик, согласен)

1
Ответить

на местном уровне да, но токарь не может устроится на удаленке в великобританскую контору за большую зп да ещё и в валюте

Ответить

Лонг аж накатал, а суть не вынес в тл;др - 300к/наносек есть?

1
Ответить

Он все еще безработный

1
1
Ответить