Ноябрь 2022:
✅ В ноябре началась серьезная работа над новым сервисом, у меня появились боевые задачи, которые нужно было успевать делать за спринт, чтобы не подвести команду. Приходилось успевать - учиться на ходу и работать до ночи, чтобы держать сроки. За 2 спринта все задачи были выполнены вовремя, качество также было подтвержденно на код-ревью, тим-лид доволен, а это главное ;)
✅ Освоился с моками! Это такие заглушки, которые имитируют, например, подключение к базе данных, которым ты задаешь ожидаемое поведение и проверяешь логику своего кода - чаще всего ветвление (if и прочие конструкции). Каждый разработчик обязан писать тесты на свой код, я это чувствую на собственном опыте - почти каждый тест подсвечивает недостаток в коде, который упустил из виду во время разработки. Больше тестов => выше качество кода и быстрее рефакторинг.
⭕️ Не получается заставить себя сесть и закончить обучение в Otus, в ноябре был весь в работе + нет большой мотивации заканчивать, к сожалению. Но я обязательно закончу (платный срок сдачи очередной раз продлили, теперь до 7 января).
💬 Зависшее обучение, брошенные на половине книги - это все, конечно, важно, чтобы чувствовать себя прилежным. Буду очень стараться "хвосты" закрыть до конца года, но основной мой фокус сейчас на работе - через пару недель кончается испытательный срок и мне важно показать себя эффективным и влиться в команду.
#результаты
✅ В ноябре началась серьезная работа над новым сервисом, у меня появились боевые задачи, которые нужно было успевать делать за спринт, чтобы не подвести команду. Приходилось успевать - учиться на ходу и работать до ночи, чтобы держать сроки. За 2 спринта все задачи были выполнены вовремя, качество также было подтвержденно на код-ревью, тим-лид доволен, а это главное ;)
✅ Освоился с моками! Это такие заглушки, которые имитируют, например, подключение к базе данных, которым ты задаешь ожидаемое поведение и проверяешь логику своего кода - чаще всего ветвление (if и прочие конструкции). Каждый разработчик обязан писать тесты на свой код, я это чувствую на собственном опыте - почти каждый тест подсвечивает недостаток в коде, который упустил из виду во время разработки. Больше тестов => выше качество кода и быстрее рефакторинг.
⭕️ Не получается заставить себя сесть и закончить обучение в Otus, в ноябре был весь в работе + нет большой мотивации заканчивать, к сожалению. Но я обязательно закончу (платный срок сдачи очередной раз продлили, теперь до 7 января).
💬 Зависшее обучение, брошенные на половине книги - это все, конечно, важно, чтобы чувствовать себя прилежным. Буду очень стараться "хвосты" закрыть до конца года, но основной мой фокус сейчас на работе - через пару недель кончается испытательный срок и мне важно показать себя эффективным и влиться в команду.
#результаты
👍1
В Авито нет классических джунов, мидлов, синьоров, а есть понятная система грейдов от E1 - E8.
За 3 месяца работы, пообщавшись с ребятами, я нарисовал себе такое соответствие:
- E1 - trainee
- E2 - junior
- E3 - middle
- E4 - middle+
- E5 - senior
- E6-8 - senior+++
При этом, позиция тим-лида - это не грейд, а больше должность. Чаще всего она у разработчиков уровня E5, так как в момент достижения этого уровня он определяется: либо продолжает развивать хард-скилы (E5 -> E6 -> E7 -> E8), либо развивается как лидер команды - менеджер (тим-лид -> тех. лид -> топ менеджер).
Чтобы взять хотя бы E5 мне потребуется минимум 2-3 года, одна из следующих целей - промо до E4.
На собеседованиях часто спрашивают: кем вы видите себя через 5 лет? Я для себя определил: 2-3 года - это будет рост до крепкого синьора (E5) по меркам Авито, а затем, скорее всего, буду уходить в менеджерскую ветку, так как мне интересно общаться с людьми и строить эффективное взаимодействие внутри команды для создания лучшего продукта.
Подробнее про грейды можно почитать здесь: https://github.com/avito-tech/playbook/blob/master/developer-profile.md
За 3 месяца работы, пообщавшись с ребятами, я нарисовал себе такое соответствие:
- E1 - trainee
- E2 - junior
- E3 - middle
- E4 - middle+
- E5 - senior
- E6-8 - senior+++
При этом, позиция тим-лида - это не грейд, а больше должность. Чаще всего она у разработчиков уровня E5, так как в момент достижения этого уровня он определяется: либо продолжает развивать хард-скилы (E5 -> E6 -> E7 -> E8), либо развивается как лидер команды - менеджер (тим-лид -> тех. лид -> топ менеджер).
Чтобы взять хотя бы E5 мне потребуется минимум 2-3 года, одна из следующих целей - промо до E4.
На собеседованиях часто спрашивают: кем вы видите себя через 5 лет? Я для себя определил: 2-3 года - это будет рост до крепкого синьора (E5) по меркам Авито, а затем, скорее всего, буду уходить в менеджерскую ветку, так как мне интересно общаться с людьми и строить эффективное взаимодействие внутри команды для создания лучшего продукта.
Подробнее про грейды можно почитать здесь: https://github.com/avito-tech/playbook/blob/master/developer-profile.md
GitHub
playbook/developer-profile.md at master · avito-tech/playbook
AvitoTech team playbook. Contribute to avito-tech/playbook development by creating an account on GitHub.
Декабрь 2022:
✅ Событие декабря, на который был основной фокус - прохождение испытательного срока в компании. 26 декабря я стал полноценным членом компании. И пускай это была некоторая формальность и так называемый “адаптационных период” я все равно стремился зарекомендовать себя хорошо в работе над задачами и как командный игрок.
✅ Ключевой задачей декабря стало знакомство с Graphite и освоение нового инструмента для работы с метриками - Grafana. Научился создавать дашборды и настраивать алерты через Moira в mattermost (корпоративный мессенджер).
❌ Сроки по обучению в Otus я зафейлил. Проектную работу сдать не удалось, как и 15-ое задание (буду фоном заканчивать, как пет-проект). Результат обучение, в целом, считаю превзошедшим все ожидания. Я не только освоил новый ЯП, но и смог трудоустроиться в крутую компанию с ним!
❌ Книгу по чистой архитектуре Роберта Мартина оставил на половине, так как текущей квалификации не хватает, чтобы получить из книги максимум пользы. Вернусь к ней ближе к середине года, когда буду лучше разбираться в проектировании архитектуры систем. Книгу по микросервисам за 22-ой также закончить не успел, но не забрасываю и плавно дочитываю.
#результаты
✅ Событие декабря, на который был основной фокус - прохождение испытательного срока в компании. 26 декабря я стал полноценным членом компании. И пускай это была некоторая формальность и так называемый “адаптационных период” я все равно стремился зарекомендовать себя хорошо в работе над задачами и как командный игрок.
✅ Ключевой задачей декабря стало знакомство с Graphite и освоение нового инструмента для работы с метриками - Grafana. Научился создавать дашборды и настраивать алерты через Moira в mattermost (корпоративный мессенджер).
❌ Сроки по обучению в Otus я зафейлил. Проектную работу сдать не удалось, как и 15-ое задание (буду фоном заканчивать, как пет-проект). Результат обучение, в целом, считаю превзошедшим все ожидания. Я не только освоил новый ЯП, но и смог трудоустроиться в крутую компанию с ним!
❌ Книгу по чистой архитектуре Роберта Мартина оставил на половине, так как текущей квалификации не хватает, чтобы получить из книги максимум пользы. Вернусь к ней ближе к середине года, когда буду лучше разбираться в проектировании архитектуры систем. Книгу по микросервисам за 22-ой также закончить не успел, но не забрасываю и плавно дочитываю.
#результаты
Новиков > путь в Big Tech
5📚 | 3г ⏳ | 👨💻 SE [E3]
Так как уже полноценно занимаюсь коммерческой разработкой ПО, то считаю верным подвести итог своего обучения (инженер -> программист).
👨💻 2.5 года потребовалось, чтобы с нуля зайти в бэкенд разработку на популярный язык программирования на позицию middle (при этом я начинал обучение с C# и написания десктопных приложений; спустя 2 года сменил язык на Go, а десктоп на веб).
💵 65.000 рублей суммарно потрачено за весь срок обучения, включая: премиум подписку на ITVDN + платные курсы на Stepik + книги + курсы в ВШПСБ + репетитор по математике для подготовки к школе, в которую не стал поступать.
📚5 книг прочитано за все время. Безусловно книги очень помогли уложить в голове некоторые особенности алгоритмов, изучаемых платформ и программирования в целом, но без постоянной практики - они были бы бесполезны.
👨💻 2.5 года потребовалось, чтобы с нуля зайти в бэкенд разработку на популярный язык программирования на позицию middle (при этом я начинал обучение с C# и написания десктопных приложений; спустя 2 года сменил язык на Go, а десктоп на веб).
💵 65.000 рублей суммарно потрачено за весь срок обучения, включая: премиум подписку на ITVDN + платные курсы на Stepik + книги + курсы в ВШПСБ + репетитор по математике для подготовки к школе, в которую не стал поступать.
📚5 книг прочитано за все время. Безусловно книги очень помогли уложить в голове некоторые особенности алгоритмов, изучаемых платформ и программирования в целом, но без постоянной практики - они были бы бесполезны.
🔥2
Итоги 2022:
❕Достижение поставленных целей❕
✅ Уже более 3-х месяцев работаю на позиции Go developer в крупнейшей IT-компании РФ и компании №1 среди классифайдов в мире.
✅ Отобрался в ВШПСБ и прошел 1 курс по Чистой архитектуре.
✅ Прошел курс по SQL на Степике (продвинутый SQL + проектирование БД).
✅ Обновил CV на Гитхабе и создал страничку в Notion, которую отправлял рекрутерам, где было резюме в разных форматах и ссылка на Гитхаб.
✅ Закрыл все обязательства перед Заказчиками по ИП, сохранил хорошие отношения с ними и увеличил прибыль по сравнению с прошлым годом более чем в 3 раза.
✅ Решил 15 алгоритмических задачек (leetcode) и выложил результаты на Гитхаб.
⭕️ Прочитал 2 книги: 1 - по чистоте и качеству кода и 1 по Go (планировал в сумме 4).
⭕️ Не прошел до конца курс по Go от OTUS+Avito. Сдано 14 из 15 ДЗ, финальный проект практически сделан, но не сдан. Прекрасный был курс, жаль не хватило сил его завершить - сложная осень выдалась.
❌ Не прошел курс по Linux.
❌ Не поступил в CSC (отказался от подготовки к экзаменам в процессе, а потом оказалось, что школа в 22-м году закрылась).
❌ Не прошел курс по frontend-разработке (html, css, JS + Angular).
❕ Что еще было за год ❕
✔️ Получил 2 отказа на позицию C#-разработчика и 5 отказов на позицию Go-разработчика. Это отказы после собеседований и тестовых заданий, здесь я не упоминаю еще более 20 неудачных откликов на hh.
✔️ Уволился с работы, где являлся инженер-программистом, автоматизируя проектирование/строительство, в никуда, чтобы учиться новому.
✔️ Прекратил работу с информационным моделированием и разработкой любых плагинов, разрушив стереотип работодателей, которые отказывали мне по причине: "человек большую часть времени писал плагины для САПР". Как будто разрабатывать плагины - это какое-то клеймо. И получил первый опыт коммерческой разработки, что безумно важно.
✔️ Был забанен навечно в ВШПСБ за то, что просрочил очередной дедлайн и не догадался "заморозить обучение". Это было очень обидно, но я нашел в себе силы вынести из этого полезные уроки.
✔️ Улучшил свои навыки с Linux и пониманием фронтенда за счет статей и лекций CS50.
✔️ За счет книги System Design Interview стал лучше понимать как проектируются веб-системы.
✔️ Поднял и настроил собственный VPN-сервер, что сильно облегчило мне жизнь.
✔️ И, конечно же, прошел 6 собеседований в Авито, из которых 3 - технических и 3 - финальных, на которых оценивали мои софт скиллы и пытались подобрать подходящую команду.
#итоги
❕Достижение поставленных целей❕
✅ Уже более 3-х месяцев работаю на позиции Go developer в крупнейшей IT-компании РФ и компании №1 среди классифайдов в мире.
✅ Отобрался в ВШПСБ и прошел 1 курс по Чистой архитектуре.
✅ Прошел курс по SQL на Степике (продвинутый SQL + проектирование БД).
✅ Обновил CV на Гитхабе и создал страничку в Notion, которую отправлял рекрутерам, где было резюме в разных форматах и ссылка на Гитхаб.
✅ Закрыл все обязательства перед Заказчиками по ИП, сохранил хорошие отношения с ними и увеличил прибыль по сравнению с прошлым годом более чем в 3 раза.
✅ Решил 15 алгоритмических задачек (leetcode) и выложил результаты на Гитхаб.
⭕️ Прочитал 2 книги: 1 - по чистоте и качеству кода и 1 по Go (планировал в сумме 4).
⭕️ Не прошел до конца курс по Go от OTUS+Avito. Сдано 14 из 15 ДЗ, финальный проект практически сделан, но не сдан. Прекрасный был курс, жаль не хватило сил его завершить - сложная осень выдалась.
❌ Не прошел курс по Linux.
❌ Не поступил в CSC (отказался от подготовки к экзаменам в процессе, а потом оказалось, что школа в 22-м году закрылась).
❌ Не прошел курс по frontend-разработке (html, css, JS + Angular).
❕ Что еще было за год ❕
✔️ Получил 2 отказа на позицию C#-разработчика и 5 отказов на позицию Go-разработчика. Это отказы после собеседований и тестовых заданий, здесь я не упоминаю еще более 20 неудачных откликов на hh.
✔️ Уволился с работы, где являлся инженер-программистом, автоматизируя проектирование/строительство, в никуда, чтобы учиться новому.
✔️ Прекратил работу с информационным моделированием и разработкой любых плагинов, разрушив стереотип работодателей, которые отказывали мне по причине: "человек большую часть времени писал плагины для САПР". Как будто разрабатывать плагины - это какое-то клеймо. И получил первый опыт коммерческой разработки, что безумно важно.
✔️ Был забанен навечно в ВШПСБ за то, что просрочил очередной дедлайн и не догадался "заморозить обучение". Это было очень обидно, но я нашел в себе силы вынести из этого полезные уроки.
✔️ Улучшил свои навыки с Linux и пониманием фронтенда за счет статей и лекций CS50.
✔️ За счет книги System Design Interview стал лучше понимать как проектируются веб-системы.
✔️ Поднял и настроил собственный VPN-сервер, что сильно облегчило мне жизнь.
✔️ И, конечно же, прошел 6 собеседований в Авито, из которых 3 - технических и 3 - финальных, на которых оценивали мои софт скиллы и пытались подобрать подходящую команду.
#итоги
🔥1
Цели на 2023:
💫 Закрепиться на позиции «крепкий middle / middle+» (формально - промоут с E3->E4 в текущей компании).
🎯 Сделать полезный (как минимум 1-му человеку принесет пользу) проект, который будет развернут в докер-контейнере на собственном VPS-сервере.
🎯 Прочитать минимум 4 книги: 2 - по проектированию архитектуры, 1 по специфике Go, 1 - по гибким методологиям.
🎯 Улучшить свои знания по кибер-безопасности (как минимум, пройти корпоративный курс по теме).
🎯 Освоить базу по фронтенд-разработке (JavaScript).
🏅 Значительно улучшить разговорные навыки английского + чтение тех. литературы (важнейший в IT-навык).
🏅 Решить 15 алгоритмических задачек (leetcode) и выложить результаты на Github.
🏅 Прочитать книгу по проектированию БД и SQL.
🏅 Улучшить резюме на: github, linkedin.
🏅 Изучить TDD (+ иные техники).
🏅 Пройти курс по Linux.
—
💫 - эпик | 🎯 - цель, приближающая к эпику | 🏅- побочная цель (будет круто, если достигну)
#цели
💫 Закрепиться на позиции «крепкий middle / middle+» (формально - промоут с E3->E4 в текущей компании).
🎯 Сделать полезный (как минимум 1-му человеку принесет пользу) проект, который будет развернут в докер-контейнере на собственном VPS-сервере.
🎯 Прочитать минимум 4 книги: 2 - по проектированию архитектуры, 1 по специфике Go, 1 - по гибким методологиям.
🎯 Улучшить свои знания по кибер-безопасности (как минимум, пройти корпоративный курс по теме).
🎯 Освоить базу по фронтенд-разработке (JavaScript).
🏅 Значительно улучшить разговорные навыки английского + чтение тех. литературы (важнейший в IT-навык).
🏅 Решить 15 алгоритмических задачек (leetcode) и выложить результаты на Github.
🏅 Прочитать книгу по проектированию БД и SQL.
🏅 Улучшить резюме на: github, linkedin.
🏅 Изучить TDD (+ иные техники).
🏅 Пройти курс по Linux.
—
💫 - эпик | 🎯 - цель, приближающая к эпику | 🏅- побочная цель (будет круто, если достигну)
#цели
Новиков > путь в Big Tech pinned «Цели на 2023: 💫 Закрепиться на позиции «крепкий middle / middle+» (формально - промоут с E3->E4 в текущей компании). 🎯 Сделать полезный (как минимум 1-му человеку принесет пользу) проект, который будет развернут в докер-контейнере на собственном VPS-сервере.…»
Новиков > путь в Big Tech pinned «Так как уже полноценно занимаюсь коммерческой разработкой ПО, то считаю верным подвести итог своего обучения (инженер -> программист). 👨💻 2.5 года потребовалось, чтобы с нуля зайти в бэкенд разработку на популярный язык программирования на позицию middle…»
Новиков > путь в Big Tech pinned «Так как уже полноценно занимаюсь коммерческой разработкой ПО, то считаю верным подвести итог своего обучения (инженер -> программист). 👨💻 2.5 года потребовалось, чтобы с нуля зайти в бэкенд разработку на популярный язык программирования на позицию middle…»
Январь 2023:
✅ Одно из важнейший событий января - я нашел себе учителя по английскому! Попробую заниматься дважды в неделю, а там - как пойдет.
✅ Начал делать небольшой проектик, на котором хочу качественно освоить деплой своего приложения в докер контейнере на удаленном сервере.
✅ В рамках развития своих софт-скиллов (не все же технику изучать) вдохновил свою скрам-команду для участия во внутреннем корпоративном антихакатоне. Если на обычном хакатоне нужно разработать проект с нуля, то на таком - нужно презентовать свою работу за прошлый год, которой особенно гордишься. В итоге: заполнили заявку, кратко презентовали свой проект и прошли в финал!
✅ Январь выдался особо творческим. Также записался на интенсив по театральному искусству, основной упор на улучшение коммуникации и развитие концентрации. Важно держать баланс между хард и софт-скиллами, перекоса быть не должно. И как правило, одно - гармонично дополняет другое и помогает быть продуктивным в работе и жизни.
#результаты
✅ Одно из важнейший событий января - я нашел себе учителя по английскому! Попробую заниматься дважды в неделю, а там - как пойдет.
✅ Начал делать небольшой проектик, на котором хочу качественно освоить деплой своего приложения в докер контейнере на удаленном сервере.
✅ В рамках развития своих софт-скиллов (не все же технику изучать) вдохновил свою скрам-команду для участия во внутреннем корпоративном антихакатоне. Если на обычном хакатоне нужно разработать проект с нуля, то на таком - нужно презентовать свою работу за прошлый год, которой особенно гордишься. В итоге: заполнили заявку, кратко презентовали свой проект и прошли в финал!
✅ Январь выдался особо творческим. Также записался на интенсив по театральному искусству, основной упор на улучшение коммуникации и развитие концентрации. Важно держать баланс между хард и софт-скиллами, перекоса быть не должно. И как правило, одно - гармонично дополняет другое и помогает быть продуктивным в работе и жизни.
#результаты
Личный бренд [Часть 1]
Странно в 2023 году размышлять на тему важности собственного бренда. Еще в 2017 заметил, что специалисты, которые выступают на профильных конференциях, ведут свои блоги и подкасты - всегда на голову выше остальных. У них нет проблем с поиском работы, их готовы забирать практически без собеседований и единственным вопросом зачастую может служить "сколько вы хотите зарабатывать?" и "когда готовы приступить?".
В IT, конечно, это не правило и пресловутый Гугл звездному кандидату сходу не даст оффер. Но таким кандидатам определенно проще проходить отбор: им первыми пишут HR, предлагая проскочить первые секции, на которых обычно 90% отсеивают, поэтому, очевидно, и здесь плюс.
В общем, бренд - это про то, насколько известен ты в профильном сообществе. Возможно, ты создал крутую опен-сорс библиотеку, которой пользуются крупнейшие сайты, а, может, активно контрибьютишь в развитие популярных ЯП. Специализированные блоги, туториалы для новичков и даже полезные посты в Линкедине - все служит созданию твоего бренда, а он потом будет служить тебе.
#бренд
Странно в 2023 году размышлять на тему важности собственного бренда. Еще в 2017 заметил, что специалисты, которые выступают на профильных конференциях, ведут свои блоги и подкасты - всегда на голову выше остальных. У них нет проблем с поиском работы, их готовы забирать практически без собеседований и единственным вопросом зачастую может служить "сколько вы хотите зарабатывать?" и "когда готовы приступить?".
В IT, конечно, это не правило и пресловутый Гугл звездному кандидату сходу не даст оффер. Но таким кандидатам определенно проще проходить отбор: им первыми пишут HR, предлагая проскочить первые секции, на которых обычно 90% отсеивают, поэтому, очевидно, и здесь плюс.
В общем, бренд - это про то, насколько известен ты в профильном сообществе. Возможно, ты создал крутую опен-сорс библиотеку, которой пользуются крупнейшие сайты, а, может, активно контрибьютишь в развитие популярных ЯП. Специализированные блоги, туториалы для новичков и даже полезные посты в Линкедине - все служит созданию твоего бренда, а он потом будет служить тебе.
#бренд
Личный бренд [Часть 2]
Я решил начать пока с малого и развивать Гитхаб. На днях наткнулся на интересный помогатор в оформлении собственной странички. Фактически инструмент - это просто опросник, ответы из которого в конце превращаются в файлик README формата markdown.
Прикольно, что этот инструмент бесплатный и можно за 5 секунд сделать себе страничку. Но у меня ушло порядка полутора часов, как это обычно бывает. Я стал разбираться в кодовом файлике, стал подбирать цвета, по-другому компоновать блоки уже руками исправляя код, в итоге прикрепляю "ДО" и "ПОСЛЕ".
Понимаю, что нужно над Гитхабом работать постоянно, чтобы данная статистика выглядела впечатляюще, контрибьютить в опен-сорс и развивать свои решения.
Есть некоторые идеи по развитию профиля, в общем, stay tuned ;)
#бренд
Я решил начать пока с малого и развивать Гитхаб. На днях наткнулся на интересный помогатор в оформлении собственной странички. Фактически инструмент - это просто опросник, ответы из которого в конце превращаются в файлик README формата markdown.
Прикольно, что этот инструмент бесплатный и можно за 5 секунд сделать себе страничку. Но у меня ушло порядка полутора часов, как это обычно бывает. Я стал разбираться в кодовом файлике, стал подбирать цвета, по-другому компоновать блоки уже руками исправляя код, в итоге прикрепляю "ДО" и "ПОСЛЕ".
Понимаю, что нужно над Гитхабом работать постоянно, чтобы данная статистика выглядела впечатляюще, контрибьютить в опен-сорс и развивать свои решения.
Есть некоторые идеи по развитию профиля, в общем, stay tuned ;)
#бренд
Не прошло 1 дня, как моя статистика на Гитхабе частично отвалилась.
Но оказалось все просто: статистика собиралась через сервис, на которой рейт-лимитер (да-да, тот, который я не реализовал в финальном проекте Otus) заблокировал мои запросы к нему. Видимо, прилично людей разместили статистику таким же образом и случилось слишком много запросов.
Элегантным решением стало - сделать форк репозитория с этим сервисом по статистике и развернуть свой сервис где-нибудь в облаке, чтобы была только 1 точка отказа - само облако.
Проблема оказалась распространена и быстрый гуглеж подсказал видео-ролик, где индийский разработчик использует Vercel для деплоя сервиса с такой статистикой.
Попробовал также - получилось! И теперь за статистику на своем профиле можно не переживать, а большим плюсом стало то, что узнал новый и бесплатный инструмент для деплоя своих веб-приложений. Обязательно буду копать его больше в будущем, когда начну постигать JS.
#инструменты
Но оказалось все просто: статистика собиралась через сервис, на которой рейт-лимитер (да-да, тот, который я не реализовал в финальном проекте Otus) заблокировал мои запросы к нему. Видимо, прилично людей разместили статистику таким же образом и случилось слишком много запросов.
Элегантным решением стало - сделать форк репозитория с этим сервисом по статистике и развернуть свой сервис где-нибудь в облаке, чтобы была только 1 точка отказа - само облако.
Проблема оказалась распространена и быстрый гуглеж подсказал видео-ролик, где индийский разработчик использует Vercel для деплоя сервиса с такой статистикой.
Попробовал также - получилось! И теперь за статистику на своем профиле можно не переживать, а большим плюсом стало то, что узнал новый и бесплатный инструмент для деплоя своих веб-приложений. Обязательно буду копать его больше в будущем, когда начну постигать JS.
#инструменты
Февраль 2023:
📌 Зима у меня выдалась интересная: основной фокус был на прокачку софт-скиллов, проявления лидерских компетенций. Также случилось множество публичных выступлений. Все это классно и полезно, но нельзя забывать про основной профиль (backend-разработка) - с марта начинаю уходить в хард-скиллы.
✅ Прошел боевое крещение в качестве бэкендера -замедлил прод в 3 раза примерно на 15 секунд . Выводы сделал, планирую также написать пост про опыт, который получил // (формально это произошло в конце января, но не попало в прошлый отчет)
✅ Познакомился с крутейшим инструментом для создания заметок - Obsidian, а также системой Zettelkasten // обязательно сделаю пост о том, как адаптировал ее под себя
✅ Немного прокачал гитхаб, создав главную страницу и добавив красивой статистики на нее.
✅ Занял с командой 2-е место в финале антихакатона с проектом, в который мало кто верил по началу. Выступил с питчингом проекта в 2-х номинациях в качестве спикера.
✅ Решил раскачать шахматное направление в компании - получается. Есть много желающих заниматься и решать задачки. Под это потихоньку пишу небольшой проектик, который принесет пользу коллегам - будет отдельный пост!
✅ Завершил курс на софт-скиллы под названием "Эффективный театр"; было много практики на концентрацию, импровизацию, а также работы с постоянно меняющимся контекстом на базе обычного 2-х минутного выступления.
✅ Втянулся в занятия английским - занимаюсь дважды в неделю с ДЗ, present perfect continuous'ами и прочими радостями.
⭕️ Напоминание будущему себе: займись уже серьезным программированием!
#результаты
📌 Зима у меня выдалась интересная: основной фокус был на прокачку софт-скиллов, проявления лидерских компетенций. Также случилось множество публичных выступлений. Все это классно и полезно, но нельзя забывать про основной профиль (backend-разработка) - с марта начинаю уходить в хард-скиллы.
✅ Прошел боевое крещение в качестве бэкендера -
✅ Познакомился с крутейшим инструментом для создания заметок - Obsidian, а также системой Zettelkasten // обязательно сделаю пост о том, как адаптировал ее под себя
✅ Немного прокачал гитхаб, создав главную страницу и добавив красивой статистики на нее.
✅ Занял с командой 2-е место в финале антихакатона с проектом, в который мало кто верил по началу. Выступил с питчингом проекта в 2-х номинациях в качестве спикера.
✅ Решил раскачать шахматное направление в компании - получается. Есть много желающих заниматься и решать задачки. Под это потихоньку пишу небольшой проектик, который принесет пользу коллегам - будет отдельный пост!
✅ Завершил курс на софт-скиллы под названием "Эффективный театр"; было много практики на концентрацию, импровизацию, а также работы с постоянно меняющимся контекстом на базе обычного 2-х минутного выступления.
✅ Втянулся в занятия английским - занимаюсь дважды в неделю с ДЗ, present perfect continuous'ами и прочими радостями.
⭕️ Напоминание будущему себе: займись уже серьезным программированием!
#результаты
🔥1
Новиков > путь в Big Tech
Резюме: - Александр - 26 лет - Инженер - Санкт-Петербург
Пролетело 3 года! Хочется отметить основные вехи, чтобы зафиксировать достигнутое и двигаться дальше:
2020 год
👷♂️ Весной я решил поменять свою жизнь и стать программистом. Я был ведущим инженером и придумал как делать свои задачи быстрее при помощи C#. Это был мой первый ЯП, с которого я начал.
📈 В течение всего года я демонстрировал непосредственному начальству результат своей деятельности и как это ускоряет работу коллег. Компания меня поддержала и заверила, что со временем сможет постепенно переводить на другие - более программистские задачи.
* * *
2021 год
👷♂️+👨💻 В начале весны мне официально обновили должность в трудовой, за которой потянулись и новые задачи.
🎓 Параллельно с основной работой я прошел отбор на стажировку в крупнейшую IT-аутсорс компанию по стеку .NET, что меня очень драйвило. Было обучение и крутой ментор, мне это очень помогло понять каким должен быть хороший код.
👨💻 Ближе к лету мне удалось трудоустроиться официально инженер-программистом в новой компании! На старом месте меня тяготило, что остается инженерная рутина + не было полноценной команды и серьезных задач в программировании.
📃 Осенью завершил стажировку в аутсорс-компании и получил оффер на позицию junior-developer. Несмотря на горящее желание уйти в настоящую серверную разработку в международной компании, от оффера отказался и продолжил развитие на основном месте работы, так как видел перспективы.
* * *
2022 год
👨💻 Мне нравится чем я занимаюсь, но не покидает ощущение, что за мной тянется шлейф инженера в строительстве...
🚪 В начале весны принимаю судьбоносное решение уйти из компании в никуда и максимально погрузиться в обучение. Меняю стек с .NET на Go.
🤩 Спустя полгода мне удается трудоустроиться в крупнейшую продуктовую IT-компанию в качестве бэкенд инженера на новом стеке, где работаю по текущее время.
* * *
2023 год
📊 Несмотря на наличие постоянной работы планирую серьезно развивать себя в разных направлениях, чтобы повышать экспертизу. В этом году буду делать ставку на Frontend, чтобы лучше понимать как продукт функционирует со всех сторон.
#результаты #карьера
2020 год
👷♂️ Весной я решил поменять свою жизнь и стать программистом. Я был ведущим инженером и придумал как делать свои задачи быстрее при помощи C#. Это был мой первый ЯП, с которого я начал.
📈 В течение всего года я демонстрировал непосредственному начальству результат своей деятельности и как это ускоряет работу коллег. Компания меня поддержала и заверила, что со временем сможет постепенно переводить на другие - более программистские задачи.
* * *
2021 год
👷♂️+👨💻 В начале весны мне официально обновили должность в трудовой, за которой потянулись и новые задачи.
🎓 Параллельно с основной работой я прошел отбор на стажировку в крупнейшую IT-аутсорс компанию по стеку .NET, что меня очень драйвило. Было обучение и крутой ментор, мне это очень помогло понять каким должен быть хороший код.
👨💻 Ближе к лету мне удалось трудоустроиться официально инженер-программистом в новой компании! На старом месте меня тяготило, что остается инженерная рутина + не было полноценной команды и серьезных задач в программировании.
📃 Осенью завершил стажировку в аутсорс-компании и получил оффер на позицию junior-developer. Несмотря на горящее желание уйти в настоящую серверную разработку в международной компании, от оффера отказался и продолжил развитие на основном месте работы, так как видел перспективы.
* * *
2022 год
👨💻 Мне нравится чем я занимаюсь, но не покидает ощущение, что за мной тянется шлейф инженера в строительстве...
🚪 В начале весны принимаю судьбоносное решение уйти из компании в никуда и максимально погрузиться в обучение. Меняю стек с .NET на Go.
🤩 Спустя полгода мне удается трудоустроиться в крупнейшую продуктовую IT-компанию в качестве бэкенд инженера на новом стеке, где работаю по текущее время.
* * *
2023 год
📊 Несмотря на наличие постоянной работы планирую серьезно развивать себя в разных направлениях, чтобы повышать экспертизу. В этом году буду делать ставку на Frontend, чтобы лучше понимать как продукт функционирует со всех сторон.
#результаты #карьера
👍3
Новиков > путь в Big Tech pinned «Пролетело 3 года! Хочется отметить основные вехи, чтобы зафиксировать достигнутое и двигаться дальше: 2020 год 👷♂️ Весной я решил поменять свою жизнь и стать программистом. Я был ведущим инженером и придумал как делать свои задачи быстрее при помощи C#.…»
Постепенно возвращаюсь к решению Литкода.
Вчера кучу времени потратил на простую задачку, но она того стоила. А все из-за того, что сначала чурался использовать сортировку из стандартной библиотеки. Коллеги, которые проводят собеседования в нашу компанию, говорят, что в этом нет ничего страшного, но ты должен понимать сложность алгоритма сортировки и уметь ее пояснить.
Начиная с этой задачи буду писать небольшое ридми, где будет расписана сложность по времени и памяти, а также мысли, которые привели к решению.
#процесс #алгоритмы
Вчера кучу времени потратил на простую задачку, но она того стоила. А все из-за того, что сначала чурался использовать сортировку из стандартной библиотеки. Коллеги, которые проводят собеседования в нашу компанию, говорят, что в этом нет ничего страшного, но ты должен понимать сложность алгоритма сортировки и уметь ее пояснить.
Начиная с этой задачи буду писать небольшое ридми, где будет расписана сложность по времени и памяти, а также мысли, которые привели к решению.
#процесс #алгоритмы
GitHub
leetcode/easy/mean_of_array_after_removing_some_elements at master · novikov-ai/leetcode
Authors solutions. Contribute to novikov-ai/leetcode development by creating an account on GitHub.
Почему я стал меньше писать кода?
Это размышление не про качество.
Хотя, очевидно, что опытный разработчик может написать в 5 раз меньше строк кода для достижения лучшего результата.
В лихие времена, когда я автоматизировал проектирование, поставляя специалистам плагины, ускоряющие их работу, я мог в день написать 300-500 строк. Это было очень драйвово и я проводил параллель между разработчиками и писателями романов. Программисты фактически пишут тексты, которые обогащают жизнь других новым опытом и возможностями... Мне нравилось изобретать новое, делиться этим с другими - приносить им пользу.
Но все поменялось, когда стал работать в компании, где продукт развивают тысячи сотрудников. Моя зона ответственности с целого инструмента / плагина, который я разрабатывал с нуля, поставлял проектировщикам и затем поддерживал - резко сузилась до разработки конкретной фичи. И все бы ничего, но эта фича может быть поразительно маленькой.
За полгода работы я понял, что коммерческая разработка - это больше про чтение кода, нежели чем его написание. Когда существует огромная кодовая база (сотни тысяч, а то и миллионы строк кода), то нельзя сходу взять и дописать необходимую функциональность для твоей фичи.
Очевидно, что весь фокус смещается с вопроса "как написать фичу?" на вопрос "где написать?". И на вычитку всего проекта и поиск подходящего места с учетом разделения ответственности и всех лучших практик проектирования может уйти много времени. У меня уходило несколько дней только для того, чтобы разобраться в каком сервисе и в каком файле я должен буду добавить 1 строку кода!
Вот так и получается, что для добавления ифчика и закрытия 1 задачи может уйти полспринта. Пример решения заурядной задачи:
1) знакомство с кодовой базой сервиса и поиск места для нового условия;
2) добавление нового юнит-теста на свой ифчик;
3) деплой в дев-окружение;
4) тестирование QA (при необходимости)
5) код-ревью от ответственных сервиса или всех заинтересованных;
6) выкатка в продакшн с последующим мониторингом и готовностью быстро откатить изменения.
С учетом вышеописанного флоу я легко могу понять требование в вакансиях "наличие опыта коммерческой разработки". Часто новому сотруднику приходится тратить время на то, чтобы научиться работать, учитывая существующие бизнес-процессы, и человек, который раньше с этим не сталкивался, будет гораздо дольше привыкать, а, следовательно, компания потратит больше денег на его адаптацию.
#опыт
Это размышление не про качество.
Хотя, очевидно, что опытный разработчик может написать в 5 раз меньше строк кода для достижения лучшего результата.
В лихие времена, когда я автоматизировал проектирование, поставляя специалистам плагины, ускоряющие их работу, я мог в день написать 300-500 строк. Это было очень драйвово и я проводил параллель между разработчиками и писателями романов. Программисты фактически пишут тексты, которые обогащают жизнь других новым опытом и возможностями... Мне нравилось изобретать новое, делиться этим с другими - приносить им пользу.
Но все поменялось, когда стал работать в компании, где продукт развивают тысячи сотрудников. Моя зона ответственности с целого инструмента / плагина, который я разрабатывал с нуля, поставлял проектировщикам и затем поддерживал - резко сузилась до разработки конкретной фичи. И все бы ничего, но эта фича может быть поразительно маленькой.
За полгода работы я понял, что коммерческая разработка - это больше про чтение кода, нежели чем его написание. Когда существует огромная кодовая база (сотни тысяч, а то и миллионы строк кода), то нельзя сходу взять и дописать необходимую функциональность для твоей фичи.
Очевидно, что весь фокус смещается с вопроса "как написать фичу?" на вопрос "где написать?". И на вычитку всего проекта и поиск подходящего места с учетом разделения ответственности и всех лучших практик проектирования может уйти много времени. У меня уходило несколько дней только для того, чтобы разобраться в каком сервисе и в каком файле я должен буду добавить 1 строку кода!
Вот так и получается, что для добавления ифчика и закрытия 1 задачи может уйти полспринта. Пример решения заурядной задачи:
1) знакомство с кодовой базой сервиса и поиск места для нового условия;
2) добавление нового юнит-теста на свой ифчик;
3) деплой в дев-окружение;
4) тестирование QA (при необходимости)
5) код-ревью от ответственных сервиса или всех заинтересованных;
6) выкатка в продакшн с последующим мониторингом и готовностью быстро откатить изменения.
С учетом вышеописанного флоу я легко могу понять требование в вакансиях "наличие опыта коммерческой разработки". Часто новому сотруднику приходится тратить время на то, чтобы научиться работать, учитывая существующие бизнес-процессы, и человек, который раньше с этим не сталкивался, будет гораздо дольше привыкать, а, следовательно, компания потратит больше денег на его адаптацию.
#опыт
👍1
Практика
На скриншоте представлены взаимосвязи между некоторыми файлами .go в одном из микросервисов компании (кажется их чуть больше тысячи на текущий момент). Каждый файлик содержит от 100 до нескольких тысяч строк кода.
Зелеными блоками обозначен сервис, в который необходимо добавить нужную функциональность, а красными - библиотека, которая обогощает сервис нужными данными.
В правом верхнем углу блоков может находиться либо фиолетовый прямоугольник, либо бирюзовый:
- фиолетовый означает файл, в котором нужно написать код
- бирюзовый означает то, что этот файл будет автоматически сгенерирован, когда напишешь код в фиолетовом
Без построения подобных диаграмм довольно трудно продираться через все слои абстракции в незнакомом сервисе.
В общем случае, при реализации сложной задачи помогает 2 вещи:
1) Максимальная декомпозиция. Всегда проще решать маленькие задачи, а потом их закладывать в решение для сложной.
2) Создание диаграммы взаимоотношений, как, например, на скриншоте.
#инструменты #практика
На скриншоте представлены взаимосвязи между некоторыми файлами .go в одном из микросервисов компании (кажется их чуть больше тысячи на текущий момент). Каждый файлик содержит от 100 до нескольких тысяч строк кода.
Зелеными блоками обозначен сервис, в который необходимо добавить нужную функциональность, а красными - библиотека, которая обогощает сервис нужными данными.
В правом верхнем углу блоков может находиться либо фиолетовый прямоугольник, либо бирюзовый:
- фиолетовый означает файл, в котором нужно написать код
- бирюзовый означает то, что этот файл будет автоматически сгенерирован, когда напишешь код в фиолетовом
Без построения подобных диаграмм довольно трудно продираться через все слои абстракции в незнакомом сервисе.
В общем случае, при реализации сложной задачи помогает 2 вещи:
1) Максимальная декомпозиция. Всегда проще решать маленькие задачи, а потом их закладывать в решение для сложной.
2) Создание диаграммы взаимоотношений, как, например, на скриншоте.
#инструменты #практика
Март 2023:
✅ Довольно напряженный был месяц в плане работы. Необходимо было реализовать важную фичу, которая должна была работать на всех клиентах: Android, iOS, Mobile, тщательно протестировать (чему, конечно, способствует QA, но до передачи тестировщику разработчик обязан покрыть все юнит-тестами и базово самостоятельно протестировать) и задеплоить на прод, анализируя метрики в Графане во время выкатки. Пришлось, конечно, овертаймить, чтобы успеть вовремя, но это я списываю на недостаток опыта. Когда задача уже завершена, ничто не сравнится с эмоциями от работающей функциональности в живом продукте, к которой ты непосредственно приложил руку.
✅ Март стал месяцем первого селф-ревью в моей карьере. Ты описываешь все, что сделал за последние 6 месяцев: над какими целями работал, какую пользу компании принес, с кем взаимодействовал и пр. Довольно сложно в моменте вспомнить все, но одновременно и очень интересно заниматься рефлексией, провести черту и осознать как много все-таки удалось успеть.
✅ Очередной раз попал в Высшую Школу Программирования Сергея Бобровского (в августе 2022 получил "пожизненный" бан за просроченный дедлайн - сделал серьезные выводы из этого). Спустя полгода удалось попасть под амнистию и записаться на курс по парадигмам программирования, которым сейчас активно занимаюсь в фоне.
// Знаю, что Школа может показаться очень специфичной, но мне она помогла с развитием правильного программистского мышления в начале пути и уверен, что поможет заложить необходимую базу - концентрат айтишного образования.
✅ Решил 2 задачки на литкоде. Всего две, но это на 2 больше, чем за прошлые месяцы.
✅ Причесал линкедин - убрал сомнительные места работы сроком до 10 месяцев, которые шли параллельно с основной деятельностью и могли элементарно путать.
#результаты
✅ Довольно напряженный был месяц в плане работы. Необходимо было реализовать важную фичу, которая должна была работать на всех клиентах: Android, iOS, Mobile, тщательно протестировать (чему, конечно, способствует QA, но до передачи тестировщику разработчик обязан покрыть все юнит-тестами и базово самостоятельно протестировать) и задеплоить на прод, анализируя метрики в Графане во время выкатки. Пришлось, конечно, овертаймить, чтобы успеть вовремя, но это я списываю на недостаток опыта. Когда задача уже завершена, ничто не сравнится с эмоциями от работающей функциональности в живом продукте, к которой ты непосредственно приложил руку.
✅ Март стал месяцем первого селф-ревью в моей карьере. Ты описываешь все, что сделал за последние 6 месяцев: над какими целями работал, какую пользу компании принес, с кем взаимодействовал и пр. Довольно сложно в моменте вспомнить все, но одновременно и очень интересно заниматься рефлексией, провести черту и осознать как много все-таки удалось успеть.
✅ Очередной раз попал в Высшую Школу Программирования Сергея Бобровского (в августе 2022 получил "пожизненный" бан за просроченный дедлайн - сделал серьезные выводы из этого). Спустя полгода удалось попасть под амнистию и записаться на курс по парадигмам программирования, которым сейчас активно занимаюсь в фоне.
// Знаю, что Школа может показаться очень специфичной, но мне она помогла с развитием правильного программистского мышления в начале пути и уверен, что поможет заложить необходимую базу - концентрат айтишного образования.
✅ Решил 2 задачки на литкоде. Всего две, но это на 2 больше, чем за прошлые месяцы.
✅ Причесал линкедин - убрал сомнительные места работы сроком до 10 месяцев, которые шли параллельно с основной деятельностью и могли элементарно путать.
#результаты