[Разработка под Android, 1С] Из 1С в Android-разработку: мой опыт перехода внутри Lamoda
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
Меня зовут Виталий Хмелёв, с 2019 года я работаю в команде Аndroid-разработки в Lamoda, а до того почти семь лет проработал здесь же программистом 1C. В этой статье хочу поделиться своим опытом и дать некоторые советы, которые, я надеюсь, помогут, если вы тоже задумываетесь заняться разработкой на Android.
Как я попал в программирование
Я учился в универе по айтишной специальности, немного поработал системным администратором, а после универа устроился 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 из какой-то другой области?
- Изучить теорию. Либо на платных курсах, сейчас их достаточно много. Либо заниматься самообучением. Есть хорошие бесплатные вводные курсы от Google и целые плейлисты на ютубе. Объем теории большой (посмотрите, например, наэту дорожную карту), но если это ваше — вам будет интересно.
- Написать свое демо-приложение, которое можно будет приложить к резюме. Опыта коммерческой разработки у вас нет, но будущим работодателям нужно хоть как-то оценить ваши навыки. Приложение даст им возможность это сделать. Код нужно выложить в открытый репозиторий, например, на GitHub.
- Хорошо подготовиться к техническому интервью. Первые два пункта нужны, чтобы вас позвали на собеседование, но потом его нужно еще пройти =)
- Готовиться я советую по телеграм-каналам. Есть хорошие каналы отдельно для подготовки к общим IT-вопросам, вопросам по Android ипо Java. Там разбираются все основные вопросы, которые задают на собеседованиях. Многие из них и мы в Lamoda задаем кандидатам. Сейчас я сам принимаю участие в собеседованиях, и когда видно, что человек подготовился — это всегда создает хорошее впечатление.
Эти три пункта должны помочь найти первую работу в Android.
Если у вас появились какие-то вопросы — буду рад ответить на них в комментариях!
===========
Источник:
habr.com
===========
Похожие новости:
- [Программирование, Разработка мобильных приложений, Учебный процесс в IT, Карьера в IT-индустрии] 1 марта SimbirSoft приглашает на Весенний интенсив
- [Разработка веб-сайтов, JavaScript, Программирование, GitHub, Планшеты] Мой опыт разработки с использованием андроид устройства
- [Java, C++, Разработка под Android] Android interop with SWIG (a guide). From simple to weird. Part 2 — weird
- [Разработка мобильных приложений, Разработка под Android] Как безболезненно мигрировать с RxJava на Kotlin Coroutines+Flow
- [Разработка под iOS, Разработка мобильных приложений, Разработка под Android, Kotlin] Варианты настройки iosMain sourceSet'а в Kotlin Multiplatform Mobile
- [Разработка под iOS, Разработка под Android, C#, Xamarin] Экраны отсутствующего контента в мобильном приложении на примере Xamarin
- [Java, Разработка мобильных приложений, Разработка под Android] Android Bluetooth Low Energy (BLE) — готовим правильно, часть #1 (перевод)
- [Java, C++, Разработка под Android] Android interop with SWIG (a guide). From simple to weird. Part 1 — simple
- [Тестирование мобильных приложений] Беспроводная отладка Android 11
- [Фриланс] Как я ушел на 1с-фриланс
Теги для поиска: #_razrabotka_pod_android (Разработка под Android), #_1s (1С), #_1s (1с), #_samoobrazovanie (самообразование), #_android, #_novaja_professija (новая профессия), #_blog_kompanii_lamoda (
Блог компании Lamoda
), #_razrabotka_pod_android (
Разработка под Android
), #_1s (
1С
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 23:00
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
Меня зовут Виталий Хмелёв, с 2019 года я работаю в команде Аndroid-разработки в Lamoda, а до того почти семь лет проработал здесь же программистом 1C. В этой статье хочу поделиться своим опытом и дать некоторые советы, которые, я надеюсь, помогут, если вы тоже задумываетесь заняться разработкой на Android. Как я попал в программирование Я учился в универе по айтишной специальности, немного поработал системным администратором, а после универа устроился 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 из какой-то другой области?
Эти три пункта должны помочь найти первую работу в Android. Если у вас появились какие-то вопросы — буду рад ответить на них в комментариях! =========== Источник: habr.com =========== Похожие новости:
Блог компании Lamoda ), #_razrabotka_pod_android ( Разработка под Android ), #_1s ( 1С ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 23:00
Часовой пояс: UTC + 5