Реплікація даних для терміналів без Kafka від Антона Молдована на Highload fwdays онлайн
×Закрыть
Software Engineer, Site Reliability Engineering в Google
  • Стоит ли увольняться чтобы проходить LeetCode?

    Около года назад я примерно так и сделал, уволился в никуда и сфокусировался на подготовке к интервью. 5 месяцев был без работы и уделял время в основном подготовке, после чего еще 4 месяца в параллель с «обычной» работой по утрам повторял то что выучил. Примерно 500 задач(20%easy-70%medium-10%hard).

    Подобный спринт по литкоду является лишь финишной прямой, перед этим желательно параллельно с работой получить:
    1. Свободный разговорный английский, желательно с минимизированным акцентом.
    2. Развитые софт скилы.
    3. Знание и понимание алгоритмов\структур данных.
    4. Понимание как работает клауд, System Design.
    5. Умение учиться. (лол, что тут сложного, да?). На курсере есть лекции по умению учиться и это золото.

    Нет смысла в этот спринт засовывать всё, куда лучше перед этим пару лет по часу в день параллельно с работой развивать то чего не хватает. Литкод является последним компонентом, просто потому что в работе его обычно не напрактикуешь, всё остальное желательно уже иметь. Более того, если в параллель с работой есть 2-3 часа свободных, то и в спринте нет смысла.

    Когда предварительные требования есть, и остается только литкод, то нужно здраво оценить свои ресурсы на спринт:
    1. Финансы (Пол года без работы с последующим вероятным уроном карьере).
    2. Самодисциплина (КАЖДЫЙ день 4+ часов задач это очень сложно, особенно на протяжении полугода). Мотивация играет очень большую роль, нужно для себя понять что именно толкает на подобное, если это погоня за престижем, то наверное всё же не стоит.
    3. Приглашение на интервью, желательно не от одной компании. (Это кстати достаточно сложная часть и лучше иметь план как это получить).

    Окей, а теперь сам спринт. На самом деле в день нормально сконцентироваться на задачах выходит 2-3 часа максимум, остальное время гораздо менее эффективное и гораздо более демотивирующее. Желательно практиковаться каждый день. Ориентироваться стоит на 2 месяца, 3 это максимум. Во-первых, 200 задач это sweet spot (по часу на каждую, 4 часа в день это примерно 2 месяца), Во-вторых, после после 3 месяцев буфер памяти не справляется и теряешь выученое (после 6ти месяцев нету даже чувства что уже решал эту задачу). Стоит также практиковать мок интервью, ресурсов хватает.

    Короче на самом деле сомнительная идея, гарантий ноль — даже решив весь литкод можно зафейлить интервью из-за нерешенной задачи, также высокая вероятность сгореть в первый же месяц. С другой стороны пол года упорной работы могут существенно повлиять на всю оставшуюся жизнь, вероятно в лучшую сторону.

  • Бавария для релокации в деталях: развитая инфраструктура, бюрократия, высокие зарплаты в ІТ

    Крутая статья. На работе немцы тоже посмеялись с картинки сосисочной vending machine, отправили гуглить allemagne memes :)

    Хотелось бы уточнить, что вкладывается в понятия Junior/Associate, Middle, Senior, Lead/Architect, попадают ли люди с 4-5 лет опыта в категорию Senior?
    И какое преимущество дает нахождение уже в Мюнихе чтоб перейти на большую зарплату?
    Платят ли больше при знании немецкого языка?

  • Sunsetting Mercurial support in Bitbucket

    Первые несколько лет работал на проекте с Меркуриалом, сейчас вот уже года 2-3 Гит на проектах. Всё еще переодически вспоминаю как же был хорош в своей простоте Меркуриал.

    На мой взгляд со стороны стандартного девелопера-пользователя Меркуриал куда понятнее и приятнее в использовании. Аминь =)

  • Які шанси українському айтішнику-джуніору знайти роботу за кордоном?

    Помимо высокой сложности найти работодателя нужно еще учитывать ограничения на получение ворк пермитов. В Европе на блу карту нужен или диплом по специальности или 5 лет релевантного опыта, в штатах H1b можно не получить даже имея диплом и офер на 100500. В Канаде тоже диплом важен.
    Про Азию не знаю ничего, но уверен что они тоже заинтересованы в высокоспециализированных мигрантах, а не беженцах. Пока что эту самую высокоспециализированность определяют дипломом\подтверждённым опытом.
    Есть вариант переехать студентом по студенческой визе и устроиться на подработку, в некоторых старанах нельзя работать по такой визе и это стоит учитывать.

    Это конечно если хочётся делать всё по правилам и максимально комфортно.

  • Amazon hiring event (for Dublin) — July 22nd, Warsaw

    Длинное описание задачи это фишка Амазона. У них на сертификациях про уровня даже нейтивы не успевают читать вопросы.

  • DOU Labs: як у SoftServe створили систему розумного шлагбаума й паркування

    3 смены поднимателей шлагбаума с отпусками и больничными + менеджеры и прочие HR :)

    Поддержали: Oleksandr Gurbych, Oleksandr Manenko
  • DOU Labs: як у SoftServe створили систему розумного шлагбаума й паркування

    3 года на разработку и похоже что еще 2 года на дебагинг, кажется прогресс не стоит на месте, теперь на это уходит пара месяцев.

    Ну и конечно же очень неожиданно что проекты анализа изображений номеров уже были реализованы.

  • Скільки ІТ-спеціалістів в Україні: +29 000 за рік згідно з Мін’юстом

  • Інкапсуляція в Java

    Использовать tight coupling в наследовании, цель котрого поддерживать loose coupling это следующий уровень :)

    Наследники могут находиться в разных компонентах, компилироваться в разных пайплайнах разных корпораций.

    Поддержал: Dmitry Derevyagin
  • Інкапсуляція в Java

    Магия аннотаций это как раз по джаву. Выкинуть половину кода это еще мало, можно вспомнить какой-нибудь @SpringBootApplication или еще чего повеселее.

  • Інкапсуляція в Java

    Если это геттер внутри абстрактного типа, имплементации которого в других классах, то да — часто.
    Если это обычный POJO, который не участвует в наследовании, то пункт 2 не актуален для этого типа, пункты 1\3\4 всё еще в силе

    Поддержал: Dmitry Derevyagin
  • Інкапсуляція в Java

    Классический полиморфизм, вот один из стандартных паттернов:
    en.wikipedia.org/wiki/Strategy_pattern

  • Інкапсуляція в Java

    1. Без get и set методов не выйдет банально переименовать внутренюю переменную во время рефакторинга. В случае переименования переменной get\set методы тоже следовало бы изменить, но код хотя бы будет компилироваться.
    2. get\set могут работать с типом интерфейса (List вместо ArrayList, например), что даёт множество преимуществ.
    3. В get\set методы можно добавлять код. Хотя этого лучше и не делать, но примеров такого кода в крупных легаси кодбазах предостаточно.

    А вообще в большинстве случаев лучше не использовать этот классический Java Bean и и пользоваться веянеями функционального программирования, а именно immutability:
    4. Достигается это отсутсвием сетеров и наличием билдера. С открытыми полями такого сделать не выйдет.
    Как результат мы имеем типы данных, которые чудесно работают в мульти-трединг энвайрменте.

  • Google Interview, США и Швейцария

    Очень интересно, но нет возможности посетить :(

    Поддержал: Denys
  • Как определить минимальный процент покрытия тестами?

    Как утверждает Robert Martin (Uncle Bob), один из тех кто придумал и популяризировал Agile и TDD.

    *Покрытие юнит тестами должно быть 100%, и эти 100% должны пройти мутейшн тестинг юнит тестов тоже на 100%*

    100% это единственная цифра при которой мы можем быть уверены что внесенные изменения не поломали ничего, это единственная цифра при который доверие к тест сьюту становится true.

    Основная идея это то, что если юнит тесты прошли, то можно деплоить в продакшн. Даже имея 99% кавередж — доверия к юнит тестам не будет и деплой в продакшн потребует дополнительных проверок.

    Мутейшн тестинг это рандомное изменение строк покрытого кода с проверкой упадёт или не упадёт юнит тест, потому что еще не факт что покрытый код на самом деле покрыт как надо. en.wikipedia.org/wiki/Mutation_testing

    Поддержали: Alex Fogol, Oleksii Ozun
  • Що не так із апельсиновим соком

    Весь мир завод, а мы в нём апельсины.
    Всех выжмут до последний капли)

  • Карта ІТ компаній з відкритими вакансіями (оновлюється по крону)

  • Сертификация AWS: как и зачем ее получать

    Я брал на udemy со скидкой. Там очень часто распродажи с 90% скидкой

    Поддержал: Саша Самборський
  • Кар’єра для програміста: $50/год за 10 років

    Спасибо за подкаст. Интересно было бы послушать про возможные стези развития как кодера на 10+ лет (языки\технологии)

  • Сертификация AWS: как и зачем ее получать

    Solutions Architect Associate достаточно простая сертификация, которая даёт общий обзор AWS и небольшие технические знания по самым важным топикам. Её по силам пройти даже людям мало связанным с ай-ти и быть программистом точно не является требованием.

    Процесс подготовки очень интересный (Cloud Guru) с лектором у которого чудесный английский и вообще он классный парень. Неплохо расширяет понимание как работает большинство известных веб ресурсов. После неё можно попробовать сразу же наскоком Developer Associate, у которой 80% вопросов по тем же знаниям.

    А вот следующий шаг (Solutions Architect Professional) вот это уже челендж, даже для людей с хорошим опытом AWS имея все необходимые знания — банально может не хватить времени. Вопросов много и они иногда очень обьемные, мок экзамены в очень ограниченом количестве, а сдать то хочется с первого раза.

    Интересно было бы почитать комментарии о том как получение подобной лычки привело к пересмотру зп\смене работы на более перспективную\повышению потенции.

← Сtrl 12 Ctrl →