Навыки: C#, .NET, .NET Core, WPF, Entity framework, Linq, Microsoft SQL Server, PostgreSQL, SQL, Git. Квалификация: Middle. Специализации: Десктоп разработчик.
О компании и команде
Компания «Рейлог» делает ПО для автоматизации железнодорожных перевозок, которое экономит время клиентов, освобождает их ресурсы для приоритетных задач и повышает качество данных и услуг.
Мы небольшая команда, и работаем так:
Сначала разбираемся, какую проблему решаем. В баге - не «воткнуть проверку на null», а понять, откуда этот null взялся и должен ли он там быть. В задаче - не «добавить кнопку, раз попросили», а выяснить, какая боль за ней стоит: ручная работа, ошибки из-за неё, нехватка данных под рукой. Иногда выходит, что закрывать её надо не кнопкой и не в том месте, где просил клиент.
При этом решение соразмерно задаче. Смотрим, горит ли у клиента и насколько критично. Сказать «можно костылём за час или нормально за неделю» - правильный разговор. Молча уйти на неделю на вылизывание мелочи - неправильный.
Согласований мало: вопрос обычно закрывается за один разговор.
Нам важно, чтобы человек остался надолго. Если у вас одно место работы на 5+ лет - для нас это плюс, а не повод для вопросов.
Про продукт - честно
Продукту много лет, и он работает у десятков компаний. Стек актуальный: .NET 10, WPF, EF Core, свежие версии библиотек. Но часть архитектурных решений копилась годами и местами далека от лучших практик - мы это постепенно разгребаем, и это тоже часть работы, а не только новый код.
Данные большие: дислокация вагонов, рейсы, история операций, документы и многое другое. Это не CRUD - это тяжёлые запросы, индексы и планы выполнения. Работаем сразу на MS SQL и на PostgreSQL, и они регулярно ведут себя по-разному. Плюс интеграции с внешними системами ЖД (ЭТРАН и другие), где форматы чужие и ломаются не по нашей вине.
У нас GitLab - ветки, мерж-реквесты, код-ревью выборочно, не на каждую задачу. Тесты на xUnit, сборка и прогон тестов в CI.
Клиенты живые, поэтому инциденты иногда прилетают. Разбираем их в рабочее время и как обычную задачу: найти причину, починить. Дежурств и ночных звонков нет.
Чем вы будете заниматься
- Разработка и поддержка модулей десктоп-приложения (WPF) для автоматизации ЖД-процессов: формы, в которых оператор видит тысячи вагонов и не теряется - фильтры, группировки, быстрый поиск.
- Бизнес-логика и работа с БД - проектирование структур, запросы, которые должны отрабатывать быстро на реальных объёмах.
- Старый код приводим в порядок по ходу дела: залезли в модуль по задаче - заодно и почистили. Переписывать всё с нуля никто не просит.
- Общение с аналитиком, при необходимости - напрямую с заказчиком. Задача приходит от аналитика, но важные детали иногда всплывают уже в разговоре, а не в тексте тикета.
- Иногда задачи уходят за пределы десктопа - интеграции, кусочек веба на ASP.NET Core. Случается нечасто, но команда небольшая, так что порой это будет не «по желанию», а «надо». Основная же работа - десктоп, данные и бизнес-логика.
Задачи стараемся давать под ваши сильные стороны и интересы - данные, UI, интеграции. Иногда спрашиваем, за что хочется взяться.
Что нам важно
- Коммерческий опыт C# от 3 лет.
- Уверенное владение SQL (MS SQL или PostgreSQL): умеете писать и читать непростые запросы.
- Опыт с Entity Framework или другой ORM.
- Умение читать и поддерживать чужой код, а не только писать свой.
- Интерес к предметной области: разобраться, как процесс на самом деле устроен у клиента, и от этого отталкиваться. Это для нас весомее, чем знание десяти фреймворков.
Нам нужен крепкий разработчик, а не архитектор: важнее ровно и качественно закрывать задачи, чем проектировать новую систему с чистого листа. Если по одному-двум пунктам вы не дотягиваете, но остальное - про вас, откликайтесь. Технологию можно подтянуть на месте, интерес к делу - нет.
Особенно ценим (но это не входной барьер):
- Опыт создания удобных WPF-интерфейсов для сложных данных и процессов.
- Навыки оптимизации работы с данными: тяжёлые запросы, индексы, планы выполнения. Этому мы спокойно учим на месте, если есть уверенный SQL.
Плюсом будет: linq2db, ASP.NET Core.
Кому у нас понравится, а кому будет скучно
Понравится, если любите разобраться в том, что делаете, и хотите, чтобы сделанное работало годами, а не до следующего переписывания.
Будет скучно, если хочется менять технологии каждые полгода. Новое мы пробуем и внедряем - но по потребности и с обоснованием, а не потому, что про это все сейчас говорят. На новый стек ради самого переезда мы не уходим.
Что мы предлагаем
- Зарплата 180 000-200 000 ₽ на руки, итоговая сумма - по результатам собеседования.
- Полная занятость: 8 рабочих часов в день плюс перерыв на обед. Время начала вы выбираете сами - от 6:00 до 10:00 МСК, - но дальше график должен быть стабильным, чтобы коллеги знали, когда вы на связи. Внутри дня мы никого не держим за столом: нужно отлучиться - предупредите и идите, часы доберёте в другое время того же дня, если, конечно, ничего не горит. А если вам нужен принципиально другой режим - личные обстоятельства, сильно другой часовой пояс - это обсуждаемо: важно только, чтобы не меньше 4 рабочих часов приходилось на промежуток 09:00-18:00 МСК.
- Удалённая работа. Оформление официальное по ТК РФ, поэтому работаем с теми, кто находится на территории России.
- Сроки планируем вместе. Если срок поехал и вы можете объяснить почему - это рабочая ситуация, а не повод для разбора полётов. Микроменеджмента у нас нет.
- Рутину автоматизируем: сборки, тесты, отчёты собираются скриптами, а не руками.
- ИИ как инструмент, а не как культ. Мы сами пользуемся им каждый день - разбор кода, тесты, рутина. Подписки на рабочие ИИ-инструменты за счёт компании. Но под коммитом стоит ваше имя, а не имя модели: отправить в ревью то, что сами не прочитали и не поняли, у нас нельзя.
- Компания аккредитована как ИТ - отсюда отсрочка от призыва и льготная ипотека, если вы подходите под условия программ.
Процесс отбора
Три шага, сам отбор обычно занимает около недели - дальше многое зависит от вас: задание кто-то закрывает за вечер, а кто-то берёт весь срок. Потом ещё недели две уходит на увольнение с прошлой работы; за это время мы готовим договор и оформление.
Онлайн-собеседование. Знакомимся, говорим про ваш опыт и про наши задачи. Вопросы к нам приветствуются: про команду, процессы, продукт - спрашивайте прямо на созвоне.
Техническое задание, после собеседования - когда уже понятно, что интерес взаимный. Даём неделю, без напоминаний и без «сделайте до завтра».
- Честно про содержание: доступ в наш контур мы дать не можем, поэтому начинается всё с того, что вы разворачиваете у себя БД и прогоняете миграции по описанию. Дальше - типичная наша задача: взять за образец готовую форму, прочитать данные из БД, добавить пару фильтров и вывести результат. Сама форма у человека, который ориентируется в WPF и EF, занимает меньше часа; остальное время - окружение и чтение чужого кода. Отсюда и оценка в 2-4 часа - мы считаем её вместе с настройкой, а не только код.
- Всё, что нужно для работы, - версии БД, данные, нужные библиотеки - расписано в самом задании и обеспечиваем мы. Покупать ничего не придётся.
- Застряли или в описании чего-то не хватает - пишите, мы на связи и ответим в рабочее время. Упереться в окружение - не провал: нам интереснее ваш подход и ваши вопросы, чем идеальный результат.
- Код остаётся вашим, в продукт он не идёт.
- Если дошли до кода - обязательно возвращаемся с разбором, в течение недели и независимо от решения.
Оффер. Предложение по зарплате и оформление.
Как откликнуться
Начните сопроводительное словом «Стрелка» - так мы поймём, что вы дочитали.
Дальше 5-10 строк: расскажите про баг или задачу, где пришлось докопаться до настоящей причины. Что вы увидели сначала и чем всё оказалось на самом деле. Это нам важнее списка технологий в резюме, и так вас куда проще заметить.
Отклики без сопроводительного мы разбираем в последнюю очередь - дело не в грамотности, просто так проще отделить живых людей от массовых рассылок. Пара строк от руки - и вас точно прочитают.
Если всё это про вас - давайте знакомиться.

