Код #Статьи

11 августа, 2025

Программист из финтеха — о Scala, Java, веб- и мобильной разработке / Skillbox Media

Подкастер и руководитель разработки из «Тинькофф Бизнеса» о технологиях, внутренней кухне, отказах «рок-звёздам» и джунах.

Бесплатный курс: «Быстрый старт в Python»

Узнать больше

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

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

Архитектор решений и руководитель разработки в отделе кредитов «Тинькофф Бизнеса». Занимается разработкой технологических решений для бизнеса, проектирует облачные системы и мобильные приложения. Является автором дорожной карты архитектора и ведет блог, посвященный архитектуре решений. Кроме того, соведет подкасты Mobile People Talks и newpodcast2, где обсуждаются актуальные темы в области мобильных технологий и архитектуры.

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

Я возглавляю разработку в отделе кредитования юридических лиц в «Тинькофф Бизнесе». Группа компаний «Тинькофф» включает не только наш отдел, но и такие направления, как «Тинькофф Банк», который обслуживает физических лиц, виртуальный мобильный оператор «Тинькофф Мобайл» и онлайн-брокер «Тинькофф Инвестиции». Мы стремимся предложить нашим клиентам инновационные финансовые решения и высококачественный сервис в сфере кредитования для бизнеса.

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

«Тинькофф Бизнес» предлагает уникальные решения для юридических лиц с целью поддержки их роста и развития. Если у вас уже успешный бизнес и вы стремитесь увеличить объемы продаж, вам могут потребоваться дополнительные финансовые ресурсы для закупки товаров и расширения деятельности. Мы предлагаем кредиты на развитие вашего бизнеса, что позволит вам не только увеличить обороты, но и улучшить финансовую стабильность. Сотрудничая с нами, вы получаете надежного партнера, который понимает потребности бизнеса и готов предложить эффективные финансовые инструменты для достижения ваших целей.

Мы стремимся оказать поддержку, предоставляя кредиты, упрощая сервисы и помогая в ведении отчётности. Когда мы финансируем бизнес, это действительно важно, так как он сможет самостоятельно развиваться и приносить пользу обществу. Наша миссия заключается в том, чтобы способствовать росту и устойчивости предпринимательства, что в конечном итоге приносит пользу людям и экономике в целом.

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

Почему отделу кредитов нужна сильная IT-команда

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

Выдача кредитов — это многогранный процесс, требующий внимательного подхода на каждом этапе. Когда вы подаете заявку на кредит, мы начинаем с поиска вашей информации в ЕГРЮЛ и других базах данных. Если собранных данных недостаточно для принятия решения, мы запрашиваем у вас дополнительные сведения. Такой подход позволяет нам более точно оценить вашу кредитоспособность и принять обоснованное решение.

Для определения финансовых возможностей бизнеса необходимо узнать его оборот. Эта информация играет ключевую роль в оценке суммы кредита и условий его предоставления. Чаще всего пользователи загружают в приложение выписки со счетов своей компании из других банков. Это позволяет получить полное представление о финансовом состоянии бизнеса и выработать оптимальные условия финансирования.

Заявка проходит процесс скоринга, в ходе которого система принимает решение о возможности предоставления кредита бизнесу и анализирует сопутствующие риски. Если кредитование невозможно, система указывает причины отказа. В случае одобрения определяется доступная сумма кредита.

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

Как устроены фронтенд и разработка мобильных приложений

Наш фронтенд разработан с использованием TypeScript и Angular. Для ускорения разработки новой функциональности мы используем собственный фреймворк, известный как Frame Manager. Этот инструмент позволяет нам эффективно управлять проектами и интегрировать новые возможности, что значительно оптимизирует процесс разработки и улучшает производительность команды.

Несколько разработчиков компании «Тинькофф» обладают статусом Google Developer Expert в области Angular. Именно поэтому на платформе «Хабр» мы регулярно делимся статьями, посвящёнными этой технологии. В одном из материалов мы рассказали о нашем переходе к микросервисной архитектуре и процессе разделения фронтенда на 100 отдельных приложений. Этот опыт может быть полезен для специалистов, заинтересованных в оптимизации разработки и улучшении масштабируемости веб-приложений.

Наши мобильные приложения обладают многомодульной архитектурой, что делает их современными и привлекательными для молодежной аудитории. Версия для Android разработана с использованием Kotlin, Dagger 2 и RxJava. В настоящее время мы активно внедряем корутины для повышения производительности. Процесс сборки приложения для физических лиц занимает 40 минут, тогда как наше приложение собирается всего за 10 минут. На данный момент мы выпускаем обновления каждые две недели, однако в ближайшем будущем планируем увеличить частоту релизов до двух раз в неделю.

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

Импакт-анализ позволяет определить, какие тесты необходимо запустить для достижения наилучших результатов. На недавней конференции Mobius наш разработчик Максим Щепалин делился опытом использования этого метода. С помощью импакт-анализа можно более эффективно планировать тестирование и минимизировать риски, что особенно важно в процессе разработки программного обеспечения.

Как работает бэкенд сервиса выдачи кредитов

Наш бэкенд для кредитов состоит из трех микросервисов, разработанных на языке Scala, которые обеспечивают API для фронтенда и мобильного приложения. Эти микросервисы упакованы в Docker-контейнеры и развертываются в Kubernetes, функционируя в двух дата-центрах. В дополнение к этому, существуют общебанковские системы, ответственные за осуществление денежных переводов, которые обслуживаются другими командами. Наша архитектура обеспечивает надежность, масштабируемость и высокую производительность, что является ключевым для эффективной работы кредитного сервиса.

На нашем ближнем бэкенде мы применяем Scala, Akka и Cats Effect для обеспечения эффективной работы и масштабируемости приложений. В ближайшем будущем планируем внедрить подход API First, что позволит улучшить взаимодействие между компонентами системы и повысить качество API. Основной базой данных является PostgreSQL, однако в рамках общебанковских решений также используется Oracle, поскольку эта система широко распространена в финтех-индустрии благодаря своей надежности и функциональности.

Глубокий бэкенд включает в себя разработку микросервисов с использованием Kotlin, Spring и Spring Boot. В качестве движка для бизнес-процессов (BPM) применяется Camunda, что позволяет эффективно управлять и автоматизировать процессы в приложениях. Использование этих технологий обеспечивает высокую производительность, масштабируемость и надежность приложений, что важно для современных веб-сервисов.

Ранее в разработке бэкенда использовался Java, однако три года назад была принята решение перейти на Kotlin. В результате на 15 сервисов остались всего один или два файла на Java. Команда предпочитает Kotlin за его быстроту, удобство и активное развитие. Этот язык программирования обеспечивает отличную интеграцию со Spring и предоставляет все необходимые библиотеки и инструменты по умолчанию. Kotlin стал предпочтительным выбором для разработки, позволяя сократить время на реализацию новых функций и улучшить качество кода.

Некоторые из наших сервисов разработаны на платформе Node.js. В качестве системы управления очередями мы используем Apache Kafka. Для хранения данных применяется база данных Cassandra, ранее использовалась Infinispan, но данное решение было исключено.

Scrum, Kanban и четыре разных IDE на один отдел

В моем отделе работают семь команд, состоящих из 47 человек. Все участники используют Jira для управления задачами, однако выбор дополнительных инструментов осуществляется индивидуально. Основная цель — обеспечить максимальную эффективность процессов.

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

Мы в основном используем платную среду разработки IntelliJ IDEA от JetBrains для написания кода. В команде Android разработчики активно применяют Android Studio, тогда как iOS-разработчики работают в Xcode. Насколько мне известно, среди них нет пользователей AppCode от JetBrains.

Большинство фронтендеров предпочитают использовать WebStorm для написания кода, однако некоторые отдают предпочтение VS Code. Лично я также использовал WebStorm, когда работал с Node.js, и могу отметить его высокую удобство и функциональность. WebStorm предлагает множество инструментов и интеграций, что делает процесс разработки более эффективным и комфортным.

Как два программиста за месяц накодили новый банковский продукт

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

Технолог заявляет: «Необходимо создать кредитные линии для исполнения контрактов. Если участник выигрывает государственные закупки, мы предоставим ему финансирование». Архитектурный комитет занимается вопросом реализации данного продукта, анализируя, какие системы будут затронуты и какие риски могут возникнуть. Важно учитывать все аспекты внедрения, чтобы обеспечить эффективное и безопасное функционирование кредитных линий.

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

Создание минимально жизнеспособного продукта (MVP) может быть важным этапом в процессе разработки, особенно когда необходимо оценить востребованность продукта или функции у клиентов. Для проверки гипотезы мы можем эффективно использовать ограниченные ресурсы: разработаем принципиальную схему, выделим небольшую команду из двух человек и реализуем проект за один месяц. Такой подход позволяет быстро получить обратную связь от пользователей и внести необходимые изменения до масштабирования проекта.

Мы запустили кредиты для продавцов на платформе «Яндекс.Маркет». В их личном кабинете теперь доступна кнопка «Хочу кредит от „Тинькофф“». При нажатии на неё пользователи перенаправляются на наш лендинг, где могут оставить заявку, указав номер телефона, фамилию, имя и отчество. Это упрощает процесс получения кредита и делает его доступным для большего числа продавцов, что способствует развитию их бизнеса.

Наша система взаимодействует с «Яндекс.Маркетом», запрашивая информацию о покупательской активности пользователя. Получив статистику, мы оцениваем возможность предоставления кредита. Если условия соответствуют нашим критериям, мы открываем счет в «Тинькофф Бизнесе» и переводим средства. Эти деньги клиент использует для приобретения товаров, что позволяет ему увеличить продажи на «Яндекс.Маркете». Такой подход способствует росту бизнеса и укреплению финансового положения наших клиентов.

Мы приняли решение ускорить процесс из-за роста интернет-торговли во время пандемии, когда значительное количество офлайн-продаж перешло в онлайн. Тестирование проекта проводилось непосредственно на продакшене, без привлечения отдельного тестировщика; все задачи выполняли двое разработчиков. Некоторые интеграции с «Яндекс.Маркетом» были реализованы мною самостоятельно.

Мы осознали, что все функционирует эффективно, и теперь у нас есть возможность улучшать продукт. В современном бизнесе такой темп развития является обычным явлением, и это следует воспринимать как норму. Улучшение продукта позволит нам оставаться конкурентоспособными и удовлетворять потребности клиентов.

Какие фейлы случаются в банковских системах и как мы с этим боремся

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

Проблемы с API могут возникать в процессе разработки. В нашей команде за мобильную разработку отвечает одна группа, в то время как другая занимается фронтендом и бэкендом. Для того чтобы достичь согласия по вопросам API, нам необходимо проводить специальные встречи. Часто мы находимся на одной волне и определяем структуру API, но иногда возникают ошибки, такие как опечатки в названиях полей. Эти недочёты часто обнаруживаются только на этапе финального тестирования, что может привести к задержкам в проекте. Чтобы избежать подобных ситуаций, важно внедрять более строгий контроль за документацией и проводить регулярные проверки на соответствие.

В 2022 году мы создадим кросс-функциональные команды, в которые войдут мобильные разработчики для платформ Android и iOS, фронтенд- и бэкенд-разработчики, тестировщики, архитекторы и системные аналитики. Это позволит нам эффективно решать задачи и минимизировать возникновение проблем в процессе разработки. Кросс-функциональные команды обеспечат высокое качество продукта и ускорят его вывод на рынок.

Мы ставим перед собой важную задачу — внедрить подход API First. На первом этапе мы программно определим API, предоставим его всем участникам, согласуем детали, внесем необходимые изменения и зафиксируем окончательную версию. После этого мы реализуем кодогенерацию для серверной и клиентской части, что позволит устранить существующие проблемы и повысить эффективность разработки. Такой подход обеспечит более высокое качество и стабильность программного обеспечения.

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

Команда пыталась поднять систему, но к 18:00 у них это не получилось. Часть процессов уже была переведена на новый движок, поэтому мы приняли решение экстренно доработать его. Команда работала в овертайм, справилась с задачей и получила за это соответствующее вознаграждение.

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

В результате данной ошибки мы были вынуждены отказать многим клиентам в кредитовании. Система скоринга предназначена для оценки вероятности дефолта компании и выдает значения, такие как 0,10 или 0,15. Однако из-за путаницы между запятой и точкой формат числа был изменен. Это привело к тому, что некоторые проверки не сработали, и в итоге ряд клиентов не смог получить кредиты. Исправление данной ошибки является приоритетной задачей для повышения точности системы и минимизации рисков для клиентов и компании.

Сервис не всегда способен выдавать одинаковые результаты, так как отказы подвержены вероятностному распределению. Плотность заявок варьируется в течение дня и недели. Нельзя утверждать, что 100 отказов в день — это плохо. Важно анализировать долю отказов нарастающим итогом, что требует более сложного мониторинга. Теперь у нас есть возможность проводить такой анализ, осталось лишь подключить уведомления для оперативного отслеживания ситуации.

Почему в «Тинькофф Банке» кандидаты проходят четыре собеседования

Процесс найма в группе компаний «Тинькофф» стандартизирован, что позволяет нам минимизировать количество технических интервью в «Тинькофф Бизнесе». Такой подход обеспечивает объективную оценку кандидатов и исключает ситуацию, когда в разных подразделениях предлагаются различные уровни зарплат за схожие позиции. Это создает справедливые условия для всех соискателей и способствует формированию единой корпоративной культуры, основанной на прозрачности и равенстве.

Собеседование для Java-инженеров стандартизировано и включает три основных этапа, особенно для специалистов уровня сеньор и выше. Каждый этап направлен на оценку профессиональных навыков, опыта и способности кандидата решать сложные задачи. На первом интервью обычно проверяются технические знания и понимание основ программирования на Java. Второй этап может включать решение практических заданий или кодирование в реальном времени, что позволяет оценить уровень мастерства кандидата. Третий этап часто посвящен культурному соответствию и коммуникативным навыкам, а также оценке подхода к работе в команде. Такой структурированный процесс помогает работодателям выбрать наиболее подходящих специалистов и гарантирует высокое качество подбора кадров в области разработки программного обеспечения.

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

Алгоритмическое тестирование. В этом разделе не предполагается использование сложных задач, таких как на LeetCode. Кандидат получает простую задачу, которая включает несколько операторов if и циклов for. Для опытных разработчиков это задание достаточно простое и выполнимое.

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

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

Зачем отказывать «рок-звёздам» и брать в команду джунов

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

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

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

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

Я предпочитаю избегать сотрудничества с «рок-звёздами», так как они зачастую проявляют токсичное поведение. Лучше работать с более скромными специалистами, которые обладают хорошими софт-скиллами. Такие люди чаще всего более открыты к сотрудничеству и обладают способностью к эффективной коммуникации, что делает совместную работу более продуктивной.

Я верю в важность формулы из книги «Идеальный командный игрок», которая утверждает, что у правильного кандидата должны быть три ключевых качества: стремление к успеху (hungry), скромность (humble) и ум (smart). Эти характеристики делают человека не только эффективным командным игроком, но и способным вносить значительный вклад в развитие компании. Стремление к достижению целей помогает преодолевать трудности, скромность способствует гармоничному взаимодействию с коллегами, а ум помогает принимать взвешенные решения. Наличие этих качеств у кандидата является залогом успешной командной работы и достижения высоких результатов.

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

Как «Тинькофф» запылесосил весь рынок Scala-программистов СНГ

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

К сожалению, мы исчерпали почти весь потенциал рынка Scala-разработчиков в СНГ, и найти новых специалистов становится все сложнее. Это создает определенные трудности для нашего дальнейшего развития. В связи с этим мы решили перейти на разработку новых сервисов с использованием Node.js и TypeScript. Некоторые существующие проекты мы перепишем с Scala на другие языки, а другие оставим на поддержке. Если вас интересует сотрудничество, будем рады видеть вас в нашей команде.

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

Наши разработчики на Scala не воспринимают себя как элиту и свободно переходят на такие языки, как TypeScript или Kotlin. Мы стремимся создать атмосферу сотрудничества, где программисты не оценивают друг друга по уровню знаний, а поддерживают друг друга в развитии. Это способствует обмену опытом и улучшению навыков, что в конечном итоге положительно сказывается на качестве работы и инновациях в проекте.

За что я люблю TypeScript и почему не хочу писать на Java после Kotlin

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

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

В сентябре мы внедрили новый раздел с кредитами для бизнеса в приложении для физических лиц «Тинькофф Банка». Теперь клиенты, имеющие ИП или ООО, могут легко получить доступ к кредитным продуктам, что уже привлекло 40% пользователей. Я принимал участие в реализации этого проекта, однако основная часть разработки велась на Java. В результате у меня возникло ощущение, что после работы с Kotlin, переход на Java становится довольно сложным.

TypeScript и Kotlin заслуженно пользуются популярностью среди разработчиков. Хотя у меня есть опыт программирования на Java, этот язык уже не вызывает у меня интереса. Ранее я активно использовал C#, и это был интересный опыт, однако с 2013 года я не писал на этом языке. В настоящее время я сосредоточен на работе с TypeScript и Kotlin, которые предлагают современные функции и удобные инструменты для разработки.