Александр Ленивенко, Senior Software Engineer, EPAM Ukraine, один из создателей курса Android Online Program, рассказывает о том, почему мобильным разработчикам не стоит игнорировать изучение «старого доброго языка Java», о роли мотивации в профессиональном развитии и о том, как микроконтроллеры привели его …в разработку приложений для смартфонов.
«Программированием я интересовался всегда, – рассказывает Александр Ленивенко, - но после выпуска из НТУ «Харьковский политехнический институт» работал в совершенно другой отрасли. И убедился, что никакая другая сфера не дает желаемой профессиональной реализации. Первой серьезной преградой на пути к развитию в IT стало полное отсутствие знания английского языка. В школе я изучал французский, потому пришлось начинать языковую подготовку «с нуля», на специализированных курсах. Попутно я «подтягивал» знания Java, который в университете мы не изучали.
Мобильная разработка – это динамичность, гибкость, и возможность создавать приложения, которыми сможет пользоваться большое количество людей. Меня, наверное, среди прочего, привлек контраст с микроконтроллерами, которые были моей специализацией в вузе. Работа с ними – значительно более узкопрофильная задача.
Основным направлением развития я выбрал Android. В отличие от iOS он не подразумевает больших ограничений с «железом»: писать можно на любом устройстве с Windows или Linux.
После первых же самостоятельных шагов в обучении я понял, что без помощи ментора будет очень сложно сориентироваться в огромном разнообразии ресурсов и подходов, и начал искать компании, предоставляющие возможности для обучения. Так началась моя история в ЕРАМ.
В 2017 году я поступил на курс по мобильной разработке, после попрактиковался на учебных проектах в pre-production лаборатории и перешел на Junior позицию. За последующие три года, совмещая работу с постоянным обучением – как самостоятельным, так и на многочисленных внутренних программах компании, я «дорос» до Senior позиции. Подобный случай не единичный, но быстрое развитие требует немалых усилий и огромной мотивации.
Начиная с уровня Middle, я принимаю участие в образовательных программах компании как лектор и ментор. Преподавание очень способствует собственному профессиональному росту, позволяет развить презентационные навыки и прокачать soft skills. Кроме того, пройдя весь путь «с нуля», я четко понимаю, что именно необходимо студентам, какие улучшения можно имплементировать, чтобы сделать обучающую программу еще более полезной и актуальной, а работа на реальном проекте позволяет отслеживать тренды индустрии».
Нынешний «релиз» Android Online Program адаптирован под обучение онлайн и состоит из трех модулей: Java, Kotlin и Android.
Рекомендации Александра Ленивенко начинающим Android разработчикам:
- Изучать английский. Технологии мобильной разработки развиваются настолько быстро, что подходы устаревают раньше, чем появляется перевод соответствующей англоязычной литературы или технической документации. Потому – читайте оригиналы.
- Начинать с базы, в нашем случае – это Java. Несмотря на появление и развитие Kotlin, Java до сих пор является важным звеном в мобильной разработке. Многие проекты невозможно переписать, потому нужно быть готовым к тому, что придется работать с обоими языками даже в рамках одного проекта. Наш курс содержит все необходимые темы, но студенту с основательной базовой подготовкой будет легче осваивать интенсивную программу с большим количеством домашних заданий. Под базой подразумевается знание синтаксиса Java, основ ООП, понимание работы с коллекциями.
- Не расценивать отсутствие технического бэкграунда как недостаток. Наличие профильного образования и опыта, безусловно, является «плюсом», но главным компонентом успеха остается мотивация. Любые пробелы в знаниях можно ликвидировать уже в процессе проектной работы и общении с более опытными коллегами.
- Работать над пэт-проектами. Это чрезвычайно важно для профессионального развития, поскольку в рабочем проекте обычно используется лишь одна или две технологии, а хороший специалист должен уверенно владеть разными.
- Быть готовым постоянно обновлять знания. Развиваться и следить за новинками, которые выходят практически постоянно. Google ежегодно презентует множество собственных разработок, призванных оптимизировать user experience (и добавить материала для изучения разработчикам). Кроме того, нужно следить за сторонними библиотеками, написанными такими же девелоперами, как и мы.
- Любить свою специальность. Когда человек занимается любимым делом, он с удовольствием уделяет время развитию в профессии. И это справедливо не только для мобильной разработки.