Русский
Русский
English
Статистика
Реклама

Из 1С в Android-разработку мой опыт перехода внутри Lamoda

Меня зовут Виталий Хмелёв, с 2019 года я работаю в команде Аndroid-разработки в Lamoda, а до того почти семь лет проработал здесь же программистом 1C. В этой статье хочу поделиться своим опытом и дать некоторые советы, которые, я надеюсь, помогут, если вы тоже задумываетесь заняться разработкой на Android.

image

Как я попал в программирование


Я учился в универе по айтишной специальности, немного поработал системным администратором, а после универа устроился WEB-разработчиком в строительную компанию. Но работы было немного, а вот в соседнем отделе, который занимался 1С-разработкой, было задач предостаточно. Я начал постепенно им помогать и в итоге стал работать с этим языком.

В 2012 году я пришёл в Lamoda в отдел 1С-разработки и остался в нем на целых 7 лет. В самом начале моей работы все процессы товародвижения были автоматизированы на 1С. На нём же работала наша собственная фотостудия. Это всё входило в одну большую конфигурацию, основанную на решении 1С: Комплексная Автоматизация. В ней же были бухгалтерия и кадровый учёт.

Постепенно какие-то части стали выводить из состава большой конфигурации. Первой стала фотостудия, которую переписали на PHP. Затем в компании начали внедрять Microsoft Dynamics AX, и товародвижение и бухгалтерия перешли на нее. Кадровый учёт переехал в отдельное готовое решение 1С: ЗУП.

Но одновременно с этим происходило расширение компании, открывались новые филиалы в странах СНГ, и в большинстве из них кадровый учёт и бухгалтерия велись на 1С, а поддержкой занимался наш московский отдел 1С-разработки. Большая часть задач решалась удаленно, но как-то раз я даже ездил в командировку в Казахстан для внедрение проекта в филиале.

Карьера складывалась успешно почему же я решил заняться чем-то другим?


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

Мне нравилась моя работа. Хотелось глубже погружаться в разработку, профессионально расти в программировании. Я читал книги, статьи, но из-за особенностей самого языка 1С, и среды разработки, многие концепции для него просто неприменимы. По сравнению с другими популярными языками PHP, Java, С 1С достаточно простой, и в нем много чего нет.

Была и еще одна вещь, которая мне не нравилась. В 1С нельзя быть просто разработчиком. Ты должен хорошо разбираться в тех областях, которые автоматизирует 1С это в основном бухгалтерия, налоговый учет, расчет зарплаты, плюс ещё какие-то части бизнеса, которые реализованы на этом языке в компании. Мне это всё было не очень интересно, так как мне больше нравилось именно программирование.

Я не знал, как я буду развиваться дальше, если останусь в 1С. У меня были основные сертификации (несколько Профессионалов, Специалист по платформе 1С). Следующая ступень сертификация как Эксперта 1С. Экзамен там достаточно сложный, и либо мне надо было начинать готовиться к нему, либо уходить в какую-то другую сферу.

В итоге я признался себе, что да, мне нравится 1С, но не настолько, чтобы идти с ним до уровня Эксперта =)

Как я выбирал, в какую область перейти?


У 1С есть большой плюс высокая востребованность разработчиков. Практически в любом городе России можно найти себе работу. Мне хотелось выбрать новую область тоже достаточно популярную, чтобы пусть не в каждом городе, но в крупных городах были вакансии причем не только в России, но и на Западе.

Хотелось выбрать мощный язык, не нишевый. Чтобы можно было использовать удобную среду разработки в 1С с этим не очень. Есть решение 1С:EDT, которое позволяет приложить некоторые дополнительные усилия и пользоваться не встроенной средой (Конфигуратором), а Eclipse. Однако в 2018 году мы посчитали его достаточно сырым и неподходящим для каждодневной разработки, поэтому в Lamoda мы продолжали писать в Конфигураторе.

Мобильная разработка показалась мне очень перспективной областью (и я не поменял свое мнение до сих пор). Осталось выбрать между Android и iOS, что было достаточно легко, потому что я уже имел опыт разработки на Java в институте и писал небольшой личный проект для Android еще в 2011 году. Поэтому я решил, что проще будет восстановить и углубить знания именно в этой сфере.

Подготовка к переходу самообучение


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

Сразу решил, что платные курсы проходить не буду, но старался, чтобы мое самообучение было достаточно структурированным. Начал с курса Гугла, потом добавил ютуб курсы от Яндекса и Mail.ru, плюс книги (в основном по Java). Конечно, изучал официальные гайды по Android от Google их много, они качественные и постоянно обновляются. В какой-то момент Google официально рекомендовал Kotlin как язык для разработки под Android. Я понимал, что работать буду, скорее всего, на Kotlin, и добавил его в свою программу обучения.

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

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

Переход на новое (?) место работы


Найти хорошее место работы, не имея опыта по новой специальности, казалось непростой задачей. Я сразу подумал о том, чтобы попробовать перейти в команду Android-разработки внутри Lamoda. Мои руководители по 1С-разработке могли дать рекомендации, что должно было помочь.

Хотелось узнать, как вообще выглядит Android-разработка в Lamoda. Я установил и изучил приложение компании как пользователь, но хотелось больше узнать про техническую сторону. В Lamoda есть TechTalks встречи внутри компании, где разные команды выступают с докладами о том, чем они занимаются, какие технологии используют. Они открыты для всех желающих, и я стал слушать доклады команды Android-разработки. После внутренних выступлений специалисты с этими же докладами идут во внешний мир. Вот, например, запись того доклада, что я слушал, но уже с конференции Mosdroid. Из докладов я узнал, какие у них в принципе задачи, а заодно стал изучать именно те технологии, которые используются в компании это помогло мне в дальнейшем с переходом.

В июле 2019 года, через год с небольшим после начала изучения Android, я решил, что готов работать в новой области. Написал письмо тимлиду Android-разработки, прошел техническое интервью, и меня взяли в команду. И уже с августа 2019 я работаю как Android-разработчик.

На новом месте


Офис остался прежним, но многое, конечно, сильно изменилось. В первую очередь некоторые технические вещи. Среда разработки основной рабочий инструмент, и очень важно, чтобы она была удобной. Android Studio по сравнению с Конфигуратором 1С небо и земля. Ощущение, что ты просто летаешь над проектом, в котором очень быстро можно найти все, что нужно, разобраться, как и что работает.

Я переходил в новую область во многом потому, что хотел развивать навыки программирования на мощном современном языке. Переход в Android полностью оправдал мои ожидания. Наша команда пишет новый код только на Kotlin, Java нужна для доработки уже написанного. Мне Kotlin очень нравится, у него приятный синтаксис, и он не такой многословный, как Java. Также язык молодой, и сделан с учетом современных паттернов программирования.

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

У наших Android-приложений, наоборот, очень большая аудитория, и дизайн здесь очень важен. Поэтому им занимаются специалисты, совместная работа с которыми оказалась для меня интересным новым опытом.

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

Мне нравится, что в нашей команде организована постоянная работа с техдолгом. Мы регулярно занимаемся рефакторингом старого кода, переписываем с Java на Kotlin. Это погружение в чистое программирование, когда нет необходимости думать даже про дизайн: берешь старый legacy код, и переписываешь его в удобный, быстрый, легко читаемый, в соответствии с современными подходами. Привычка сразу задумываться о качестве и удобстве кода, которую я получил еще в команде 1С-разработки, сильно помогла мне здесь.

По чему из 1С-разработки я скучаю больше всего, так это по хорошей подробной документации полностью на русском языке =) И русскоязычному профессиональному сообществу в интернете. В Android в 9 случаях из 10 ответ на какой-то вопрос есть только на английском. На английском я читаю пока что медленнее, чем на русском, и времени на то, чтобы в чем-то разобраться, уходит больше.

Кратко: как перейти в Android из какой-то другой области?


  1. Изучить теорию. Либо на платных курсах, сейчас их достаточно много. Либо заниматься самообучением. Есть хорошие бесплатные вводные курсы от Google и целые плейлисты на ютубе . Объем теории большой (посмотрите, например, на эту дорожную карту), но если это ваше вам будет интересно.
  2. Написать свое демо-приложение, которое можно будет приложить к резюме. Опыта коммерческой разработки у вас нет, но будущим работодателям нужно хоть как-то оценить ваши навыки. Приложение даст им возможность это сделать. Код нужно выложить в открытый репозиторий, например, на GitHub.
  3. Хорошо подготовиться к техническому интервью. Первые два пункта нужны, чтобы вас позвали на собеседование, но потом его нужно еще пройти =)
  4. Готовиться я советую по телеграм-каналам. Есть хорошие каналы отдельно для подготовки к общим IT-вопросам, вопросам по Android и по Java. Там разбираются все основные вопросы, которые задают на собеседованиях. Многие из них и мы в Lamoda задаем кандидатам. Сейчас я сам принимаю участие в собеседованиях, и когда видно, что человек подготовился это всегда создает хорошее впечатление.

Эти три пункта должны помочь найти первую работу в Android.
Если у вас появились какие-то вопросы буду рад ответить на них в комментариях!
Источник: habr.com
К списку статей
Опубликовано: 14.01.2021 12:05:51
0

Сейчас читают

Комментариев (0)
Имя
Электронная почта

Блог компании lamoda

Разработка под android

Самообразование

Android

Новая профессия

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru