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

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

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

О менторстве: https://androidmentor.ru
Download Telegram
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
ChatGPT – бог или дьявол?

🤓 Кажется, что chatGPT можно использовать, как умного старшего товарища, он же всё знает. При этом он не злится и не токсичит, в отличие от ребят из StackOverFlow или некоторых ребят из чата Android Developers =)

🫢 Но есть один большой минус, свойственный и подавляющему большинству людей и, как следствие, chatGPT, как отражению этого большинства. Этот минус сейчас, вероятно, прозвучит для вас комично: "Когда вы задаёте им вопрос, они вам на него отвечают, причём правильно".

🤔 Чем же это плохо? Вы же получаете ответ на вопрос, решаете проблему?

❗️ Засада в том, что вы не научились решать проблему, а решили проблему. Фактически, вы её просто избежали и пошли дальше, словно с ней и не сталкивались. Забрали у себя один из пунктов, на которых могли научиться.

Обучение начинается тогда, когда у вас возникают трудности в решении проблем.
А тут вы избежали всех трудностей :)

😕 К сожалению, это касается и многих менторов. Ведь ментор, зачастую, это просто крутой эксперт, который не умеет обучать. И сессии у него поначалу кажутся полезными, потому что "ну он же за сессию мне капец как много всего нового и полезного на голову вывалил".

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

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

Не вините в этом себя.

P.S.: и это я рассмотрел хэппипасс. Но chatGPT ещё может и дичи всякой вам наговорить, а вы её примете за чистую монету. И потом у вас в коде образуется куча упоротых костылей, в верность которых вы свято верите. А у людей потом глаза на лоб полезут, когда это увидят =)

#android #лайфхаки #советы

@andrdevnotes | Обучение android
Please open Telegram to view this post
VIEW IN TELEGRAM
👍92🥰2
❇️ Как упростить себе работу с коллекциями? ❇️

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

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

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

https://youtu.be/BfzaZ8D3sls

#android #видео #лайфхаки

@andrdevnotes | Обучение android
🔥52🥰1👏1
Хочешь продолжить начатое – …

… не сбивайся с ритма (с) Х. Мураками 🤓

Решил я тут во время августовского отпуска отдохнуть от блога – и на тебе, на дворе октябрь, а я с тех пор лишь пару постов осилил.

❗️Почему? Потому что сбился с ритма. Не повторяйте моих ошибок!

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

Следующий пост ждите завтра утром. Возвращаюсь в строй 💪
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10💯3😁2
Как разговаривать с адаптером, не привлекая внимания санитаров

💡 Представим, что вы хотите с помощью RecyclerView отобразить список, в котором будет несколько разных способов отображения элементов: в одном будет чекбокс, в другом картинка, в третьем картинка и текст, в остальных ещё что-то другое. Как это сделать

Адаптеру надо как-то объяснить, сколько типов отображения у вас есть, и чем они отличаются.

1️⃣ Начинаем мы ему объяснять с переопределения метода getItemViewType, который вызывается автоматически в начале отрисовки каждого элемента списка. В этом методе есть аргумент position, и именно здесь вы решаете, какой тип отображения будет на каждой position списка. Метод возвращает целое число, по которому мы и будем дальше определять тип отображения.

2️⃣ Потом адаптер вызовет метод onCreateViewHolder, у которого есть целочисленный аргумент viewType — тот самый, логику для вычисления которого мы переопределили в предыдущем методе. А из этого метода вы на основании полученного viewType должны вернуть соответствующий этому типу отображения ViewHolder — то есть объяснить адаптеру, какие вьюхи вам для каждого типа отображения понадобятся.

3️⃣ Теперь настанет очередь onBindViewHolder, в котором аргументом будет являться уже вьюхолдер и position. Вы должны определить, какой это из ваших вьюхолдеров (здравствуй, полиморфизм), взять из него соответствующие вьюхи и наполнить их информацией из элемента на этой position.

🎬 Дело сделано! Мы определили для конкретной position конкретный viewType, сопоставили с вьюхолдером и наполнили его вьюхи. И так адаптер пройдётся по всем элементам и отобразит их так, как мы ему сказали.

🤌🏼 Под каждый viewType обычно заводят свою константу с понятным названием в адаптере, чтоб потом не путаться в числах.

P.S.: хотите видео-разбор типичных ошибок при организации списков? 10 реакций этому посту и снимаю 😉
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥4👏1
❇️ Я в шоке от его гибкости ❇️

Рассказываю про adapter delegates в android: как сделать удобнее и чище свой adapter для RecyclerView.

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

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

https://youtu.be/dQAqT2NhDJI?si=P0Mao0M-h1WX9K-k

#android #видео #лайфхаки

@andrdevnotes | Обучение android
🔥4👍2👏2😁21
А скажите, удобно вам на ютубе мои видео смотреть? Надо продублировать на российские площадки?
Где вам удобнее смотреть мои видео
Final Results
74%
Ютуб
26%
Вк
12%
Рутуб
6%
Другое (укажу в комментариях)