Android | Михаил Белый
310 subscribers
272 photos
32 videos
127 links
Авторская песочница о карьере в IT в роли Mobile Dev (Android, Kotlin, Multiplatform) и разных вещах, которые мне интересны.

Посты каждый день в 5 вечера.

Автор: @michaelbel

Забустить: t.me/boost/foundout

Задонатить: boosty.to/michaelbel
Download Telegram
Хеллоу велкам! 👋

Пусть это будет первый пост на канале.

Меня зовут Михаил Белый. Мне 26 лет. Живу в Москве. Я супер сеньор архитектор мобильный разработчик и ментор.

Впервые открыл IDE в 2012 году. Делал приложения под Windows Phone. К 2015 году она приказала долго жить и я благополучно перебрался на Android.

Мне нравится продуктовая разработка, плоский дизайн, чтобы бабки шуршали и все ровно без базара летало и не падало. Сейчас изучаю KMP и iOS. Все что нас не убивает добавляет строчку в резюме ☠️

Подписывайся на 🐗 Boosty, форкай 🐗 GitHub, решай 🐗 LeetCode, читай 🐗 Twitter, добавляйся в 🐗 LinkedIn, не забывай чистить зубы после еды.

Все, побежал по делам, обнял-приподнял 🤗

Для связи: @michaelbel
Please open Telegram to view this post
VIEW IN TELEGRAM
611
Как выбрать курс

Разработка под Android бывает кроссплатформенной и нативной. Первая – Flatter и React Native. Вторая – Java и Kotlin. Как понять что перспективнее и ближе? Гуглишь исследования рынка разработки, смотришь количество открытых вакансий. Остановимся на нативной: нам понадобится IDE Android Studio, система контроля версий Git, аккаунт на Github, знания платформы Android и языка программирования Kotlin.

Где искать курсы? Во-первых, это Udemy и Coursera. Во-вторых, тематические плейлисты на YouTube, например раз два три четыре. Из категории 200 тыщ заплати полтора года учись я где-то краем уха за углом слышал что более-менее котируются яндекс практикум и нетология. Сам конечно же не проверял. Из наиболее доступных и рекомендуемых с возможностью осваивать в свободном темпе – курсы Андрея Сумина на Stepik. Ради интереса проходил. Технологии развиваются нещадно быстро, хорошо чтобы курсу было не больше 2 лет.

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

🐗 Нужна ли Java? Гугл еще в 2017 году сделал Котлин официальным языком разработки под Андроид. Скорее всего ты сразу попадешь в проект на 100% написанный на Котлине. В редких случаях в проекте будет 10% легаси на Джаве в каком-нибудь всеми забытом модуле, существующем по принципу работает - не трогай. Проекты чисто на Джаве крайне редки, лично знаком только с одним. За новыми версиями Джавы Андроид традиционно не поспевает и многие возможности языка массово не используются. Тем не менее сам Android SDK написан на Джаве. Под капотом Котлин также компилируется в Джаву. Поэтому будет не лишним знать как один язык вызывается из другого, что такое строгая типизация и для чего нужны аннотации.

🐗 Jetpack Compose? На текущий момент все еще нужно уметь верстать UI с помощью XML. Бизнес большой и неповоротливый. Немногие компании начинают думать в декларативном стиле и часто это ограничивается одним экранчиком на который никто не заходит. Поэтому гуглишь эти два слова в вакансиях, изучаешь в процессе редизайна на проекте.

🐗 Kotlin Multiplatform? Исходя из описания вакансий не используется практически нигде. Потыкай палкой если интересно. Изучать будешь уже на проде.

🐗 Надо ли читать книги? – Не надо, они устаревают быстрее, чем доезжают до полки в магазине.

Некоторые вещи просто невозможно узнать заранее. Речь про разные организационные штуки. После залета на работу начнет формироваться бизнес-мышление: тестировать поделку на разных девайсах, масштабировать, поддерживать обратную совместимость, миграции, абстракции, непрерывные интеграции, договариваться о контрактах, аналитике и дизайне с коллегами. Это тот самый рыночный навык, который стоит денег.

Каждый опыт изучения нового уникален и неповторим. Твоя призма восприятия играет первостепенную роль.
Ебош.
Please open Telegram to view this post
VIEW IN TELEGRAM
61
Тестовое задание

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

Залететь на новую работу выполнив тестовое – один из самых непыльных путей. Ты делом показываешь что могёшь условную мурку и часто пропускаешь другие этапы собеседования. Я делал так дважды, просили клон инстаграма и todo-лист. Сейчас у меня валяется пет-проект где я обмазался всеми технологиями с ног до головы, и в принципе этого достаточно если кто-то хочет посмотреть код.

Идея для приложения?
Самое время для творчества. Подойдет все, что решает конкретную проблему:
🐗заметки
🐗прогноз погоды
🐗конвертер криптовалют
🐗репозитории компании на github
🐗список премьер в кино
Существует огромный список публичных API, на основе которых можно собрать свою интересную поделку.
Идеи для дизайна можно посмотреть на Uplabs и Dribbble. Или просто использовать Material Design от Google.

Какие технологии использовать при разработке?
Бывает, что компания явно указывает рекомендуемый стек. За использование чего-то экзотического попросят пояснительную бригаду. Если ничего не указано, используем следующие технологии:
🐗язык: kotlin
🐗версия android: 6.0 (API Level 23) и выше
🐗архитектура: clean, MVVM или MVI, Data-Domain-UI, гайд и рекомендации
🐗бизнес-логика: ViewModel, LiveData, Flow
🐗UI: адаптивный Material 3, XML или Jetpack Compose, ViewBinding, Lifecycle
🐗DI: Hilt, Koin
🐗навигация: Single Activity, Navigation Component
🐗многопоточность/async: Kotlin Coroutines
🐗работа с сетью: Retrofit, Okhttp
🐗сериализация: Kotlin Serialization, Gson
🐗загрузка картинок: Coil, Glide
🐗хранение данных: DataStore, Room
🐗фоновая обработка: WorkManager
🐗линтеры: Lint, Ktlint, Detekt, Spotless

На что обратить внимание при оформлении / что будет оцениваться?
🐗полнота реализованного функционала, соответствие требованиям и пожеланиям ТЗ
🐗качество, плавность и стабильность работы
🐗проект собирается и запускается, работает без крашей и багов, не жрет оперативку как голодный родственник, корректное функционирование вплоть до закрытия. Не допускается потеря работоспособности во время использования. Устойчиво к сворачиванию/разворачиванию
🐗использование архитектурных подходов, логическое разделение на модули, организация классов в пакеты
🐗опрятность кода: никаких кривых отступов, закомменченных участков, лишних пустых строк, стилистическое оформление по гайдлайнам
🐗обработка ошибок и пустых состояний, индикаторы загрузки
🐗избегать многоуровневой структуры в xml-файлах
🐗не копипастить 100% кодовой базы из других проектов на гитхабе, это легко проверяется
🐗минимум внешних зависимостей типа moxy и epoxy
🐗работа с Git – оформление коммитов и пулл-реквестов

Готовый проект публикуем на гитхаб. Обязательно заполняем readme:
🐗какие задачи выполняет приложение (скопировать ТЗ)
🐗используемые зависимости, их версии
🐗инструкция по запуску

Отправляем ссылку на проект потенциальному работодателю. Пингуем, чтобы дали фидбек.

В заключение примеры тестовых заданий от разных компаний: Wildberries, VK, Avito, Kode, KazanExpress, Tutu, Tinkoff, Shift.

И примеры посложнее: VK, Avito.
Please open Telegram to view this post
VIEW IN TELEGRAM
621
Ретроспектива изученных языков

Впервые желание изучать языки программирования появилось у меня в школе. Прошло полгода как в моё село провели интернет. Я закончил скачивать все торренты которые существуют на свете (потребитель) и задумался над созданием чего-нибудь самостоятельно (криэйтор).

🐗 HTML
Делать сайты – первое, до чего я додумался. Некоторое время поизучал теги/стили на htmlbook. Максимальный выхлоп – несколько веб-страничек, которые можно было открыть в браузере.

🐗 PascalABC
На первом курсе приказали программировать. Этот учебный язык я долбил 2 года, так и не выучил. Требовалось сдавать курсовые, показывать что-нибудь работающее. Я оставался на уровне «как присваивать значение переменной?». Решения - копипастятся из интернета. Будущее - неопределенное.

🐗 Delphi
У этого, забытого даже динозаврами, диалекта Паскаля была своя IDE для создания приложений. Никакой заинтересованности не вызвал.

🐗 Visual Basic
А также Visual Basic for Application. Изучение началось с написания макросов для Word и Excel. Язык сразу показался перегруженным - одни только sub и end sub чего стоят. Но! Оказалось на Бейсике можно создавать настоящие программы для Windows. Впервые появился намек на коммерческий потенциал. В мыслях зашуршала капуста с франклинами. Скачивается Visual Studio, начинается освоение Windows Forms.
Please open Telegram to view this post
VIEW IN TELEGRAM
511
🐗 C#
Приложения работают, но Бейсик менее душным не становится. Внезапно оказывается, что у Microsoft есть еще как минимум один язык для Windows Forms – C#. Так он мне понравился! Копаясь в Visual Studio обнаружил фреймворк WPF – визуально-презентационная система для Windows-приложений. Всё выглядит красиво, разметка XAML помогает дизайнить адаптивно. К Windows Forms больше не возвращаюсь.

В это время ходил с Nokia Lumia на Windows Phone 7. Сложив 2+2 решаю делать на C# приложения под эту ось. Даже спустя 10 лет вспоминается как у Microsoft все было красиво и удобно в их IDE. Бесперспективность идеи создания мобильных приложений вскоре становится очевидной. ОС совсем не привлекательна для пользователей.

Где еще найти применение шарпам? Недолгий гуглешь приводит к игровому движку Unity. Загрузка, установка, туториал пройден, начинаю пилить 2D-шутер. По другую сторону производства открываю для себя целую индустрию по продаже готовых ассетов для игр. Скачиваю Blender, рисую кружку. Все утомляет, удаляю и блендер и юнити.

🐗 C++
Не обошел меня стороной. Приходит новый препод, начинаются лекции. Звездочки, тильды, амперсанды прямо в коде. Какие-то заголовочные файлы. Без слез и пузыря не взглянешь. Я вроде бы признавал универсальность и всеобщую мощь C++, но язык мне просто не нравился.

🐗 JavaScript
Одной парой в неделю тянется дисциплина «Веб-дизайн». Изучаю JS+HTML+CSS, делаю сайты по шаблонам, ровняю отступы, настраиваю стили. Интерес к созданию сайтов похоронен в школе, поэтому двигаюсь как самурай – без энтузиазма.

🐗 Java
Windows Phone дышит на ладан. Нокиа превращается в кирпич. Приобретаю Самсунг и принимаю решение учить язык разработки приложений под Android – Java. По удачному стечению обстоятельств Java имеет схожий с C# синтаксис, учить легко, все чудно. Скачиваю IntelliJ IDEA, осваиваю Android SDK, устраиваюсь на работу. Пишу на Java с 2015 по 2018.

🐗 Kotlin
В конце 2018 становится очевидно: настроения в Андроид-разработке изменились. Пора в Котлин. В январе начинаю изучать, через 2 недели пишу на проде (паскаль за 2 года). Раз в месяц выходит новая версия, вываливают data object, читаю что это, открываю проект, добавляю слово data к своим object.

P.S.
Бэкенд-разработка полностью прошла мимо меня. Мне никогда не было интересно как работают сервера и какие нагрузки там крутятся. Синдром фронтендера у меня даже не появлялся. В мобильную разработку я влез, когда случился переход из скевоморфизма в плоский мир. Я до сих пор двумя ногами адепт простоты и утонченности. Между запросами к SQL и созданием красоты, которую можно увидеть, потыкать и посвайпать, выберу второе.

Какие выводы?
🐗самый трудный язык программирования – первый
🐗направление разработки важнее языка
🐗делай то что нравится. не делай то что не нравится

Что дальше?
🐗 Dart – Flatter кажется интересной платформой
🐗 Swift – Cтал яблочным сектантом, полезу в KMP и iOS
Please open Telegram to view this post
VIEW IN TELEGRAM
52
Вылизываем резюме

С резюме начинается первая коммуникация с работодателем. Его цель – появиться на радарах рекрутеров и попасть на собес. Для ру-рынка хватает hh, в остальных случаях – LinkedIn и PDF. Целиться лучше в рынок, а не в конкретную компанию. Хорошо оформленная анкета сразу выделит тебя из безликой массы.

По пунктам:

🧷Фотка
Не особо нужна. Дискриминация по внешке и все такое. Посмотрят на тебя в мите.

🧷Личные данные
Нужны – имя и фамилия. Не нужны – отчество, пол, возраст, рост, вес, дата рождения.

🧷Контактная информация
Указать почту и телеграм. Номер телефона лучше не указывать, чтобы помощника олега не напрягать.
Дополнительно город или часовой пояс. Если живешь в лесу – указать крупный город рядом.

🧷Специализация
Указать основной язык/фреймворк/стек. Например: Android разработчик, Flatter developer. Ни в коем случае не добавлять приставки junior, middle, intern, начинающий, стажер и т. д. – есть шанс легко себя продаунгрейдить.

🧷Зарплатные ожидания
Обсуждаются на собесе. В резюме не указываются. О твоей ценности как специалиста скажет рынок. И чаще в большую сторону.

🧷Опыт вождения/наличие тачки
Это лишняя информация. Для работы в IT не нужны права.

🧷Уровень образования
Если по специальности – указать вместе с кафедрой.
Если гуманитарий – только название вуза без специальности.
Если семинариев не заканчивали - по ситуации. Либо вообще ничего не указывать, либо «учился там-то, диплом потерялся».

🧷Знание языков
Все просто: пишем английский от B1 и выше. Даже если твой текущий уровень – старбакс. Потом не баклушничаем и подтягиваем.

🧷Пройденные курсы
Худшее, что делают курсы в резюме – перетягивает на себя внимание с опыта работы. Не должно быть тривиального километрового списка. Никаких курсов по фотошопу. Только по указанной специальности. Если опыт работы есть – курсы лучше не указывать.

🧷Электронные сертификаты
Не отвлекаемся.

🧷Рекомендации
Не отвлекаемся.
Please open Telegram to view this post
VIEW IN TELEGRAM
43
🧷Ключевые навыки
Список технологий, с которыми работал: основные языки, фреймворки, библиотеки, инструменты и методологии. Должны показать твою высокую техническую экспертизу. Никакого пунктуально-стрессоустойчивого буллщита, уверенного владения вордом и солидов с драями. Все только по делу. Например: Git, Java, Kotlin, Dart, KMP, Compose, RxJava, ExoPlayer, Firebase, Realm, ML Kit, FastLane, TeamCity, CircleCI, Detekt, Kaspresso.

🧷О себе
То, что расскажет о тебе как о специалисте. Начинать лучше всего с количества лет коммерческого опыта. Указать на чем специализируешься, что интересно, что умеешь, в чем хорошо разбираешься, в чем эксперт. В каких больших и маленьких командах работал, по каким методологиям. Какие системы создавал и поддерживал. Изучаемые тобой новые технологии. Что для тебя важно в айти в целом и в будущей команде в частности. Опыт управления, если хочешь управлять и быть наставником, разное лидерство, сотрудничество, руководство командами, работа в коллаборативной среде. Пишешь техностатьи, выступаешь с докладами, побеждаешь на хакатонах – всё сюда. Ссылку на гитхаб обязательно, форки, проекты, добавил запятую в какой-нибудь опенсорс – пиши, что только на тебе там все и держится. В общем не соискатель, а киборг-убийца.

🧷Опыт работы
Все перечисленное выше хорошо, но нисколько не поможет пройти фильтр эйчара если такой имеется. Графа с опытом работы должна быть тем жирнее, чем его меньше. Каждый эйчар мечтает увидеть здесь бизнес-результаты и метрики. Это может быть конкретное измеримое достижение на работе, улучшение процессов, завершение проектов, запуск проектов с нуля, инновации и творческое мышление. В меньшей степени – умение рефакторить, переезжать с одной архитектуры на другую.

Структура следующая:

💋Название компании – пара слов кто такие, какую отрасль в экономике занимают, ссылка на сайт.
💋Должность – если джун/мидл – не даунгрейдим, если синьор/лид – можно так и указать.
💋Стаж. Пример – 02.2020-07.2021. Хронология от последнего проекта к первому. Стаж меньше года с ноги снижает конверсию положительных откликов. Решение: указать хотя бы 1.5 года. Пересекающийся опыт также вызывает ненужные вопросы.
💋Стек – список технологий, которые использовались в работе
💋Рабочие обязанности. Хватит 3-4 пунктов по схеме: что делал – к чему это положительно привело (какую добавленную стоимость принесло). For example:
– Возглавил интеграцию в приложение кошелька TrustWallet для проведения платежей в криптовалюте.
– Работал над оффлайн-режимом, снизил нагрузку на бэкенд на 20%, использовав библиотеку Realm.

Шаблонные формулировки типа «правил баги, делал фичи» никого не впечатляют. Если на проекте случалось только верстать ui, в то время как коллега оркестрировал сложными фреймворками – не стесняемся и тащим опыт себе.

Если коммерческий опыт имеется – все в шоколаде. Если опыта нет – время включать режим изобретателя и работать с тем, что имеется: взять стажировку, фриланс, смежную сферу, работу на дядю, не по специальности, парт-тайм, друг попросил, волонтерство, научный проект, лабы в универе или наконец чужой опыт и сконвертировать это в свой айтишный опыт работы. Fake it till you make it. В случае успеха рисованная экспертиза станет реальной. Неудачи не бывает, бывают тестовые попытки.

Обнови свое резюме уже сегодня!
Please open Telegram to view this post
VIEW IN TELEGRAM
52
Свое первое резюме нашел 😎
Please open Telegram to view this post
VIEW IN TELEGRAM
63
Морской волк

Джун попадает в токсичную компанию.
Постигает азы работы в команде.
Заканчивает проект лидом.


Хочу продать тебе идею почитать немного столетней беллетристики. Еще не писал рецензии на творения поп-культуры. Начнем с этой книги Джека Лондона, о которой я узнал из статьи про волчистость. Вольная интерпретация в трех строчках – выше, переусложненная как полагается – ниже. Без спойлеров.

1893 год. Литературный критик Хэмфри Ван-Вейден отправляется на пароме через залив и терпит кораблекрушение. Из воды его волею случая спасает капитан промысловой шхуны, которого все на борту зовут Волк Ларсен. Ни дня в жизни не работавший руками 35-летний Ван-Вейден обнаруживает себя среди разношерстной команды и становится заложником жестокой воли ее капитана. Ларсен, презирающий сибаритский образ жизни, назначает спасенного юнгой и забирает с собой в плавание. Уже в новой для себя роли Ван-Вейден вынужден отправиться к берегам Японии бить морских котиков и учиться «‎стоять на своих ногах»‎.

Как рыба живет в воде, так любое произведение – в контексте. В данном случае внутри общественной мысли конца XIX – начала XX века в западной культуре. В эпоху модернизма были популярны идеи объяснить устройство общества действиями законов живой природы и биологическими концепциями естественного отбора. Выживает наиболее приспособленный к экономике. В этой модели харизматичный Волк Ларсен – ницшеанский сверхчеловек. Превосходит людей как те обезьян. Не считается с правилами и законами, самостоятельно определяет свою судьбу. Бросает вызов обществу на пути к своим целям. Его антипод – человек посредственный, стремящийся к комфорту и безопасности. Столкновение этих двух противоречивых образов и будет конвой романа.
422
Эта социально-философская утопия удачно маскируется под жанр морских приключений. Подробно описывая традиции моряков и быт на корабле Лондон создает для нас эффект погружения. Здесь будет много романтического деления мира на черное и белое. Несмотря на это мы не сразу видим в Волке Ларсене антигероя, безжалостного просто по своей прихоти.

Перед нами он предстает во всех возможных спектрах: жестокий тиран, обаятельный садист, закоренелый индивидуалист. В противовес этому – обходительный и рассудительный собеседник с нестандартным складом ума, пылким темпераментом и необычайной физической силой. Через философские дискуссии и идеологические споры Ларсен будет штурмовать мировоззрение Ван-Вейдена. А тому останется только аргументированно противостоять. Здесь найдется отражение и собственным взглядам Лондона. Волк Ларсен – откровенный злодей, которого мы неохотно уважаем. Злодей, который честен с нами с самого начала, в том, кем является и во что верит.

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

Мир описанный в романе бесконечно далек от нашего. Попробуй сегодня на серьезных щщах подискутировать про гипотезу сверхчеловека, не привлекая внимание санитаров. Развитие гуманизма надолго прописало эту идею на два метра под землю. В то же время другие идеи Ницше – выход из зоны комфорта, нигилизм и экзистенциализм актуальны как никогда.

Чему может научить роман и его главные герои обывателя сегодняшнего, живущего в самое безопасное и человекоцентричное время за всю историю? Тому, что сильная личность не выковывается на диване, ей нужны условия близкие к экстремальным. Тому, что нужна смелость брать ответственность за себя и других. Еще невероятной жажде жизни, которую случается видеть так редко («‎отлежусь само пройдет»‎, «‎и здесь неплохо кормят»‎). Наконец тому, что жизнь полна неудовлетворенности, но еще меньше может удовлетворить нас мысль о предстоящей смерти.

– Он никогда не философствует о жизни? – добавил я.
– О нет, – ответил Волк Ларсен с горечью. – И в этом его счастье. Он слишком занят жизнью, чтобы думать о ней. Я сделал ошибку, когда впервые открыл книгу.
721
Уходим в отпуск выгодно

О чем должен помнить каждый работяга на пятидневке по ТК? Об отпуске конечно же.

Работодатель каждый месяц платит зарплату, чтобы ты забыл о своих мечтах и предоставляет отпуск, чтобы ты не выгорел в угли. За каждый отработанный год тебе полагается 28 оплачиваемых дней отпуска. 14 из которых надо отгулять одним куском, остальные хоть по одному дню.

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

Расклад на 2024 такой:
январь – 17 раб. дней
февраль – 20 раб. дней
март – 20 раб. дней
апрель – 21 раб. день
май – 20 раб. дней
июнь – 19 раб. дней
июль – 23 раб. дня
август – 22 раб. дня
сентябрь – 21 раб. день
октябрь – 23 раб. дня
ноябрь – 21 раб. день
декабрь – 21 раб. день

Работодатель платит за каждый календарный день отпуска, включая выходные. За праздничные дни не платит. Размер отпускных зависит от официальной части дохода. Один день отпуска = среднедневному заработку за последний год перед месяцем начала отпуска. Отпускные платят заранее. Если не пришли за три дня до начала отпуска – стоит осмотреться, возможно у твоей галеры пробоина в корпусе и пора спасаться бегством.
5221
Для примера возьмем двух стахановцев: Аркадия и Арсения. Эти двое из ларца лутают по 300k/мес, планируют в 2024 отпуск на 14 дней и отработали 12 месяцев до месяца в котором будет отпуск.

👋 Аркадий решает продлить новогодний опохмел и выбирает даты отпуска:
15.01.202428.01.2024.
Из этих 2 недель: 10 – рабочие дни, 4 – выходные.
Всего в январе 17 рабочих дней. Аркадий отработает только 7 из них.
За предыдущие 12 месяцев доход Аркадия составил:
3 600 000₽ (300 000₽ * 12).
Средний дневной заработок Аркадия:
10 238₽ (3 600 000₽ / 12 / 29.3).
29.3 – это в среднем дней в месяце.
ЗП Аркадия за январь составит:
123 530₽ (300 000₽ / 17 * 7).
Отпускные Аркадия за январь:
143 332₽ (10 238₽ * 14).
Совокупный доход за январь:
266 862₽ (123 530₽ + 143 332₽).
У Арсения будет 300 000₽.

🏝 Арсений собрался в отпуск на тропический остров и выбирает даты:
15.07.202428.07.2024.
В июле целых 23 рабочих дня, из которых Арсений отработает 13.
Доход за год, средний дневной заработок и размер отпускных будет таким же как у Аркадия.
ЗП Арсения за июль составит:
169 565₽ (300 000₽ / 23 * 13).
Совокупный доход за июль:
312 897₽ (169 565₽ + 143 332₽).
У Аркадия будет 300 000₽.

Таким образом наши джентльмены сходили в одинаковый по продолжительности отпуск, но с разницей в 46k деревянных. Этот пример показывает, что иногда можно обнаружить на балансе приятную неожиданность, если плохо спланировать отпуск или будущие расходы. Есть много критериев определения точки безубыточности, если хочется упороться – заходи в калькулятор отпускных. Там можно указать предыдущие отпуска, больничные, командировки и простои.

Про что не забыть когда увольняешься?
Перерабатывать зарплату в выполненную работу надоело, решаешь сойти на берег. Не всегда получается отгулять все дни отпусков, они накапливаются несгораемой суммой. За них тебе положена компенсация, вообще за все время – хоть за 5 лет, хоть за 25. Компенсация платится деньгами. Отказать в ней не имеют права. За каждый отработанный месяц положены 2.33 дня оплачиваемого отпуска.

И самое главное: отпуск – это не способ заработать на компенсациях, а реализация твоего права на отдых. С любимой работы нужно уметь уходить домой.

#rest@foundout
Please open Telegram to view this post
VIEW IN TELEGRAM
631
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
621
Технический скрининг

Как-то раз, когда я был джун и глуп и не видал больших цифр в офферах, звонит мне рекрутер и спрашивает:
– Михаил, можем ли мы извне получить доступ к приватной переменной класса?
– Конечно можем!
– Эмм… нет не можем.
– Можем через рефлексию!
– Кажется, нам пора закругляться, до свидания!


class Bank {
private val money = "$300"
}

fun main() = runBlocking {
val money = Bank::class
.memberProperties
.first { it.name == "money" }
.apply { isAccessible = true }
.get(Bank()) as String
println(money)
}

Пальцем щелк и деньги в банк

Зачем нужен скрининг?
Техсобес – событие энергозатратное. Чтобы каждый залетный птиц с наскока туда не проскочил бизнес придумал фильтровать таких смелых и умелых еще на дальних подступах. Время и ресурсы сокращаются, флоу найма улучшается. Чтобы добраться до технической секции и показать, что мурку могешь, нужно сначала созвониться с эйчаром, послушать рассказ о компании/вакансии, позадавать свои вопросы. И иногда пройти технический скрининг – первичную проверку на харды в сжатом тайминге.

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

Примеры:
🐗 Модификаторы доступа в котлине
🐗 Типы исключений в котлине
🐗 Parcelable vs Serializable
🐗 Hot Flow vs Cold Flow
🐗 FlatMap vs ConcatMap

Как правильно действовать?
Перейти с автомата на ручной режим. Выключить синдром отличника. Помнить что у тебя и рекрутера одна цель – пристроить тебя на рабочее место. Не теряться если попался незнакомый вопрос. Профессионально и дружелюбно объяснять сложные концепции простыми словами. В слишком объемных ответах нет смысла, не развивать тему и не офтопить. Если совсем все плохо – записать вопросы, узнать ответы и идти на следующий собес.
Please open Telegram to view this post
VIEW IN TELEGRAM
62211