Next Level Dev
678 subscribers
32 photos
2 videos
58 links
Заметки синьора-самоучки с 10-летним опытом

Доучиваю или учу с нуля до крепкого джуна, готового к собеседованиям и стажировке

Roadmap для начинающих в личке @ilia_a_popov
Там же запись на менторство и консультации

О менторстве: https://androidmentor.ru
Download Telegram
Любые комментарии / идеи / пожелания автору канала 👇👇👇
👍5
Полезные ссылки для подготовки к собеседованию на junior

Вокруг море информации, где-то неверной, где-то устаревшей. В этой рубрике я буду давать вам ссылки, где информация актуальна и хорошо разъяснена.

И не надо жаловаться, что там местами iOS или джава! Архитектура у iOS / android аналогичная, а джавой андроид не испортишь!

Пишите в комментариях, если есть, что улучшить, будем с вами вместе собирать базу знаний.

1️⃣ Dagger / Hilt
По хилту советую официальную документацию. Там и учить особо нечего, заводится с пол-пинка.
По даггеру у официалов мне дока не нравится, поэтому идём на хабр:

📚 Пытаемся понять Dagger раз
📚 Пытаемся понять Dagger два

2️⃣ MVVM
Тут мы касаемся архитектуры, поэтому можно начинать холиварить. Хотя, строго говоря, это презентейшн-паттерн, а не архитектура – ну вот, видите, я уже начал набрасывать на вентилятор. Короче, ссылки:

📚 О презентейшн-паттернах
📚 Объединяем презентейшн-паттерны с Clean Arch
📚 MVVM по-простому
📚 MVVM-задротство со склонностью к MVI

Если такой контент вам полезен, ставьте лайк!

#android #БазаЗнаний

@andrdevnotes | Обучение android
🔥17👍6👀21
Как перестать терять время?

Однажды ко мне на консультацию пришёл парень, учащийся на Яндекс-практикуме, с точечным запросом о помощи по внедрению одной библиотеки.

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

😎 Что, в общем-то, неудивительно, поэтому сейчас многие и берут себе ментора либо во время курсов, либо сразу после них.

Фишка в том, что в результате занятия я не помог ему с внедрением той библиотеки. Вместо этого я показал ему, что эта библиотека ему нафиг не нужна для решения нужной задачи, а решить её можно куда проще, буквально десятью строками кода.

А заодно я успел немного поревьюить его код и подсказать несколько мест и подходов, как всё можно сделать удобнее, красивее и эффективнее.

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

🏃‍♂️🏃‍♂️🏃‍♂️ А вы хотите перестать топтаться на месте? Оставляйте заявку на консультацию.

#android #консультация

@andrdevnotes | Обучение android
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥3💯3👏1🙏1
Личные консультации: для кого и зачем?

Друзья, вы хотите выделиться из кучи претендентов и, наконец, стать уже джуниором?

Или же работаете стажёром или джуниором, но хотите резко вырасти в доходе и стать миддлом
?

Тогда вам пригодится моя помощь.

С какими типами запросов можно прийти ко мне на консультацию?

1️⃣ Вы не понимаете, в какой точке пути находитесь, и куда двигаться дальше, чтобы стать джуном или миддлом

2️⃣ Вы хотите ускорить развитие навыков и быстрее прийти к цели

3️⃣ У вас в процессе обучения накопился ряд вопросов, на которые некому нормально ответить, а информация вокруг противоречива

4️⃣ Вы хотите, чтобы вам глубоко и понятно разобрали одну из тем, например Clean Arch

5️⃣ Вы хотите тестовое (мок) техническое или алгоритмическое собеседование на джуниора или миддла, чтобы оценить свой уровень и уменьшить страх перед собеседованиями

6️⃣ У вас любой другой точечный запрос, который можно решить ~ за час

С проблемами по Compose не приходить, я всё уже сказал тут!

👉 Приходите, обсудим ваш запрос, созвонимся и всё решим.

#android #консультация

@andrdevnotes | Обучение android
👍6🔥2🥰2
This media is not supported in your browser
VIEW IN TELEGRAM
🔥5👍2👏21😈1
This media is not supported in your browser
VIEW IN TELEGRAM
👍5🔥32👏2😈1
This media is not supported in your browser
VIEW IN TELEGRAM
👍4🔥3👏21😈1
This media is not supported in your browser
VIEW IN TELEGRAM
👍5🔥2👏21😈1
This media is not supported in your browser
VIEW IN TELEGRAM
👍6🔥2👏2💯1😈1
Друзья, по результатам опроса в канале я вижу, что у многих есть большие непонятки:

как сделать себе сильное резюме и портфолио, чтобы вас позвали на собес?

как готовиться к собесу?

Для начала познакомлю вас с замечательной статистикой, которую привела Наталья Давыдова в своём интервью.

Статистика касается откликов фронтенд-джунов на одну из вакансий, которую она публиковала.

📍Количество откликов: 355.

📍Сопроводительное письмо, просьба о котором была жирным выделена в описании вакансии на третьей строчке, прислали 110.

📍То, что просили прислать в сопроводе, было у 29. А просили ссылку на любой проект в гитхабе и желаемую зп.

📍При этом нормальный гитхаб (с фото автора и хоть одним проектом) был у 26.

📍Хоть что-то было в резюме у 95.

📍Адекватных резюме было 21. Адекватным считалось наличие фотографии, хоть чего-то про учебный опыт и чего-то о себе.

И, внимание, подвох: те, кто прислал норм сопровод, и те, кто прислал норм резюме – далеко не всегда одни и те же люди.

📍Поэтому на собес захотелось позвать только 7 из 355. И это при том, что планка была ОЧЕНЬ заниженная.

К чему это я? К тому, что, уверяю вас, у нас в индустрии +- та же статистика. И для того, чтобы выделиться из толп выпускников курсов, достаточно лишь:

1️⃣ иметь хоть какой-то проект на гитхабе. А если он будет хороший (многомодульный Clean + MVVM и тд) – то вас с руками оторвут. И проверьте, чтобы ссылка открывалась, а проект запускался и работал

2️⃣ составить нормальное резюме: грамотно написать, чему где учились, что умеете

3️⃣ присылать на все вакансии сопровод, чтобы пойти в первых рядах

Готовы, вы великолепны. Осталось не завалить собес и дело в шляпе.

Джуны – нужны. Джунов искали и будут искать. Поверьте моему опыту и опыту смежных IT-сфер. Очень много где толковые джуны гораздо эффективнее миддлов и синьоров.

P.S.: а для тех, кто всё ещё считает, что весь мир против того, чтобы они стали андроид-разработчиком, скоро у меня будет отдельная активность. Stay tuned.

#android #собеседования #работа

@andrdevnotes | Обучение android
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥63👍3👌1
❇️ А вы понимаете, что такое Clean Architecture и зачем она нужна? ❇️

В видео я кратко рассказал, зачем нужна архитектура в принципе, и об особенностях реализации Clean Architecture в Android.

Приятного просмотра! 🚀

Мне будет приятно, если поддержите лайками и комментариями 👀

https://youtu.be/NYjEinJAPyo?si=oIWkP43MF0FIqpZ5

#android #видео #архитектура

@andrdevnotes | Обучение android
👍5🔥2🥰1🤩1👀1
Next Level Dev pinned «Личные консультации: для кого и зачем? Друзья, вы хотите выделиться из кучи претендентов и, наконец, стать уже джуниором? Или же работаете стажёром или джуниором, но хотите резко вырасти в доходе и стать миддлом? Тогда вам пригодится моя помощь. С какими…»
Общался я тут со своими выпускниками и понял, что нужно до всех донести пару мыслей по поводу поиска работы. И начнём мы с вами с резюме на джуниора.

Для тех, кто уже считает себя готовым к поиску работы джуниором:

Если вы до сих пор не слушали или слушали невнимательно видео Натальи Давыдовой, у котором я упоминал выше, подчеркну ещё раз.

В вашем резюме:

1️⃣ Обязательно должна быть фотография с вашим лицом

2️⃣ Обязательно должно быть чёткое описание вашего вклада на каждой работе

👎 Плохо: "выполнял обязанности программиста", "работал с клиентами", "участвовал в разработке проекта"

👍 Хорошо: "участвовал в разработке доски объявлений, аналога Авито. Написано на Java, Clean MVVM, стэк: retrofit, rx, ... . Я реализовал:

– экран авторизации (сетевой слой, кэширование, UI)

– кастомные пуш-уведомления с диплинками

В процессе взаимодействовал с iOS-командой, backend'ом, ручными тестировщиками, работали по спринтам.


3️⃣ Если вы никогда не работали андроид-разработчиком и пришли из совсем другой сферы:

👎 Плохо: подробно описать весь свой профессиональный путь в другой сфере.

👍 Хорошо: во-первых – описать только последнее место работы, или последнее + самое значимое. И очень кратко опишите эти места работы: описывайте именно то, что, на ваш взгляд, применимо к андроид-разработке и поможет вам в ней. Остальное никому не интересно.

Куда важнее чётко описать, что в андроид-разработке вы умеете, чему и как учились: какие курсы и книги освоили, какие проекты написали, чему научились, в какой стек технологий умеете.

И в идеале ваши навыки должны очень хорошо матчиться с навыками в каждой вакансии, на которую вы откликаетесь. Если видите, что навыков у вас маловато – идите подтягивайте.

4️⃣ Если есть старший товарищ, который вас менторил, ревьюил код ваших проектов и готов дать на вас рекомендацию – смело указывайте это в резюме – это тоже выделит вас среди толпы.

А если вы не показывали свой код опытным разработчикам, но считаете его крутым – советую подумать ещё раз.

#android #работа #резюме #советы #ошибки

@andrdevnotes | Обучение android
👍5🔥21
Теперь поговорим о вашем профиле гитхаба:

1️⃣ Обязательно должна быть фотография с вашим лицом

2️⃣ Обязательно должно быть краткое описание автора: кто вы, что из себя представляете, чему учились, что умеете

3️⃣ В описании (Readme) каждого проекта из вашего портфолио на гитхабе должно быть подробное описание проекта:

– что вообще за проект
– какой функционал реализован
– в какой ветке что находится
– что не успели реализовать, но понимаете, что надо бы
– что реализовали, но понимаете, что можно лучше
– где излишнее усложнение или избыточное упрощение
– другие особенности проекта

Проект должен собираться и запускаться и работать так, как написано в Readme

4️⃣ Проект желательно делать с Clean-архитектурой, MVVM / MVI, с корутинами и тд. Реализуйте в нём на практике те концепции, что вы знаете в теории

5️⃣ В проекте должна быть история осмысленных коммитов, чтобы было видно, что вы над проектом работали долгое время, а не просто откуда-то скачали и запушили одним коммитом. И должно быть видно, что вы умеете работать с feature-ветками и пулл-реквестами

Напишите в комментах, сколько из 5 пунктов у вас есть на момент прочтения поста =)

#android #работа #портфолио

@andrdevnotes | Обучение android
👍71🔥1😁1🤔1
Задолбало

На работе пару недель назад взял большую, важную, сложную, интересную задачу. И знаете что? Нихера не получается нормально её сделать.

А iOS'ер, параллельно занимающийся тем же, присылает красивые видосики о том, как у него всё круто работает.

Моим же видосиком того же функционала можно подтереться.

Причём я понимаю, что проблема именно в моём коде. И вроде смог локализовать, где именно – но убей не понимаю, какого хрена там не так-то.

В итоге голова над этим работает 24 / 7. То, что программистам платят только за 8 часов – издевательство. А те, кто считают, что программистам много платят – дилетанты чёртовы.

А ещё параллельно готовлю сюрприз-поездку жене на ДР, а после этого мой ДР, на который мы тоже едем в поездку, и её тоже надо спланировать. А там на носу основной отпуск, а это поездка за рубеж, и там тоже дохера работы по подготовке.

А ещё я веду этот канал, и у меня дохера идей и советов от консультантов по его развитию, которые надо переварить и что-то внедрить.

И разумеется мои менти никуда не делись, которых надо вести, ревьюить, мотивировать и поддерживать.

Ну и когда, блять, я должен всё это успеть?

В пизду. Я на тренировку.
💯16💔7🙏2🤔1🤯1
О рабочем пространстве

Я обычно работаю из дома. Но мозг время от времени устаёт и хочется сменить обстановку.

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

И главное – не сидеть за кодом часами напролёт. Мне вот помогает в зал ходить, после него со свежей головой выхожу. Или просто погулять выйти.

А вообще, знаете, какое у меня самое эффективное место для работы? Такси.

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

А вам откуда работать нравится?
👍7🤔41🥰1
Задача побеждена!

Всё же дело оказалось в одном из методов SDK, которое я внедрял.

Выглядел метод максимально безобидно, как-будто просто оборачивал передаваемый битмап / ресурс в удобный для SDK класс. Не знаю, что они там в конструктор напихали, но ЦПУ этот метод выжирает безбожно.

Когда речь идёт о десятках вызовов, всё норм, но когда о тысячах – устройство взвывает.

Лучший враг прячется там, где ты меньше всего будешь его искать (с)

Я этот метод всё это время не замечал, будучи уверен, что дело в коде вокруг него.

Ну а когда знаешь, в чём проблема, исправить – дело плёвое. Зато я свой код так оптимизировал, что комар носа не подточит.

Постфактум понял, что несколько часов назад мне профайлер уже подсказал ответ, но я его не заметил :))
👍12🔥6🎉5😎2