Rust-разработчик — это специалист, который занимается разработкой софта с использованием языка Rust. Его чаще всего применяют в backend-разработке (серверная архитектура и базы данных).
Язык программирования Rust появился в качестве более удобной и универсальной альтернативы C++. Многих разработчиков не устраивали проблемы с компиляцией библиотек, сложность синтаксиса и иные проблемы этого языка, поэтому в 2013 году программист Гарри Ньюман выпустил свой компилируемый язык с функциями парадигмального и процедурного программирования. Уже в 2015 году Rust стал одним из самых популярных средств разработки и уже несколько лет подряд входит в первую десятку по популярности.
Designed by pvproductions/freepik
Rust высоко ценится за свою универсальность. На нем можно разрабатывать практически всё, что угодно:
Веб-ресурсы;
Мобильные приложения;
Клиент-серверные программы;
Блокчейн-системы;
Компоненты и расширения для браузеров;
Файловые системы и т.д.
Поскольку язык универсален, то трудиться Rust-разработчик может в самых разных направлениях. Но чаще всего он занимается:
Разработка микросервисов;
Интеграция кода с внешними системами;
Тестирование и отладка сервиса;
Доработка готовых библиотек, применяемых при написании ПО;
Проектирование структуры данных;
Создание новых модулей и плагинов для софта и т.д.
Объем задач, которые решает Rust-программист, зависит от его опыта и навыков, однако, он редко пишет программы сам с нуля.
Поскольку язык подходит для backend и frontend-разработки, требования к специалисту могут быть разными. На базовом уровне hard skills специалиста должны выглядеть следующим образом:
Навыки написания кода, знание основных фреймворков;
Инструменты Rust: tokio, actix, futures и прочие;
Знание сетевых протоколов и веб-стандартов;
Знание Kubernetes, Docker, Postgres, New Relic, Kafka;
Понимание async, async streams;
Понимание обратной совместимости API.
Любому IT-специалисту желательно иметь базовое техническое образование, особенно если он хочет заниматься backend-разработкой, поскольку она сложнее для понимания и требует теоретических знаний. Примеры направлений:
«Прикладная информатика»;
«Компьютерная и информационная безопасность»;
«Информационные технологии»;
«Информатика и вычислительная техника».
Однако образование и диплом в IT мало что значат без практических навыков, а это именно понимание цифрового продукта, знание кода и технологий, с помощью которых он создается.
Designed by pressfoto/freepik
Здесь можно пойти разными путями: изучить всё самостоятельно по учебникам, либо заплатить деньги за дополнительное образование. В некоторых вузах, таких как НИУ ВШЭ, Rust изучают в магистратуре.
Пробелы в знаниях можно исправить при помощи онлайн-курсов для разработчиков, ориентированных на практическое изучение Rust. Есть как бесплатные курсы, где дают базовое представление о языке, так и платные с более углубленным изучением.
Следует выбирать те обучающие программы, которые ориентированы на практику, а итогом становится официальный документ об образовании: сертификат и/или диплом о переподготовке установленного образца.
Предложения по работе и вакансии для программистов Rust, Rust Developer, Rust-разработчиков встречаются достаточно часто, причем они достаточно разноплановые — от разработки мобильных игр до блокчейн-проектов. Сказывается универсальность языка Rust.
Однако минус в том, что практически везде требуются готовые специалисты с опытом разработки от 1 года, а желательно — от 3 лет. Стажировку предлагают крайне редко.
Система оплаты труда в IT строится исходя из навыков и опыта разработчиков, и Rust-программисты тут не исключение. Играет роль и сложность проекта, над которым предстоит работать, а также разнообразие задач.
Если посмотреть на усредненные суммы, то зарплата Rust-разработчиков составляет:
Junior — до 45000 рублей мес.;
Middle — до 120000 рублей мес.;
Senior — до 300000 рублей мес.
Плюсы:
Популярность языка;
Высокая зарплата;
Разноплановые проекты;
Интересные задачи.
Минусы:
Мало вакансий;
Требуется длительное обучение;
Ненормированный рабочий день;
Ответственность.