Сегодня хочу поговорить о развитии в IT. Недавно делился ссылкой на мнения по развитию системных аналитиков, а сейчас расскажу о своем подходе, который подойдет любому IT-специалисту.
"Расти", меняя компании, довольно легко, но проблема в том, что где бы ты ни работал, контекст всегда будет ограниченным. Ты просто физически не сможешь охватить все технологии и проверить все гипотезы. Это касается не только hard skills, но и soft skills.
Чтение
Первое, что я делаю всю свою карьеру — много читаю. Каждый день. И не только по языку программированию, на котором работаю, а обо всем, что происходит вокруг. Это стало моим ежедневным ритуалом: кофе и час наслаждения — открываю Хабр, Medium и несколько любимых блогов.
Книги тоже не остаются без внимания, но их я уже читаю не все подряд, а по темам, в которых хочу углубиться. Иногда бывает мучительно читать нескольких авторов по одной теме, потому что боишься пропустить что-то важное, но это стоит того. По книгам рекомендую издательство "Питер" — у них отличные переводы топовых книг. Подпишитесь на них на хабре, что бы скидки не упустить и выход новых книг.
Подкасты и аудиокниги
С появлением ребенка начал слушать подкасты и аудиокниги. Это позволяет совмещать дела. Главное — не слушать сильно технические темы, потому что они плохо усваиваются без визуальных примеров. А вот на темы развития, подходов к работе и прочего — самое то. Это помогает воспринимать информацию в удобном формате.
Преподавание
Еще один способ развития — преподавание. Новый учебный год будет уже четвертым в моей преподавательской карьере. Раньше я вел пары в двух университетах, но сейчас времени меньше, поэтому только ВШЭ. Преподавание — это отличный способ прокачать как hard, так и soft skills. Постоянная подготовка к парам, ответы на нестандартные вопросы студентов, организация работы и решение конфликтов — все это способствует быстрому развитию. И, кстати, это неплохая возможность переключиться от основной работы. Зарплата, конечно, не велика, но это не про деньги, а про опыт и саморазвитие.
Менторство
Недавно я также завел профиль на GetMentor и стал ментором. Это классный опыт — люди приходят с реальными кейсами, и разбираться в них интересно. Менторство — это не только про развитие, но и про заработок.
OpenSource
Наконец, OpenSource. Долгое время я не мог найти к этому подход, пробовал лет 9, но каждый раз боялся выкладывать свой код на публику. В какой-то момент решил забить на перфекционизм и просто решил свою проблему, а потом полгода понемногу улучшал проект. И это дало плоды — моими сервисами начали пользоваться, стали поступать предложения о улучшениях, завел много полезных знакомств. Важно не стараться довести проект до идеала, а делать его итеративно. Это приносит удовольствие и пользу.
Вывод
Все эти подходы помогли мне развиваться как в профессиональном, так и в личностном плане. Если у вас есть желание расти и развиваться, пробуйте разные способы. И помните, что развитие — это непрерывный процесс.
Делитесь своим опытом и подходами к развитию в комментариях! 👇
#развитие #IT #образование #подкасты #менторство #OpenSource #преподавание #книги #навыки
"Расти", меняя компании, довольно легко, но проблема в том, что где бы ты ни работал, контекст всегда будет ограниченным. Ты просто физически не сможешь охватить все технологии и проверить все гипотезы. Это касается не только hard skills, но и soft skills.
Чтение
Первое, что я делаю всю свою карьеру — много читаю. Каждый день. И не только по языку программированию, на котором работаю, а обо всем, что происходит вокруг. Это стало моим ежедневным ритуалом: кофе и час наслаждения — открываю Хабр, Medium и несколько любимых блогов.
Книги тоже не остаются без внимания, но их я уже читаю не все подряд, а по темам, в которых хочу углубиться. Иногда бывает мучительно читать нескольких авторов по одной теме, потому что боишься пропустить что-то важное, но это стоит того. По книгам рекомендую издательство "Питер" — у них отличные переводы топовых книг. Подпишитесь на них на хабре, что бы скидки не упустить и выход новых книг.
Подкасты и аудиокниги
С появлением ребенка начал слушать подкасты и аудиокниги. Это позволяет совмещать дела. Главное — не слушать сильно технические темы, потому что они плохо усваиваются без визуальных примеров. А вот на темы развития, подходов к работе и прочего — самое то. Это помогает воспринимать информацию в удобном формате.
Преподавание
Еще один способ развития — преподавание. Новый учебный год будет уже четвертым в моей преподавательской карьере. Раньше я вел пары в двух университетах, но сейчас времени меньше, поэтому только ВШЭ. Преподавание — это отличный способ прокачать как hard, так и soft skills. Постоянная подготовка к парам, ответы на нестандартные вопросы студентов, организация работы и решение конфликтов — все это способствует быстрому развитию. И, кстати, это неплохая возможность переключиться от основной работы. Зарплата, конечно, не велика, но это не про деньги, а про опыт и саморазвитие.
Менторство
Недавно я также завел профиль на GetMentor и стал ментором. Это классный опыт — люди приходят с реальными кейсами, и разбираться в них интересно. Менторство — это не только про развитие, но и про заработок.
OpenSource
Наконец, OpenSource. Долгое время я не мог найти к этому подход, пробовал лет 9, но каждый раз боялся выкладывать свой код на публику. В какой-то момент решил забить на перфекционизм и просто решил свою проблему, а потом полгода понемногу улучшал проект. И это дало плоды — моими сервисами начали пользоваться, стали поступать предложения о улучшениях, завел много полезных знакомств. Важно не стараться довести проект до идеала, а делать его итеративно. Это приносит удовольствие и пользу.
Вывод
Все эти подходы помогли мне развиваться как в профессиональном, так и в личностном плане. Если у вас есть желание расти и развиваться, пробуйте разные способы. И помните, что развитие — это непрерывный процесс.
Делитесь своим опытом и подходами к развитию в комментариях! 👇
#развитие #IT #образование #подкасты #менторство #OpenSource #преподавание #книги #навыки
🔥19👌1🐳1
Ребята, ситуация с OpenTofu (форк Teraform с открытой лицензией) — это просто какой-то кошмар. Разработчики приняли решение закрыть доступ к своему реестру с российских IP-адресов и удалить провайдеров российских облачных сервисов, таких как Yandex Cloud, Cloud.ru и Rustack Cloud Platform. Это решение вызвало шквал критики в сообществе, и лично я тоже не могу оставить это без внимания.
Открытое ПО всегда стояло на принципах доступности и свободы использования для всех, вне зависимости от географии и политики. Но сейчас мы видим, как эти принципы разрушаются. Введение таких ограничений противоречит самой сути Open Source, который должен быть вне политики и доступен всем. Когда проекты начинают принимать решения, исходя из геополитических обстоятельств, это ставит под угрозу всю идею открытого программного обеспечения.
Особенно удручает то, что от этого пострадали не только пользователи в России, но и в других странах, которые не имеют никакого отношения к санкциям. Например, пользователи из Казахстана, которые использовали Yandex Cloud, теперь тоже оказались отрезанными от инструментов, на которые они полагались.
А самое неприятное — это молчание Linux Foundation, под эгидой которой развивается OpenTofu. Их отсутствие комментариев создает дополнительную неопределенность и только усугубляет ситуацию. Решение, принятое разработчиками OpenTofu, выходит за рамки компетенции Linux Foundation, и вызывает опасения, что OpenTofu и вся организация могут быть втянуты в геополитические игры, что абсолютно противоречит миссии Open Source.
Если подобные прецеденты продолжат происходить, это может сильно подорвать доверие к Open Source сообществу и всему движению в целом.
#OpenSource #OpenTofu #LinuxFoundation #IT #политика #санкции #доступность #геополитика
Открытое ПО всегда стояло на принципах доступности и свободы использования для всех, вне зависимости от географии и политики. Но сейчас мы видим, как эти принципы разрушаются. Введение таких ограничений противоречит самой сути Open Source, который должен быть вне политики и доступен всем. Когда проекты начинают принимать решения, исходя из геополитических обстоятельств, это ставит под угрозу всю идею открытого программного обеспечения.
Особенно удручает то, что от этого пострадали не только пользователи в России, но и в других странах, которые не имеют никакого отношения к санкциям. Например, пользователи из Казахстана, которые использовали Yandex Cloud, теперь тоже оказались отрезанными от инструментов, на которые они полагались.
А самое неприятное — это молчание Linux Foundation, под эгидой которой развивается OpenTofu. Их отсутствие комментариев создает дополнительную неопределенность и только усугубляет ситуацию. Решение, принятое разработчиками OpenTofu, выходит за рамки компетенции Linux Foundation, и вызывает опасения, что OpenTofu и вся организация могут быть втянуты в геополитические игры, что абсолютно противоречит миссии Open Source.
Если подобные прецеденты продолжат происходить, это может сильно подорвать доверие к Open Source сообществу и всему движению в целом.
#OpenSource #OpenTofu #LinuxFoundation #IT #политика #санкции #доступность #геополитика
🤬7😁1🗿1
Не знаю, как у вас, но я пытался раз 10 сделать свой персональный сайт. Сначала хотел для портфолио, потом думал сделать блог, а потом просто как резюме. И каждый раз начинал, но не заканчивал.
Недавно писал о своей идее сделать Resume As Code — чтобы описать резюме в yml и автоматически отправлять его на все основные площадки (HH, LinkedIn, Habr.Карьера), плюс генерировать PDF и сайт. Но после ресерча стало понятно, что с публикацией всё не так просто, ведь почти все API заточены под рекрутеров, а не соискателей.
После обсуждений в комментариях решил начать с простого — сделать сайт и PDF с резюме. Думал, что управлюсь за выходные, но оказалось не так легко. Я не дизайнер, поэтому решил взять готовый шаблон — и тут начались поиски и эксперименты. Ничего не нравилось, и я забросил идею.
Но на позапрошлых выходных меня поперло! Сайт сделал буквально за несколько часов и просто влюбился в результат. Никаких заморочек — чистый CSS + HTML, без JavaScript. Загружается мгновенно и выглядит, на мой взгляд, классно. В чем был секрет? Появилась четкая цель — мне нужно было сохранить свою активность как специалиста: публикации, выступления, статьи. Не портфолио проектов с "дизайнерскими" шаблонами, которые больше про красивые картинки, а просто место, где можно найти мои материалы. Резюме и контакты — это приятный бонус.
В эти выходные немного доработал сайт. Чистый HTML — это классно, но с несколькими языковыми версиями стало неудобно править. Поэтому решил натянуть всё на Hugo — статичный генератор на Go. Теперь редактировать намного проще, и выложил это дело на Github: сайт, тема. Вдруг кто захочет подправить дизайн или сделать что-то своё. В итоге сайт остался HTML + CSS, но за счет шаблонизации управлять им теперь намного удобнее.
Вот так спустя десятки попыток я наконец-то доволен результатом!
#персональныйсайт #ResumeAsCode #HTML #CSS #Hugo #OpenSource #разработка #статическийсайт #IT
Недавно писал о своей идее сделать Resume As Code — чтобы описать резюме в yml и автоматически отправлять его на все основные площадки (HH, LinkedIn, Habr.Карьера), плюс генерировать PDF и сайт. Но после ресерча стало понятно, что с публикацией всё не так просто, ведь почти все API заточены под рекрутеров, а не соискателей.
После обсуждений в комментариях решил начать с простого — сделать сайт и PDF с резюме. Думал, что управлюсь за выходные, но оказалось не так легко. Я не дизайнер, поэтому решил взять готовый шаблон — и тут начались поиски и эксперименты. Ничего не нравилось, и я забросил идею.
Но на позапрошлых выходных меня поперло! Сайт сделал буквально за несколько часов и просто влюбился в результат. Никаких заморочек — чистый CSS + HTML, без JavaScript. Загружается мгновенно и выглядит, на мой взгляд, классно. В чем был секрет? Появилась четкая цель — мне нужно было сохранить свою активность как специалиста: публикации, выступления, статьи. Не портфолио проектов с "дизайнерскими" шаблонами, которые больше про красивые картинки, а просто место, где можно найти мои материалы. Резюме и контакты — это приятный бонус.
В эти выходные немного доработал сайт. Чистый HTML — это классно, но с несколькими языковыми версиями стало неудобно править. Поэтому решил натянуть всё на Hugo — статичный генератор на Go. Теперь редактировать намного проще, и выложил это дело на Github: сайт, тема. Вдруг кто захочет подправить дизайн или сделать что-то своё. В итоге сайт остался HTML + CSS, но за счет шаблонизации управлять им теперь намного удобнее.
Вот так спустя десятки попыток я наконец-то доволен результатом!
#персональныйсайт #ResumeAsCode #HTML #CSS #Hugo #OpenSource #разработка #статическийсайт #IT
❤6
🤔 Знаете, поймал себя на забавном моменте со своими opensource проектами. Вернулся к одному из них спустя время и... потратил пару часов, просто пытаясь вспомнить что я там делал, что уже в проде, а что в планах 😅
И тут я осознал – даже для личных opensource проектов потребуется нормальный процесс разработки:
- Публичный беклог
- Документация требований
- Пользовательские гайды
- Схемы
- Четкое видение развития
При этом я все еще за то, чтобы "release early, release often" – не нужно годами пилить до идеала. Но как только базовая версия готова и основные баги пофикшены – самое время заняться документацией и процессами 📝
Решил поэкспериментировать с разными подходами к организации. Буду делиться опытом в серии постов, а потом оформлю всё в статью 💡
#OpenSource #Development #Documentation #DevLife #Programming
И тут я осознал – даже для личных opensource проектов потребуется нормальный процесс разработки:
- Публичный беклог
- Документация требований
- Пользовательские гайды
- Схемы
- Четкое видение развития
При этом я все еще за то, чтобы "release early, release often" – не нужно годами пилить до идеала. Но как только базовая версия готова и основные баги пофикшены – самое время заняться документацией и процессами 📝
Решил поэкспериментировать с разными подходами к организации. Буду делиться опытом в серии постов, а потом оформлю всё в статью 💡
#OpenSource #Development #Documentation #DevLife #Programming
👍7👏1👨💻1
Интересный вопрос встал по моим опенсорс проектам для ДзенМани (SDK, экспортеры данных, дашборд). Сейчас вся документация и комментарии на русском – решил, что аудитория в основном локальная.
Но наводя порядок в репах, задумался – может, стоит перевести всё на английский? Вроде и площадка международная, и "правильно" так... Хотя реально пользоваться будут только русскоязычные.
А как вы решаете этот вопрос в своих проектах для локальной аудитории? 🇷🇺/🇬🇧
#OpenSource #Development #GitHub #Programming
Но наводя порядок в репах, задумался – может, стоит перевести всё на английский? Вроде и площадка международная, и "правильно" так... Хотя реально пользоваться будут только русскоязычные.
А как вы решаете этот вопрос в своих проектах для локальной аудитории? 🇷🇺/🇬🇧
#OpenSource #Development #GitHub #Programming
🤔2
Случайно забрел во вкладку Insights на GitHub и... удивился! Оказывается, мои репозитории не просто "висят" там, а реально используются!
Раньше просто смотрел на звезды и форки как показатель полезности. Но эта статистика клонирований открыла глаза – даже 4 клонирования за неделю это же классно! Значит кому-то действительно пригождается 🎯
Походу надо внимательнее следить за метриками, а то пропускаю много интересного 😅
#GitHub #OpenSource #DevLife #Metrics #Programming
Раньше просто смотрел на звезды и форки как показатель полезности. Но эта статистика клонирований открыла глаза – даже 4 клонирования за неделю это же классно! Значит кому-то действительно пригождается 🎯
Походу надо внимательнее следить за метриками, а то пропускаю много интересного 😅
#GitHub #OpenSource #DevLife #Metrics #Programming
❤3🔥1
Знаете это чувство, когда руки сами тянутся к клавиатуре? После поста про Дзен.Мани меня накрыло желанием обновить свой SDK. И понеслось! 🚀
Две ночи пролетели как один миг. Когда код идёт из-под пальцев быстрее мыслей – это просто космос! Перевёл всё на английский, разложил функционал по пакетам (прощай, плоская структура со скриншота 👋), написал тесты. Ну, почти – покрытие под 80% в одном пакете, 100% в другом и несколько пакетов не покрыто, и это уже неплохо!
Сейчас смотрю на результат и душа радуется – репозиторий выглядит почти идеально. Хотя, кого я обманываю, список TODO никуда не делся 📝:
- Добить оставшиеся тесты
- Расписать методы поподробнее, чтобы не нырять в офф доку
- Прикрутить моки для тестов (скорее всего через mockery)
- Ну и по мелочи там...
https://github.com/nemirlev/zenmoney-go-sdk - можно зайти, поставить ⭐️, а потом дать свои классные рекомендации о том, что я упустил 🙂
UPD: Пришлось пост перевыложить, в сущуствующий уже не добавить скриншоты, которые я забыл добавить :(
#golang #разработка #рефакторинг #api #sdk #OpenSource #программирование #zenmoney
Две ночи пролетели как один миг. Когда код идёт из-под пальцев быстрее мыслей – это просто космос! Перевёл всё на английский, разложил функционал по пакетам (прощай, плоская структура со скриншота 👋), написал тесты. Ну, почти – покрытие под 80% в одном пакете, 100% в другом и несколько пакетов не покрыто, и это уже неплохо!
Сейчас смотрю на результат и душа радуется – репозиторий выглядит почти идеально. Хотя, кого я обманываю, список TODO никуда не делся 📝:
- Добить оставшиеся тесты
- Расписать методы поподробнее, чтобы не нырять в офф доку
- Прикрутить моки для тестов (скорее всего через mockery)
- Ну и по мелочи там...
https://github.com/nemirlev/zenmoney-go-sdk - можно зайти, поставить ⭐️, а потом дать свои классные рекомендации о том, что я упустил 🙂
UPD: Пришлось пост перевыложить, в сущуствующий уже не добавить скриншоты, которые я забыл добавить :(
#golang #разработка #рефакторинг #api #sdk #OpenSource #программирование #zenmoney
Иногда требуется проверить все библиотеки которые используются на предмет лицензий. Собрал для коллег, делюсь с вами:
https://fossology.github.io/
https://aboutcode.org/scancode/
https://github.com/pivotal/LicenseFinder
https://oss-review-toolkit.org/ort/
Все легко интегрируются с CI, можно запускать локально.
#oss #лицензии #opensource
https://fossology.github.io/
https://aboutcode.org/scancode/
https://github.com/pivotal/LicenseFinder
https://oss-review-toolkit.org/ort/
Все легко интегрируются с CI, можно запускать локально.
#oss #лицензии #opensource
👍1
Читаю книгу System Design, Алекс Сюй. Один из кейсов - создание архитектуры для чата, но мне стала интересна современная реализация высоконагруженной платформы.
Думаю дай-ка сделаю, проектов и работы же мало, надо еще больше :)
Пошел смотреть, а чем все-таки можно заменить достаточно старый Websocket, неужели не появилось более современных альтернатив.
Нашел - gRPC bidirectional streaming. Возбудился, стал рыть - преимущества большие, но как всегда с gRPC все плохо с браузерами, до сих пор поддержка HTTP 1/2, можно через grpc-web и envoy проксировать, но полноценной поддержи bidirectional streaming нет. Только server streaming + unary calls.
Надежда еще живет, немного покопаю, но чувствую кроссплатформу можно сделать только на старом добром Websocket.
Есть еще WebTransport, вроде поддерживает UDP-like streaming. Еще Server Sent Events, но я так понял это что-то типо Long Polling. Тоже покопаю.
#systemdesign #архитектура #OpenSource
Думаю дай-ка сделаю, проектов и работы же мало, надо еще больше :)
Пошел смотреть, а чем все-таки можно заменить достаточно старый Websocket, неужели не появилось более современных альтернатив.
Нашел - gRPC bidirectional streaming. Возбудился, стал рыть - преимущества большие, но как всегда с gRPC все плохо с браузерами, до сих пор поддержка HTTP 1/2, можно через grpc-web и envoy проксировать, но полноценной поддержи bidirectional streaming нет. Только server streaming + unary calls.
Надежда еще живет, немного покопаю, но чувствую кроссплатформу можно сделать только на старом добром Websocket.
Есть еще WebTransport, вроде поддерживает UDP-like streaming. Еще Server Sent Events, но я так понял это что-то типо Long Polling. Тоже покопаю.
#systemdesign #архитектура #OpenSource
👍4🌚1
Давно уже писал, что ищу способ возвращаться к своим пет проектам без боли. Потому что нет возможности каждый день работать, и, возвращаясь к проекту, очень долго приходится вспоминать, где остановился.
Ввёл документацию, прям очень помогло, хотя, конечно, работы прибавляет. Но историю быстро продолжить с того же места — это не решает.
Нашел прям супер простой рецепт, который стал золотой пулей: перед тем как встать из-за стола, просто пишешь в одно-два предложения, что делал и что нужно сделать дальше. Для этого создал “NOTES.md”, добавил в .gitignore. И вот прям достаточно, прочитав, сразу вспоминаю, что делал и что нужно дальше, и в целом дальше продолжаю работать. Сюда же пишу какие-то мысли, идеи на будущее.
И стал вести To-do, но не просто ввести в комментариях, где-то в середине работы, открываю и каждый раз разбираю весь список.
А вы как с этим справляетесь?
#todo #pets #эффективность #opensource
Ввёл документацию, прям очень помогло, хотя, конечно, работы прибавляет. Но историю быстро продолжить с того же места — это не решает.
Нашел прям супер простой рецепт, который стал золотой пулей: перед тем как встать из-за стола, просто пишешь в одно-два предложения, что делал и что нужно сделать дальше. Для этого создал “NOTES.md”, добавил в .gitignore. И вот прям достаточно, прочитав, сразу вспоминаю, что делал и что нужно дальше, и в целом дальше продолжаю работать. Сюда же пишу какие-то мысли, идеи на будущее.
И стал вести To-do, но не просто ввести в комментариях, где-то в середине работы, открываю и каждый раз разбираю весь список.
А вы как с этим справляетесь?
#todo #pets #эффективность #opensource
👍9❤3