Специально для студентов базового курса «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. Попробуйте, и вы обязательно найдете потерянное счастье в своей жизни в процессе разработки.

Совет: узнайте больше о том, почему вы должны начать изучать Kotlin для лучшей разработки под Android.

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 разработчиком. Вы прочитали и поняли эти советы, но пришло время преобразовать их в реальные действия, и только тогда вы сможете ощутить их реальную силу.

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

Узнать подробнее о курсе