Мы упорно игнорировали вирус и говорили, что всё в порядке, но он всё равно к нам пришёл. Весь день в голове одна мысль: "Ты можешь уйти с удалённой работы, но она всё равно найдёт тебя". Последние 5 лет я работала удалённо, поэтому специально искала работу, чтобы ходить в офис и общаться с людьми. Плюс, как джуниору, мне мега-важно, чтобы я могла подойти, показать что-то и спросить в стиле "Ну вот тут какая-то непонятная штука. И показывает вот это. Что делать?". И мне помогают, потому что видят, что у меня происходит.
Сейчас нас переводят на удалённую работу. Это не только мы. Во многих компаниях принудительно уже перевели. В некоторых только начинают. У нас вот, например, даже есть выбор: можно дома сидеть, а можно ездить в офис. Конечно, я предпочла второй вариант. Но теперь беда в том, что мой любимый ведущий программист, которого я всегда мучаю вопросами, решил работать из дома (надеюсь, не из-за меня). Немного радует, что есть всё-таки разработчики, которые тоже будут ходить в офис.
Немного почитала новостей и пишут, что планируют чуть ли не комендантский час внедрять и запрет транспорта в вечернее время. Да и всеобщая паника вокруг начинает передаваться. Даже на хабре статьи про вирус начали писать. Я теперь на каждого человека в маске теперь смотрю с подозрением, хотя и понимаю, что это просто не самые умные люди, которые абсолютно здоровы. И немного рада, что испытательный срок уже прошел и есть дмс. Хотя бы не так страшно теперь болеть.
А вообще: не болейте, пожалуйста. И будьте осторожны. Пусть учёные побыстрее найдут лекарство и всех вылечат.
Сейчас нас переводят на удалённую работу. Это не только мы. Во многих компаниях принудительно уже перевели. В некоторых только начинают. У нас вот, например, даже есть выбор: можно дома сидеть, а можно ездить в офис. Конечно, я предпочла второй вариант. Но теперь беда в том, что мой любимый ведущий программист, которого я всегда мучаю вопросами, решил работать из дома (надеюсь, не из-за меня). Немного радует, что есть всё-таки разработчики, которые тоже будут ходить в офис.
Немного почитала новостей и пишут, что планируют чуть ли не комендантский час внедрять и запрет транспорта в вечернее время. Да и всеобщая паника вокруг начинает передаваться. Даже на хабре статьи про вирус начали писать. Я теперь на каждого человека в маске теперь смотрю с подозрением, хотя и понимаю, что это просто не самые умные люди, которые абсолютно здоровы. И немного рада, что испытательный срок уже прошел и есть дмс. Хотя бы не так страшно теперь болеть.
А вообще: не болейте, пожалуйста. И будьте осторожны. Пусть учёные побыстрее найдут лекарство и всех вылечат.
Не могу не поделиться. Вы только посмотрите, какая потрясающая вещь. Карты для разработчиков, чтобы оценивать время для задач. Сегодня меня учили это делать в игровой форме. Было интересно и продуктивно. И даже когда я называла завышенные цифры, то все было ок и ответ принимался как будто это и ожидалось.
После стажировки я немного боялась, когда меня начнут просить оценивать время. Потому что там тимлид был очень прямолинеен и прямо сразу просил конкретные цифры. А когда я один раз рискнула назвать, то в ответ было «И это столько времени всего на две кнопки?!». Он очень хороший руководитель, но немного жесткий для меня. Ну не умеют начинающие точно понять, сколько времени понадобится. Все-таки как мне повезло с командой в этот раз ❤️
После стажировки я немного боялась, когда меня начнут просить оценивать время. Потому что там тимлид был очень прямолинеен и прямо сразу просил конкретные цифры. А когда я один раз рискнула назвать, то в ответ было «И это столько времени всего на две кнопки?!». Он очень хороший руководитель, но немного жесткий для меня. Ну не умеют начинающие точно понять, сколько времени понадобится. Все-таки как мне повезло с командой в этот раз ❤️
Как здорово, что даже во время карантина продолжается какая-то активность. Ура. :)
Forwarded from Android Dev Virtual Meetups
Первый митап понедельник 23 марта в 19-00 по московскому времени.
Денис Неклюдов об IoT хобби:
Эфир уже доступен для подписки: https://youtu.be/_tDcYDUNr3c
Денис Неклюдов об IoT хобби:
Internet of Things-хобби в связке с Android. Разберем что такое ESP8266, Raspberry Pi, Arduino, MQQT и как это все контролировать с Android за 30 минутЭфир уже доступен для подписки: https://youtu.be/_tDcYDUNr3c
YouTube
Денис Неклюдов об IoT хобби: IoT хобби в связке с Android.
Денис Неклюдов о IoT хобби:
IoT хобби в связке с Android. Разберем что за ESP8266, Raspberry Pi, Arduino, MQTT и как это все контролировать с Android за 30 минут
Организовано при поддержке Android Broadcast и Android Dev Podcast
Полезные ссылки:
- Слайды…
IoT хобби в связке с Android. Разберем что за ESP8266, Raspberry Pi, Arduino, MQTT и как это все контролировать с Android за 30 минут
Организовано при поддержке Android Broadcast и Android Dev Podcast
Полезные ссылки:
- Слайды…
https://zen.yandex.ru/media/id/5ddd77e9f4882e4380666d35/kak-peredat-v-metod-neopredelennoe-kolichestvo-parametrov-vararg-v-kotlin-5e761363aed81f64b076be69 Про vararg в Kotlin. Возможно, кому-то тоже будет полезно.
Яндекс Дзен
Как передать в метод неопределенное количество параметров? Vararg в Kotlin
Бывают ситуации, когда в метод нужно передать какое-то количество параметров одного типа, но мы не знаем, сколько их будет. В Java это возможно сделать: В method1 принимается String... names — вот эти три точки как раз означают, что в метод можно передать…
Уже неделю наша команда работает удалённо. Я ужасно боялась этого момента. Мне важно взаимодействовать с командой и общаться. Плюс, как джуниору, мне надо задавать миллион вопросов всем подряд. Я очень боялась, что в итоге немного останусь в стороне и не смогу полноценно работать и познавать новое. Что получилось в итоге:
— Первые дни и правда тяжелые. Сложно проснуться и заставить себя одеться и идти работать. Постоянно хотелось отвлечься на помыть посуду/помыть пол/приготовить еду. Немного помог таймер помодоро;
— Очень важно не бояться писать вопросы в чате. Вот раньше я подходила ко всем, а теперь можно эти вопросы писать. Иногда так даже удобнее. Никого не отвлекаешь и тебе ответят, когда будет время;
— Очень помогают ежедневные созвоны. Это помогает остаться в рабочем ритме;
— В скайпе нужно выключать микрофон, если не разговариваешь. А разговоры одновременно — кошмар. Но зато мы научились слушать друг-друга;
— Сложно остановиться и не работать, если время закончилось. Но отдыхать надо. Не стоит смотреть всего один маленький баг/PR в час ночи;
— Работу вполне получается выполнять удалённо, но мы все безумно скучаем по офису и общению. Быстрей бы вернуться.
— Можно играть в удалённое бинго. Я близка к победе. :)
— Первые дни и правда тяжелые. Сложно проснуться и заставить себя одеться и идти работать. Постоянно хотелось отвлечься на помыть посуду/помыть пол/приготовить еду. Немного помог таймер помодоро;
— Очень важно не бояться писать вопросы в чате. Вот раньше я подходила ко всем, а теперь можно эти вопросы писать. Иногда так даже удобнее. Никого не отвлекаешь и тебе ответят, когда будет время;
— Очень помогают ежедневные созвоны. Это помогает остаться в рабочем ритме;
— В скайпе нужно выключать микрофон, если не разговариваешь. А разговоры одновременно — кошмар. Но зато мы научились слушать друг-друга;
— Сложно остановиться и не работать, если время закончилось. Но отдыхать надо. Не стоит смотреть всего один маленький баг/PR в час ночи;
— Работу вполне получается выполнять удалённо, но мы все безумно скучаем по офису и общению. Быстрей бы вернуться.
— Можно играть в удалённое бинго. Я близка к победе. :)
Немного информации про то, как создать модуль buildSrc. Помню, что у меня далеко не с первого раза получилось это сделать. Надеюсь, что кому-то будет полезно. :) https://zen.yandex.ru/media/id/5ddd77e9f4882e4380666d35/kak-sozdat-modul-buildsrc-i-zachem-5e7f5297587fbc169934d873
Яндекс Дзен
Как создать модуль buildSrc и зачем?
Я этот модуль использую, чтобы создать красивые зависимости и чтобы не засорять основные build.gradle лишней информацией. Учитывая, что я фанатка многомодульности, то это ещё и помогает повышать версии, не заходя в каждый модуль. В Android Studio нажимаем…
https://zen.yandex.ru/media/id/5ddd77e9f4882e4380666d35/voprosy-djunioram-na-sobesedovanii-android-5e80888d93baaa4efffe9f6d о том, какие вопросы мне задавали на собеседовании на джуниора.
Дзен | Статьи
Вопросы джуниорам на собеседовании. Android.
Статья автора «Блог Android-разработчицы» в Дзене ✍: Я уже 4 месяца как работаю, но в моей голове свежи воспоминания о собеседованиях. Итак, какие вопросы мне задавали.
Я тут подсела на https://leetcode.com. Так как карантин и делать нечего, то сначала я вспомнила про https://www.hackerrank.com. Его я тоже очень люблю, но вы только посмотрите какой литкод красивый! А ещё мне очень нравится, что он считает скорость. ❤️
Leetcode
LeetCode - The World's Leading Online Programming Learning Platform
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
https://zen.yandex.ru/media/id/5ddd77e9f4882e4380666d35/sozdaiu-svoego-telegrambota-chast-1-5e8757f401822a01b722b0ee вторая попытка создать своего бота. Теперь без сторонних библиотек. Наконец-то получилось настроить прокси, чтобы запросы проходили. Ура :)
Яндекс Дзен
Создаю своего телеграм-бота. Часть 1.
Впереди выходные и я подумала, что было бы неплохо чем-то полезным заняться. Я думаю сделать простого бота, который будет генерировать какие-то предложения на тему, чем заняться дома. Я уже пробовала создавать бота и основная информация есть здесь: https…
Вчера я участвовала в https://leetcode.com/contest/biweekly-contest-23. Само соревнование длилось 1,5 часа. За это время надо было решить 4 задачи: 1 легкая, 2 среднего уровня и 1 сложная. И у меня ушло минут 15 просто на то, чтобы перестать пугаться заданий и понять их. Кстати, за это время многие уже решили все 4 задачи. У первого места время 14:15.
Я смогла решить две задачи: лёгкую и сложную. Причём начала я сначала зачем-то со сложной, потом остановилась и сделала лёгкую, а потом вернулась к сложной. А вот на средние не хватило времени, да и я не особо старалась их понять.
После окончания соревнования можно посмотреть, что написали соперники. Было интересно видеть, как победители в несколько строчек элегантно вместили мой код на 500 строчек.
Качество решений, конечно, сильно хромает, потому что было ограниченное время. Но я всё равно довольна. Это очень полезный опыт.
В целом, мне очень понравилось и я буду пробовать ещё! 🏆
Я смогла решить две задачи: лёгкую и сложную. Причём начала я сначала зачем-то со сложной, потом остановилась и сделала лёгкую, а потом вернулась к сложной. А вот на средние не хватило времени, да и я не особо старалась их понять.
После окончания соревнования можно посмотреть, что написали соперники. Было интересно видеть, как победители в несколько строчек элегантно вместили мой код на 500 строчек.
Качество решений, конечно, сильно хромает, потому что было ограниченное время. Но я всё равно довольна. Это очень полезный опыт.
В целом, мне очень понравилось и я буду пробовать ещё! 🏆
Leetcode
Contest - LeetCode
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
Почему не получается придумать красивое название для метода
Вчера я очень сильно злилась, потому что с ревью вернулся код уже второй раз. И снова были комментарии про названия. При этом я стараюсь называть нормально, а не в стиле abc15. Конечно, сначала я психанула. Ну ведь очевидно, что метод делает вот это, а потом вот это. Ну что тебе ещё надо от меня? Уже вечером, после бокала вина, я успокоилась и посмотрела комментарии ещё раз. И тут до меня дошло, почему я не могу придумать идеальное название. Да просто потому что мой метод занимается двумя разными вещами, которые в принципе не совместимы. Не могу же я его назвать methodDoThisAndThenDoThat. И вот так вот просто комментарий про название привёл к большому рефакторингу. Зато теперь из названия сразу видно, что именно происходит.
Пока что у меня есть такой недостаток, что я иногда забываю, что один метод должен заниматься чем-то одним. Постоянно кажется, что если добавить ещё одну маленькую детальку, то ничего не изменится, но нет. Вероятно, надо всё-таки начать читать "Чистый код". Как раз карантин и самое подходящее время для этого.
Вчера я очень сильно злилась, потому что с ревью вернулся код уже второй раз. И снова были комментарии про названия. При этом я стараюсь называть нормально, а не в стиле abc15. Конечно, сначала я психанула. Ну ведь очевидно, что метод делает вот это, а потом вот это. Ну что тебе ещё надо от меня? Уже вечером, после бокала вина, я успокоилась и посмотрела комментарии ещё раз. И тут до меня дошло, почему я не могу придумать идеальное название. Да просто потому что мой метод занимается двумя разными вещами, которые в принципе не совместимы. Не могу же я его назвать methodDoThisAndThenDoThat. И вот так вот просто комментарий про название привёл к большому рефакторингу. Зато теперь из названия сразу видно, что именно происходит.
Пока что у меня есть такой недостаток, что я иногда забываю, что один метод должен заниматься чем-то одним. Постоянно кажется, что если добавить ещё одну маленькую детальку, то ничего не изменится, но нет. Вероятно, надо всё-таки начать читать "Чистый код". Как раз карантин и самое подходящее время для этого.
Наткнулась я сегодня на LeetCode на, казалось бы, простую задачку: Given an array nums of integers, return how many of them contain an even number of digits. Надо просто из массива чисел найти сколько из них имеют чётное количество цифр.
Думаю, многие решат эту задачку обычным делением. Я тоже изначально так сделала, а потом начала искать более оптимальные способы и нашла статью: https://www.baeldung.com/java-number-of-digits-in-int#3-repeated-multiplication
И вот интересные выводы, которые я сегодня сделала:
1. Это мне посоветовал друг. Чтобы оценивать, что сложнее: умножение, деление или логарифм — надо взять листочек, два числа и выполнить каждое действие с ними. Будет очевидно, что умножение самое простое и экономит примерно 30% времени;
2. Логарифм самый сложный. И это не только на листочке. Во-первых, даже смотреть на формулу сложно. А во-вторых, там внутри есть ещё перевод int в double и обратно;
3. Варианты со String и сравнением я сразу отбросила. Они даже выглядят не очень. Если я в проекте применю где-то такое сравнение, то, боюсь, моего тимлида потом придётся отпаивать вином и валерьянкой;
4. Даже самая простая задачка может привести к интересным выводам.
А ещё я тут познаю codeforces и topcoder. Визуально они выглядят намного хуже чем литкод, но я решила дать и им шанс.
Думаю, многие решат эту задачку обычным делением. Я тоже изначально так сделала, а потом начала искать более оптимальные способы и нашла статью: https://www.baeldung.com/java-number-of-digits-in-int#3-repeated-multiplication
И вот интересные выводы, которые я сегодня сделала:
1. Это мне посоветовал друг. Чтобы оценивать, что сложнее: умножение, деление или логарифм — надо взять листочек, два числа и выполнить каждое действие с ними. Будет очевидно, что умножение самое простое и экономит примерно 30% времени;
2. Логарифм самый сложный. И это не только на листочке. Во-первых, даже смотреть на формулу сложно. А во-вторых, там внутри есть ещё перевод int в double и обратно;
3. Варианты со String и сравнением я сразу отбросила. Они даже выглядят не очень. Если я в проекте применю где-то такое сравнение, то, боюсь, моего тимлида потом придётся отпаивать вином и валерьянкой;
4. Даже самая простая задачка может привести к интересным выводам.
А ещё я тут познаю codeforces и topcoder. Визуально они выглядят намного хуже чем литкод, но я решила дать и им шанс.
Baeldung on Kotlin
Number of Digits in an Integer in Java | Baeldung
Learn different ways of getting the number of digits in an Integer in Java.
Недавно мне дали две задачи, которые я никак не могу сделать. Обе на изучение и в обеих мой ответ: без понятия что тут происходит.
На фоне этих задач, которые бесконечно вводят меня в печаль, когда я их вижу, вспомнились мне дни работы в техподдержке. К нам часто приходили пользователи с багами. Мы эти баги относили разработчикам, а в ответ довольно часто было "Хз. У меня не воспроизводится". И тогда я злилась, потому что ну как так? Вот же пользователь! У него всё плохо! Чините давайте. Не воспроизводится у них видите ли.
А вот теперь я встала на позицию разработчика и теперь у меня не воспроизводится. Но в моей компании я не могу ответить "Хз". Надо решить проблему и помочь, чтобы никто не остался расстроенным. И вот уже второй день мой диалог с коллегой выглядит примерно так:
— Слушай, а может это? У меня воспроизвелось с такими настройками.
— Нет. У клиента правильные настройки.
— Блин.
И это циклично повторяется примерно каждые пять часов. Я даже попыталась сделать перерыв, чтобы с новыми силами потом вернуться к задачам, но и это не помогло. Просто какой-то тлен и безысходность. Надеюсь, завтра я проснусь и придёт озарение, что именно могло пойти не так.
На фоне этих задач, которые бесконечно вводят меня в печаль, когда я их вижу, вспомнились мне дни работы в техподдержке. К нам часто приходили пользователи с багами. Мы эти баги относили разработчикам, а в ответ довольно часто было "Хз. У меня не воспроизводится". И тогда я злилась, потому что ну как так? Вот же пользователь! У него всё плохо! Чините давайте. Не воспроизводится у них видите ли.
А вот теперь я встала на позицию разработчика и теперь у меня не воспроизводится. Но в моей компании я не могу ответить "Хз". Надо решить проблему и помочь, чтобы никто не остался расстроенным. И вот уже второй день мой диалог с коллегой выглядит примерно так:
— Слушай, а может это? У меня воспроизвелось с такими настройками.
— Нет. У клиента правильные настройки.
— Блин.
И это циклично повторяется примерно каждые пять часов. Я даже попыталась сделать перерыв, чтобы с новыми силами потом вернуться к задачам, но и это не помогло. Просто какой-то тлен и безысходность. Надеюсь, завтра я проснусь и придёт озарение, что именно могло пойти не так.
Озарение не пришло. Но зато поняла, что если по логам ничего не понять, то всегда можно попросить ещё логов. И ещё. Больше логов! К сожалению, это не помогло. Думаю, это возмездие за то, что работая в поддержке я вечно относила подобные проблемы разработчикам 😭
Заметка для себя. Все время забываю, как в студии отменить последний коммит, который ещё не запушен, но оставить изменения. Все-таки проще это делать в терминале: git reset --soft HEAD~1
https://zen.yandex.ru/media/android_junior/unittesty-osnovnye-metody-kotorye-ia-ispolzuiu-chast-1-5e885339587fbc16993564ae Немного про unit-тесты. В последнее время я довольно часто их пишу. Прошла все стадии: и отрицание, и гнев, и принятие. 😆
Яндекс Дзен
Unit-тесты. Основные методы, которые я использую. Часть 1.
Думаю, каждый начинающий разработчик встречается с тестами. Я помню свою первую встречу и она была ужасна. Я вообще не понимала, что происходит. Что ещё за мокито и почему нельзя создать нормальный объект? Как тестить многопоточность? А базу данных? Даже…
http://Hyperskill.org — это определенно один из лучших курсов, которые я встречала. И сделано очень красиво + бесплатный. А ещё мне интересен пункт "Hypercoin 800: Get a code review for a stage of your project. Our mentor will give you personal feedback on your architecture and code style." Попробую его достичь и посмотреть на CR :)
hyperskill.org
Hyperskill - Learn to code and break into tech
Hyperskill is an educational platform for learning programming and software development through project-based courses, that helps you secure a job in tech. Master Python, Java, Kotlin, and more with real-world coding challenges.
Забавно получилось. Последнюю неделю я разбиралась с даггером и сейчас искала картинку для статьи. Ввела Dagger, а в ответ появились всякие ножи. Так я узнала, что Dagger переводится как кинжал :)
https://zen.yandex.ru/media/android_junior/appcompatbutton-animaciia-pri-kastomnom-fone-5eaee570765171260b170bc3 немного про то, как я возвращала анимацию нажатия для кнопки при кастомном фоне
Яндекс Дзен
AppCompatButton. Анимация при кастомном фоне.
Столкнулась недавно с такой задача: есть кнопка, для неё есть дизайн. Соответственно надо переопределять фон с помощью drawable и установить тему. Выглядит легко и я установила selector. Проблема была в том, что когда я переопределила тему у кнопки, то пропала…
https://zen.yandex.ru/media/android_junior/dagger-i-mnogomodulnost-eto-realno-5ead9b64edf71008373a1497 Я тут с даггером немного разобралась :)
Дзен | Статьи
Даггер и многомодульность. Это реально?
Статья автора «Блог Android-разработчицы» в Дзене ✍: В последнее время я много времени потратила на даггер и внедрение его в многомодульное приложение.