- Android-разработчик: почему все ринулись изучать мобильную разработку и что на самом деле ждет новобранца
- Стоит ли идти в мобильную разработку
- Кому стоит идти в мобильную разработку
- Какие требования к «железу» для мобильной разработки и нужно ли знать английский
- Как выбрать курс и нужно ли учиться в университете
- Как перейти в мобильную разработку и стоит ли бросать работу
- Как пройти собеседование и найти работу
- Насколько легко в разработке и влияют ли кризисы
- 30+ лаконичных профессиональных рекомендаций для Android разработчика
- 1. Лучше ознакомьтесь с внутренними компонентами Android фреймворка
- 2. Попытайтесь преодолеть страх пропустить что-то важное (FoMo — Fear Of Missing Out)
- 3. Начните читать больше кода
- 4. Подумайте об изучении большего количества языков
- 5. Самое время изучить паттерны проектирования Java
- 6. Начните вносить свой вклад в open-source
- 7. Сделайте так, чтобы ваша IDE работала на вас
- 8. Пора уделять больше внимания проектированию вашего приложения
- 9. Изучите соглашения написания чистого кода для Android
- 10. Потратьте некоторое время на изучение лучших практик Android
- 11. Эффективно используйте свое свободное время, слушая подкасты
- 12. Не переусердствуйте. Будьте реалистичными.
- 13. Попробуйте немного разобраться в дизайне
- 14. Станьте перфекционистом
- 15. Последовательность — ключ к успеху
- 16. Начните с малого. Продвигайтесь постепенно.
- 17. Всегда имейте под рукой проект песочницу
- 18. Начните писать больше тестов
- 19. Рассмотрите вопрос о принятии TDD
- 20. Настройте правильный механизм автоматического релиза
- 21. Примите подход реактивного программирования
- 22. Научитесь использовать Kotlin для разработки под Android
- 23. Посещайте митапы и будьте более общительными с другими разработчиками
- 24. Познакомьтесь с горячими клавишами
- 25. Попробуйте изучать хотя бы один новый материал по Android каждую неделю
- 26. Автоматизируйте все, что ест ваше время
- 27. Подумайте о запуске двух версий Android Studio
- 28. Периодически проверяйте все сторонние библиотеки.
- 29. Узнайте лучшие способы рефакторинга легаси кодовых баз
- 30. Всегда разрабатывайте и тестируйте на бюджетных устройствах
- 31. Купите лучшую рабочую машину, которую вы можете себе позволить
Android-разработчик: почему все ринулись изучать мобильную разработку и что на самом деле ждет новобранца
Количество мобильных устройств растет, люди все больше проводят времени с гаджетами. На данный момент у 66% населения планеты есть телефон, 89% из них — смартфоны.
Такое положение вызвало серьезный спрос на специалистов в сфере мобильной разработки. К тому же на фоне пандемий, актуальность еще больше увеличилась, ровно как и уровень ЗП таких специалистов.
Статистика пользования мобильными телефонами, соцсетями и интернетом в мире, Digital 2020
Многие украинцы также подумывают сменить свою профессию на Android- или iOS-разработчика, так как иностранные заказчики охотнее отдадут заказ нам, чем специалисту из Европы и США.
Всему причина — ценник за работы. В Украине он сравнительно ниже, а качество практически не уступает. И все бы ничего: и зарплата высокая, и стабильность, НО с чем на самом деле сталкивается новичок осваивая желанную профессию?
Владимир Анисимов — Mobile App Developer, Android-разработчик
Об этом честно согласился рассказать Владимир Анисимов — Mobile App Developer, практикующий Android-разработчик с более чем 4-летним опытом в кроссплатформенной разработке: Android, iOS, Web, Flutter. Владимир дал интервью и ответил на самые волнующие вопросы.
Стоит ли идти в мобильную разработку
Владимир, скажите: Почему все пошли в мобильную разработку?
Как и любая технология, мобильная разработка сначала не была массовой, но сейчас смартфоны становятся дешевле, и их количество растет.
Если сравнить стоимость мобильного телефона 7 лет назад и сегодня, то сегодня он стоит… скажем, как 15–20 кг мяса. Это не такие большие деньги — отсюда массовость.
Больше мобильных устройств — нужны приложения, отсюда спрос.
Действительно ли спрос такой большой или нас в этом пытаются убедить создатели курсов?
Спрос на мобильную разработку не раздутый, наоборот — неудовлетворенный.
Люди все больше пользуются мобильными телефонами, планшетами, умными часами, играют в игры, сидят в соцсетях. Кому-то все эти программы нужно писать. Поэтому спрос тут — реальный.
Почему выбирают именно мобильную разработку, в чем ее преимущество перед другими IT-специальностями?
Главное преимущество мобильной разработки — она находится в золотой середине по скорости изменений и сложности кода.
Для сравнения, в Web-разработку легко войти, задачи сравнительно несложные, но изменения происходят примерно каждые 2–3 месяца. Не изучили вовремя новые технологии — ваши знания устарели.
Если брать программирование на языках вроде Java и C# — нужно много думать, все логично, структурировано. Но стать таким специалистом непросто.
К тому же, технологии тут не меняются годами, а разработчик часто не видит конечного результата своей работы. Это может демотивировать разработчика, сделать работу скучной для него.
Мобильная разработка находится посредине.
Она сложнее Web-разработки, но не настолько, как C++, чистая Java, C#. При этом проекты не такие большие, чтобы устаревать. Мы находимся на пике технологий но они меняются не раз в 2 месяца, а, например, раз в год.
И вы сразу видите результаты своей работы — приложение на экране своего смартфона.
Что выбрать: Android или iOS?
Я бы не стал говорить, что одно лучше, другое — хуже.
Преимущество Android в том, что его используют в 70% устройств, значит, больше спрос.
Плюс, в iOS есть сложности на старте. Для разработки нужна техника Apple. Чтобы создать и поддерживать аккаунт разработчика, нужно платить примерно $100 в год.
Я бы рекомендовал начать с Android, а позже — доучиться разработке на iOS или кросс-платформенной разработке.
Кому стоит идти в мобильную разработку
Можно ли начать обучаться с 0, не имея опыта и технического образования?
Нужно. Найти свое место может даже гуманитарий: в работе с интерфейсом, дизайном. Конкретно меня некоторые клиенты ценят в том числе за то, что я могу кроме программирования сделать дизайн без привлечения еще одного специалиста-дизайнера.
На первых этапах, конечно, нужно прокачивать технический скил. Когда доходите до уровня Middle, возникает больше требований к гуманитарным вещам: структуре, взаимодействию с командой, поиску информации, креативным решениям.
Стоит ли переходить в мобильную разработку тем, кто уже в программировании?
Если человек выучил старый язык программирования, но понимает, что развития нет, тогда можно перейти, изучить современную технологию.
Когда вы — успешный IT-шник и вас тянет — тоже вперед.
Если текущая область IT приносит удовольствие и финансы, то нет смысла.
Какие требования к «железу» для мобильной разработки и нужно ли знать английский
Какие есть требования к «железу», чтобы разрабатывать мобильные приложения?
Для старта можно использовать компьютер с 4 ГБ оперативной памяти. Нужен будет любой телефон на Android, чтобы на нем запускать и отлаживать программу.
Средний уровень — это 8 ГБ оперативной памяти. В этом случае вы сможете работать с эмулятором, запускать программу на нем, и телефон на Android вам не понадобится.
Процессор рекомендую i3 или i5 любого поколения.
Нужно ли разработчику знать английский?
Если устраиваться в компанию — английский нужен.
Вся документация на английском, на английских ресурсах больше информации.
Второй фактор — нужно общаться с заказчиками, а хорошие заказчики — зарубежные заказчики.
Английский очень важен, но на первых этапах будет достаточно знать его на уровне чтения и перевода. Со временем, чтобы расти, надо будет доучивать.
Как выбрать курс и нужно ли учиться в университете
Насколько хорошо учат программистов в университете?
Мое отношение к университетскому образованию айтишников — среднее. Это не бесполезно, но после университета вы еще не готовы быть разработчиком.
За те 5 лет, которые вы будете учиться в университете, уже 2–3 раза изменятся технологии. Поэтому университет надо рассматривать, как базу, которая учит мыслить и дает фундамент. Потом надо будет доучиваться на курсах.
На что стоит смотреть при выборе курсов?
Я бы смотрел в первую очередь на программу. Второе — познакомился бы с человеком, который будет меня обучать, посмотрел, нравится он мне или нет.
На бренд я бы не рекомендовал смотреть. Есть крупные школы, которые ругают, есть маленькие — которые хвалят.
Что должно быть в курсе, чтобы человек вышел хорошим специалистом?
Должна быть основа, базовая теория, чтобы люди научились программировать в целом. Но обязательно должно быть много практики. Хорошо, если на курсе вы напишете конкретные программы, которые можно положить в портфолио.
Как перейти в мобильную разработку и стоит ли бросать работу
Как выглядит переход в мобильную разработку, какие сложности?
Я сам свитчер. До мобильной разработки преподавал в вузе по специальности, не связанной с программированием.
В какой-то момент решил попробовать. Начал учить Java для саморазвития. Через месяц задумался: куда можно применить знания.
Увидел возможность в Android-разработке. Начал ходить по компаниям, получать опыт, понимать, что от меня требуют и что я недоучил, учиться дальше.
Мой первый проект был волонтерским, я не получил за него денег. Но получил опыт, который у меня просили.
Было долго и не просто. Во время поиска первой работы я уже думал все бросить, но у меня была мотивация, было интересно.
Как можно было бы пройти этот путь эффективнее?
Если бы кто-то мне сказал: это учи, а это надо просто знать, я бы быстрее прогрессировал. Тогда учил все подряд.
Второй момент — важна поддержка, чтобы не бросить. Это необязательно наставник. Может быть друг, который занимается тем же.
Можно учиться параллельно с работой?
Не нужно бросать работу, пока вы еще не зарабатываете, как разработчик. Если вы решили переходить в разработку, нужно просто облегчить рабочий процесс.
На работе — просто выполнять обязанности и ничего сверх. Или найти временную работу, которая будет приносить деньги, чтобы вы могли год спокойно жить и учиться 2–4 часа в день.
Как пройти собеседование и найти работу
Насколько сейчас легко найти работу и стоит ли идти на фриланс?
Надо определиться, чего вы хотите. Если нравится фриланс, нужно идти на фриланс, но там хорошо зарабатывать сложнее. Если нравится в компании — идите в компанию.
Важно понимать, что путь не будет легким. Сначала нужно будет пройти толкучку: когда вы еще молодой специалист, вас много, надо попасть в компанию.
Тем не менее, находить работу становится легче. Если 3 года назад среди Junior’ов была бешеная конкуренция, то сейчас ее меньше. Работы становится больше, люди осмысленнее подходят к тому, хотят ли они стать разработчиками.
Сколько в среднем может уйти времени на поиск первой работы?
От начала обучения 1–1,5 года.
Нельзя играть в быструю: возьму отпуск на 4 месяца и стану программистом. Так не получится. Но если не бросать и заниматься этим, то где-то за год — реально.
Сколько может заработать разработчик мобильных приложений?
Junior — от $800 до $1500.
Не надо пугаться, что это мало. Junior — это не навсегда.
Уже через год можно стать Middle и получать $1500–3500
Senior получает от $5000 до $10 000.
Средняя зарплата Android-разработчика в Украине, по данным портала Work.ua
Как пройти собеседование и получить работу?
На собеседовании смотрят на 3 вещи:
навыки в программировании: на первом этапе важно не ответить на все вопросы, главное — показать, что знания есть;
знание английского: на Junior английский можно знать не в идеале, на старшие позиции он нужен;
психология: если вы супер-программист, хорошо по-английски говорите и понимаете, но на собеседовании видят, что вы конфликтный — ваши шансы уменьшаются.
А чтобы выбрать хорошую компанию, смотрите, как с вами общаются. Если спрашивают, как вы относитесь к переработкам, то с высокой вероятностью они будут.
Насколько легко в разработке и влияют ли кризисы
Получится ли работать удаленно и путешествовать? Правдива ли философия свободной жизни?
Можно работать в путешествиях, отдыхать, работать с Бали. Но люди видят только позитив. Они не думают о том, что на пляже фото красивое получается, а интернет может быть так себе.
Это больше миф о том, что можно сидеть не напрягаясь на пляже или в ресторане. График будет более свободный, вы сможете выходить работать в другие места, работать параллельно с отдыхом, брать заказы или не брать, но не постоянно.
Насколько программирование подвержено кризисам? Можно сказать, что эта сфера — стабильное плато?
Практика показывает, что эта отрасль действительно стабильная. Коронавирус даже в некоторой степени помог нам.
В целом, сфера IT не пострадала, а может даже и выросла.
Когда пришел коронавирус, начался локдаун — люди начали больше проводить времени с телефонами и планшетами. Программы для них создают разработчики. Поэтому на них был большой спрос.
Какое напутственное слово можете сказать тем, кто собирается в мобильную разработку?
Когда вы думаете, хотите или не хотите идти, попробуйте написать что-то на любом языке программирования. Если плохо от этого не стало, тогда идите.
Второе — если решили идти, не ждите быстрого эффекта. Работайте спокойно, планомерно, запаситесь терпением — тогда все получится.
Третье — не мотивируйте себя только деньгами. Если вам нравится еще что-то: проект, формат работы, сфера и плюс деньги, тогда хорошо.
А так — в любом случае нужно развиваться. Пробуйте, если вам это интересно.
Источник
30+ лаконичных профессиональных рекомендаций для Android разработчика
Специально для студентов базового курса «Android-разработчик» подготовили перевод полезного материала.
Стать Android разработчиком легко, но стать успешным Android разработчиком и выделяться на фоне остальных — нет. Требуется много тяжелой работы, страсти, преданности и настойчивости, чтобы достичь этого.
Не существует короткого пути или простого способа, которые я мог бы показать вам, чтобы вы стали действительно успешным разработчиком. Но если вы готовы приложить усилия и подойти к делу с энтузиазмом, вы обязательно добьетесь успеха, которого заслуживаете.
Если у вас есть стремление стать лучшим Android разработчиком, вот несколько профессиональных рекомендаций, основанных на моем опыте, которые помогут вам на этом пути. Итак, если вы решили начать разработку для Android или уже некоторое время работаете Android разработчиком, вы как раз там где надо.
Итак, не теряя больше времени, давайте начнем.
1. Лучше ознакомьтесь с внутренними компонентами Android фреймворка
Я имею в виду скорее знакомство с фактическим кодом фреймворка Android, нежели погружение в документацию. Я видел, как многие разработчики боялись заглянуть внутрь и погрузиться во внутренности фреймворка Android, чтобы узнать, как правильно сочетаются разные компоненты и как все работает на самом деле.
Если вам нужно повысить уровень своего владения Android, перестаньте уже уклоняться от экспедиции под капот Android SDK и разберитесь в его внутренней работе.
2. Попытайтесь преодолеть страх пропустить что-то важное (FoMo — Fear Of Missing Out)
Android большой, очень большой. Вы не можете изучить его полностью от корки до корки за месяц или два или около того. Чем больше вы будете узнавать его, тем больше новых вещей будут возникать на вашем пути. Для новичка, совершенно нормально иметь страх пропустить что-то важное.
Но постарайтесь преодолеть его. Изучайте то, что вам действительно нужно изучить, чтобы начать работу над приложением, которое вы сейчас создаете, а затем постепенно расширяйте свой кругозор.
3. Начните читать больше кода
Большинство разработчиков не тратят время на то, чтобы читать то, что пишут другие разработчики. Они проводят большую часть своего времени просто используя то, что они уже знают.
Но это не поможет вам расти как разработчику. Это не увеличит ваши познания. Вы должны начать смотреть на другие приложения и библиотеки с открытым исходным кодом и продолжать обучение. 30 минут чтения кода каждый день — хорошее начало. Вы будете удивлены, как много нового вы обнаружите, о чем вы даже не подозревали.
4. Подумайте об изучении большего количества языков
Я советую вам изучать не испанский или китайский, а новые языки программирования. Вам нужно быть в курсе происходящего в отрасли в целом, а не ограничиваться только Android.
Это расширит ваш кругозор и поможет вам значительно улучшить свои навыки Android разработки. Примите решение изучать как минимум один новый язык программирования каждый год. Но недели беглого ознакомления с новым языком лишь для того, чтобы впоследствии оставить его навсегда, будет мало. Попробуйте проникнуть в глубины языка и понять, как он работает внутри.
Совет: ознакомьтесь с этой удивительной статьей, которая поможет вам сделать лучший выбор. (СПОЙЛЕР — это Javascript)
5. Самое время изучить паттерны проектирования Java
Я не могу не подчеркнуть, насколько это может быть важно для вашей карьеры Android разработчика в долгосрочной перспективе. Всякий раз, когда вы застреваете в решении критической проблемы программирования, паттерны проектирования действительно могут помочь вам в создании элегантного решения.
Вам также нужно говорить на одном языке с другими разработчиками, чтобы, когда они говорят об использовании фабрики, декоратора или паттерна фасада, вы сразу понимали, что они имеют в виду.
Пообещайте себе изучать один новый паттерн проектирования каждую неделю.
Совет: вот отличный ресурс, который поможет вам начать изучение. Если вам больше по душе книги, то вы должны обязательно прочитать эту.
6. Начните вносить свой вклад в open-source
Если вы разработали что-то полезное и используете это в своем собственном приложении, подумайте о том чтобы сделать это открытым исходным кодом. В процессе вы будете многому учиться, что поможет вам развиваться как разработчику.
Если у вас нет ничего, что могло бы стать open-source продуктом, вы можете поискать другие интересные проекты с открытым исходным кодом с целью исправить какие-нибудь баги, дополнить документацию или написать там несколько тестов.
Даже самый маленький вклад будет полезен для сопровождающего проекта, помогая ему продолжать работу.
Совет: вот отличное руководство, которое поможет вам начать работу с открытым исходным кодом.
7. Сделайте так, чтобы ваша IDE работала на вас
Начните тратить больше времени на понимание IDE, которую вы используете — Android Studio. Она может делать гораздо больше, чем вы думаете. В IDE скрыто так много интересных функций и шорткатов, о которых большинство разработчиков даже не догадываются или даже не пытаются обнаружить.
Возьмите в привычку искать новые и лучшие способы заставить ваши инструменты работать на вас, тем самым улучшая ваш рабочий процесс и производительность.
Совет: вот замечательная статья, которая поможет вам использовать Android Studio как профессионал.
8. Пора уделять больше внимания проектированию вашего приложения
В большинстве случаев мы оказываемся в ситуации, когда мы запихиваем весь наш код в активити или фрагменты (вы можете обвинить в этом грехе и меня), превращая их в гигантские божественные объекты, которые почти невозможно поддерживать и тестировать.
Очень важно выбрать хорошую архитектуру для вашего приложения, такую как MVP, MVVM, Redux и т. д. Подумайте о том, чтобы разделить на разные уровни бизнес-логику вашего приложения, визуальную часть и взаимодействия с данными, чтобы ими было легко управлять и тестировать.
Совет: ознакомьтесь с этими практичными макетами от Google, чтобы упростить свою жизнь при разработке приложений для Android.
9. Изучите соглашения написания чистого кода для Android
Вам просто нельзя проигнорировать это. Очень трудно работать с разработчиками, которые не пишут чистый код, не соблюдая, по крайней мере, основные соглашения написания кода при разработке под Android.
Это не ракетная инженерия, и вам понадобится всего несколько часов, чтобы изучить большинство основных соглашений написания кода Java и Android. Это не должно быть разовым делом, рассматривайте это скорее как изменение образа жизни разработчика.
Совет: вот отличный ресурс, чтобы начать изучать стандартные соглашения написания кода.
10. Потратьте некоторое время на изучение лучших практик Android
Чтобы получить преимущество над другими разработчиками и создавать приложения, которые хорошо выглядят и работают, вам нужно начать изучать лучшие практики разработки под Android.
Это в некотором опыт того как надо и не надо делать, который может помочь вам стать лучшим разработчиком и выделить свое приложение среди остальных.
Совет: вот подборка лучших практик для созданию лучших приложений.
11. Эффективно используйте свое свободное время, слушая подкасты
Постарайтесь использовать свое время правильно и эффективно. Бывают случаи, когда вы едете в/из офиса, тренируетесь в тренажерном зале, едете в автомобиле, готовите и т. д., и ваш гениальный мозг не слишком занят.
Вы можете использовать такие моменты, слушая полезные подкасты про Android. Всегда предпочитайте, чтобы ваш мозг был максимально занят полезными и информативными вещами, и старайтесь максимально использовать свое время.
Совет: Fragmented Podcasts и Android Developers Backstage — это два замечательных канала подкастов для начала.
12. Не переусердствуйте. Будьте реалистичными.
Я видел, как это происходит не только со мной, но и с несколькими другими коллегами-разработчиками, с которыми я работал. Подумать о чем-то, прежде чем начать работать над этим, — это хорошо (скорее, очень хорошо), но чрезмерное планирование и анализ не приводят ни к чему, кроме ненужной путаницы, задержки и беспокойства.
Делайте то, что кажется полезным для проекта, прямо сейчас. Вы всегда сможете приспособиться к изменчивым ситуациям в будущем по мере необходимости.
13. Попробуйте немного разобраться в дизайне
Я понимаю, что, будучи разработчиком, вы уделяете основное внимание обучению написания более качественного кода, и это вполне очевидно. Но если вы хотите быть полноценным разработчиком, вам также следует каждый день уделять время изучению и пониманию UI/UX-дизайна.
Это полностью изменит ваш взгляд на приложения, которые вы вс это время программировали. Постарайтесь больше общаться и взаимодействовать с UI/UX-дизайнерами в вашей команде, чтобы лучше вникнуть в дизайн приложений.
Совет: почитайте эту удивительную книгу, если вам интересно понять, как на самом деле работает дизайн.
14. Станьте перфекционистом
Это субъективная тема, поскольку то, что является «совершенством» для меня, может не быть «совершенством» для других. Но, как правило, старайтесь всегда добиваться наилучшей версии продукта, на которую вы способны.
Никогда не соглашайтесь на меньшее. Не работайте над чем-то только потому, что так надо. Будьте увлечены работой, которую вы делаете, и делайте ее лучше, чем другие. Это поможет вам постоянно расти и становиться успешным разработчиком в долгосрочной перспективе.
Совет: Говоря о совершенстве, этот инструмент Instabug очень помог мне приблизить мои приложения к совершенству с помощью его сверхпростой, но эффективной системы обратной связи в приложении и мощного инструмента сообщения об ошибках. Благодаря этому стало очень просто получать прямые отзывы от моих пользователей и улучшать мои приложения на основе подробных и глубоких отчетов об ошибках.Его определенно стоит попробовать.
15. Последовательность — ключ к успеху
Если вы хотите быть успешным как Android разработчик (или кто-то еще в этой жизни), вы должны быть последовательными.
Делая что-то в течение нескольких дней или недель, а затем бросив, вы никуда не продвинетесь. Постарайтесь визуализировать себе, где вы хотите быть как Android разработчик в ближайшие несколько лет, и придерживайтесь своей цели, независимо от того, какие вызовы вам встретятся.
Очень легко начать делать что-то, но очень трудно продолжать делать это с той же страстью и преданностью в течение (очень) долгого времени.
16. Начните с малого. Продвигайтесь постепенно.
Как разработчик, вы всегда должны разбивать любую сложную проблему или функцию, над которой вы работаете, на маленькие, простые и независимые компоненты, которые можно легко и быстро понять и решить.
Не перегружайте себя первоначальным размером или сложностью проекта. Все можно решить, когда вы на правильном пути. Начните с малого, делайте небольшие шаги и постепенно продвигайтесь.
17. Всегда имейте под рукой проект песочницу
Наличие проекта песочницы может полностью изменить ваш способ обучения. Если вы вдруг сталкиваетесь с чем-то новым в Android, сделайте привычкой сразу же пробовать это в своем тестовом проекте.
Предположим, вы где-то обнаружили интересную библиотеку Android. Вместо того, чтобы просто просматривать документацию и API, вы должны сразу же поиграться с ней в своем тестовом проекте. Это даст вам гораздо лучшее и более глубокое понимание библиотеки.
18. Начните писать больше тестов
Я не могу не подчеркнуть, насколько это важно. Вы не можете считать фичу завершенной, пока не напишите для нее исчерпывающие тесты. Тесты помогут вам создать островки уверенности в вашем коде.
Не совершайте ошибку, пренебрегая тестированием или рассматривая его как нечто «необязательное» и делая вашу жизнь более болезненной с ошибками регрессии позже. Помните, что код, написанный без тестов, мгновенно становится легаси кодом.
19. Рассмотрите вопрос о принятии TDD
Когда вы разрабатываете приложение, подумайте над тем, чтобы сделать его надежным и эффективным, чтобы оно выдержало испытание временем.
Начните следовать циклу “красный-зеленый-рефакторинг” TDD (разработка через тестирование). Сначала напишите тест кейс, который изначально не будет пройден (красный), затем напишите реальный код, который будет проходить тест (зеленый), а затем перейдите к дальнейшей очистке и оптимизации кода (рефакторинг).
Разработка через тестирование — это способ контролировать страх во время программирования. Страх делает вас неуверенными. Страх заставляет вас хотеть меньше общаться. Страх заставляет вас уклоняться от обратной связи. Страх делает вас сварливыми. — TDD By Example
20. Настройте правильный механизм автоматического релиза
Как разработчик, старайтесь как можно меньше заниматься тем, что можно и нужно автоматизировать, например, проверкой качества приложений и релизом.
Вы должны автоматизировать механизм проверки качества с помощью таких инструментов, как CheckStyle, PMD, Lint, FindBugs. Выполнение всех модульных и инструментальных тестов перед мержем любых существенных изменений является обязательным.
Когда все эти проверки пройдены, вы получаете зеленый сигнал для публикации APK в Play Store или распространении его любым другим способом (например, Crashlytics Beta).
Совет: рассмотрите возможность автоматизации процесса релиза в Play Store, используя такие инструменты, как этот.
21. Примите подход реактивного программирования
Если вы хотите повысить свои навыки Android разработчика, вам определенно следует принять реактивный подход. Это заставит вас совершенно по-другому думать о том, как вы создаете приложения.
Реактивный путь, несомненно, поможет вам быстрее создавать интерактивные приложения и снова сделает вашу жизнь проще и увлекательнее.
Совет: вот отличная серия для того, чтобы узнать основы разработки RxJava для Android.
22. Научитесь использовать Kotlin для разработки под Android
Котлин в настоящее время является одним из самых любимых и обсуждаемых языков, когда речь заходит о разработке под Android. Это также официально поддерживаемый язык для разработки приложений под Android. Этот легкий язык приносит глоток свежего воздуха в мир Android.
Это одна из лучших вещей, которая случалась с Android разработчиками, которым надоело работать на старой доброй, многословной и подверженной ошибкам Java. Попробуйте, и вы обязательно найдете потерянное счастье в своей жизни в процессе разработки.
23. Посещайте митапы и будьте более общительными с другими разработчиками
Мы, разработчики, как правило, очень интровертны, хотим сидеть в углу с нашим компьютером и находиться в нашем собственном мире.
Но попробуйте выйти из своей зоны комфорта и больше взаимодействовать с другими разработчиками. Есть много вещей, которые вы можете узнать, посещая митапы разработчиков, социальные встречи и общаясь с другими разработчиками, которые имеют схожие интересы, как вы.
Совет: здесь можно найти информации о митапах, которые вас больше всего интересуют.
24. Познакомьтесь с горячими клавишами
Постарайтесь сделать так, чтобы ваша мышь была задействована как можно меньше. Существуют хоткеи практически для каждого действия, которое вы можете захотеть выполнить в Android Studio.
Это значительно сократит ваше время разработки и улучшит рабочий процесс. Первоначально запоминание горячих клавиш может занять некоторое время, но в долгосрочной перспективе это поможет вам перейти к по-настоящему не требующему мыши рабочему процессу.
Совет: если вы не хотите запоминать хоткеи по старинке, вот отличный плагин AS, который вам в этом поможет.
25. Попробуйте изучать хотя бы один новый материал по Android каждую неделю
В огромном мире Android есть много вещей, которые нужно изучить и понять, которые могут ошеломить вас, когда вы только столкнетесь с ними. Но жизнь станет легче, если вы пообещаете изучать один новый материал о Android каждую неделю.
Составьте список всех тем, которые вы не знаете, назначьте им приоритеты и начните побеждать их один за другой каждую неделю. Через несколько месяцев вы окажетесь намного дальше, чем начали.
26. Автоматизируйте все, что ест ваше время
Мы, инженеры, ленивы по рождению и всегда стараемся найти простой способ сделать скучную работу.
Итак, если вам нужно делать что-то повторяющееся и скучное несколько раз в день, подумайте об автоматизации. Это в совокупности сэкономит вам довольно много времени каждую неделю, которое вы можете потратить на другие продуктивные и полезные вещи, и сократит ваше беспокойство.
Совет: взгляните на этот удивительный инструмент, который может помочь вам подключить и автоматизировать связь между несколькими инструментами, которые вы используете почти каждый день.
27. Подумайте о запуске двух версий Android Studio
Всегда имейте в доступности стабильную версию Android Studio, чтобы выполнять все важные ежедневные задачи. Но также подумайте о том, чтобы иметь установленной бета-версию последней Android Studio.
Иногда есть много новых и захватывающих функций, которые пробиваются к этим ранним сборкам, которые вы хотели бы получить в свои руки как можно раньше.
28. Периодически проверяйте все сторонние библиотеки.
Мы все любим использовать библиотеки в тот момент, когда они нам нужны, и это абсолютно нормально. Но сделайте привычкой проверять все сторонние библиотеки, которые вы добавляли время от времени, и удалять те, которые вам больше не нужны.
Если вы используете только небольшую часть определенной библиотеки, рассмотрите возможность ее извлечения вместо использования всей библиотеки. Периодический аудит также поможет вам обновить библиотеки, которые также требуют срочного обновления.
29. Узнайте лучшие способы рефакторинга легаси кодовых баз
Не делайте ошибку полного рефакторинга огромной легаси кодовой базы. Это приведет вас в ловушку, откуда нет выхода.
Скорее рассмотрите возможность рефакторинга частей кодовой базы, над которыми вам нужно работать прямо сейчас, а затем медленно расширьте его до других частей, когда это будет необходимо. Кроме того, рассмотрите возможность написания тестовых примеров для части, которую вы хотите изменить, прежде чем касаться любого кода, который, как вы подозреваете, может нарушить существующие функции.
Совет: эта книга полностью изменила способ работы с легаси кодом. Вы обязательно должны прочитать ее.
30. Всегда разрабатывайте и тестируйте на бюджетных устройствах
Если вы хотите разрабатывать приложения как профессионал, никогда не допускайте ошибок при разработке и тестировании приложений на устройствах высокого класса. Как правило, мы, разработчики, владеем высококлассными флагманами и также используем их для разработки и тестирования приложений. Но это то, от чего вы должны абсолютно воздерживаться.
Постарайтесь приобрести самые дешевые и недорогие устройства, какие только можно найти на рынке, и выработайте привычку разрабатывать приложения только для них. Вы начнете видеть множество недостатков в своих приложениях, о которых раньше не подозревали.
31. Купите лучшую рабочую машину, которую вы можете себе позволить
Никогда не совершайте ошибку, покупая дешевую рабочую машину, чтобы каждый день превращать свой опыт разработки в мучения.
Подумайте об использовании Mac (вместо Windows) для разработки. Вы влюбитесь в его простоту и стабильность.
И если вы покупаете MacBook, подумайте о том, чтобы приобрести тот, который обладает лучшими характеристиками. Несколько сотен долларов не разорят вас, и вы всегда будете благодарны за то, что приняли это решение.
Надеюсь, что эти советы помогут вам стать лучшим Android разработчиком. Вы прочитали и поняли эти советы, но пришло время преобразовать их в реальные действия, и только тогда вы сможете ощутить их реальную силу.
Если вы сочли эту статью полезной, рассмотрите возможность рекомендовать ее своим друзьям, коллегам, врагам или всем, кому вы хотите, через социальные сети.
Источник