{"id":1472282,"url":"https://alion.io/job/swip-c-net-razrabotchik","title":"C#/.NET-разработчик","company":{"id":47371,"name":"SWiP","domain":"swip.one","url":"https://alion.io/company/swip","size_band":"1-10","is_staffing_agency":false,"employer_type":"direct","is_intermediary":false,"listed_via":null,"ats_vendor":"HeadHunter","truth_index":null},"role":"Backend","role_family":"Backend","seniority":null,"employment_type":null,"work_mode":"remote","remote_scope":"stated_regions","remote_scope_basis":"board_field","remote_working_hours":null,"hiring_geo_confidence":"structured","locations":["Moscow, Russia"],"countries":["RU"],"hiring_countries":["RU","BY","KZ","KG","AM"],"hiring_countries_total":5,"salary":null,"salary_estimate":{"min_usd":15000,"max_usd":41000,"period":"year","method":"role_country_seniority_unknown","sample_n":883},"experience_years_min":null,"visa_sponsorship":false,"relocation_package":false,"has_equity":false,"technologies":[{"name":".NET","optional":false},{"name":"C#","optional":false},{"name":"Git","optional":false},{"name":"1C","optional":true},{"name":"GitLab","optional":true},{"name":"Windows","optional":true}],"status":"live","first_seen_at":"2026-09-29T16:44:34Z","employer_posted_date":"2026-09-29","last_verified_at":"2026-10-09T18:36:42Z","board_verified":false,"closed_at":null,"days_open":12,"trust":{"level":"ok","repost_count":null,"flags":[],"days_open":12},"description":"C#/.NET разработчик - интеграция с кассой iiko (part-time, удалённо)\n Дорабатываем плагин лояльности для кассы iiko: деньги, чеки, фискализация. Legacy C# на .NET Framework, реальные кассы, строгий процесс с тестами и ревью.\n О продукте\n SWiP - платформа лояльности для розницы и общепита: карта клиента живёт в приложении и в мессенджерах, баллы и скидки считаются на нашем бэкенде, а применяются прямо на кассе.\n Чтобы это работало, у нас есть плагины к кассовым системам. Один из них - для iiko, самой распространённой кассы в общепите. Он стоит на реальных точках и участвует в каждом чеке: считает скидку, списывает баллы, закрывает заказ, обрабатывает возвраты.\n Ищем разработчика в этот плагин.\n Чем предстоит заниматься\n - Разрабатывать плагин iiko на C#, .NET Framework 4.7.2, под API кассы Resto.Front.Api\n- Чинить дефекты, которые находят тестировщики на реальных кассах: разбирать логи, воспроизводить, писать сценарный тест, потом фикс\n- Поддерживать денежные гарантии: операция не теряется при сбое сети, не выполняется дважды, неизвестный исход не выдаётся за успех\n- Работать со сценариями разделения чека на несколько юрлиц, предоплатой, возвратами и фискальной границей\n- Писать тесты последовательностей - не «метод вернул значение», а «кассир сделал вот это, и вот что ушло на сервер»\n Что важно уметь\n - C# уверенно\n- .NET Framework, не только .NET Core/5+: здесь HttpWebRequest, старые библиотеки, синхронный код\n- Понимать, что такое идемпотентность, таймаут, повтор запроса и почему «просто повторить» - не всегда правильный ответ\n- Уметь читать логи и доказывать причину, а не угадывать её\n- Писать тесты и относиться к ним как к части работы, а не как к повинности\n- Git, работа в ветках, код-ревью как нормальный рабочий процесс\n Будет плюсом\n - Опыт интеграций с кассовым ПО: iiko, r_keeper, 1С:Розница, АТОЛ, Эвотор - любой\n- Знание 54-ФЗ в части чеков, авансов и признаков расчёта\n- WPF - в проекте есть окна для кассира\n- Опыт с платёжными или финтех-системами, где ошибка стоит денег\n Чего здесь нет\n Пишем честно, чтобы не тратить ваше и наше время.\n- Это не «пофиксил и забыл». На каждый исправленный баг заводится постоянный тест, иначе фикс не принимается\n- Здесь строгий процесс: конвенция разработки, обязательное ревью, запрет менять то, что не входит в задачу. Если вам тесен формат «сначала докажи, потом правь» - вам будет тяжело\n Условия\n - Формат: part-time, удалённо. Ориентир - 20 часов, гибкий график, но с предсказуемым присутствием на созвонах\n- Оформление: [самозанятость / ИП / договор ГПХ/ТД]\n- Оплата: Обсуждаем по итогам разговора\n- Стек и доступы: GitLab, свой контур для тестов, тестовая касса iiko. Windows-машина или виртуалка для сборки обязательна\n- Есть тестировщики с накопительным чек-листом и написанными сценариями - вы не будете угадывать, что считается правильным поведением","description_format":"text","description_chars":2841,"description_truncated":false,"requirements":{"experience_years_min":null,"management_years_min":null,"team_size_min":null,"manages_managers":false,"education":null,"security_clearance":false,"languages":[{"language":"Russian","level":"Advanced (C1)","optional":false}]},"benefits":[],"hiring_locations":[{"name":"Russia","iso":"RU","kind":"country"},{"name":"Belarus","iso":"BY","kind":"region"},{"name":"Kazakhstan","iso":"KZ","kind":"region"},{"name":"Kyrgyzstan","iso":"KG","kind":"region"},{"name":"Armenia","iso":"AM","kind":"region"}],"hiring_excludes":[],"relocation_offered":false,"industries":["POS Systems","Loyalty Programs","Marketing Automation"],"lifecycle":[{"event":"open","at":"2026-09-29T16:49:52Z"}],"visa":[],"liveness":{"score":71,"band":"hot","label":"Hiring now","p_open":1,"p_active":0.787,"p_room":0.9,"age_days":10,"expected_fill_days":30,"reasons":["conf:11","win:mid"],"computed_at":"2026-10-10T05:45:15Z"},"pay":null,"html_url":"https://alion.io/job/swip-c-net-razrabotchik","json_url":"https://alion.io/job/swip-c-net-razrabotchik.json","meta":{"generated_at":"2026-10-11T22:28:10Z","cache_seconds":300,"methodology":"https://alion.io/methodology","terms":"https://alion.io/terms","contact":"https://alion.io/contact","api":"https://alion.io/developers","about":"Alion is a live layer of people, companies and AI agents: who they are, whether they are real and active right now, what they do and how to work with them, readable by people and by agents and paid per call.","catalog":"https://alion.io/catalog.json","usage":{"tier":"crawler_verified","counted_by":"address","units_charged":1,"used_today":12356,"day_limit":null,"remaining_today":null,"minute_limit":300,"resets_at":"2026-10-12T00:00:00Z"}},"offers":[{"id":"company.slices","title":"One company in depth, by slice","status":"live","price":{"credits":0.02,"usd":0.002,"plus_per_slice":{"credits":0.05,"usd":0.005}},"unit":"per company, plus each slice with data","note":"the employer in depth","call":{"mcp_tool":"get_company","arguments":{"id":47371},"rest":"https://alion.io/mcp/rest/get_company?id=47371"},"human":"https://alion.io/catalog?offer=company.slices&for=job%2Fswip-c-net-razrabotchik"},{"id":"market.stats","title":"A market slice: pay, demand and time to fill","status":"live","price":{"credits":1,"usd":0.1},"unit":"per slice","note":"pay, demand and time to fill for this role and place","call":{"mcp_tool":"market_stats"},"human":"https://alion.io/catalog?offer=market.stats&for=job%2Fswip-c-net-razrabotchik"},{"id":"job.search","title":"Open jobs by role, technology, place, pay and visa","status":"live","price":{"credits":0.02,"usd":0.002},"unit":"per posting in a list","note":"similar open postings","call":{"mcp_tool":"search_jobs"},"human":"https://alion.io/catalog?offer=job.search&for=job%2Fswip-c-net-razrabotchik"},{"id":"company.verify","title":"Is this company real and active right now","status":"pilot","price":null,"unit":"per company","request":{"url":"https://alion.io/catalog/request","method":"POST","body":"{\"offer\": \"company.verify\", \"for\": \"job/swip-c-net-razrabotchik\", \"note\": \"what you need it for\"}"},"human":"https://alion.io/catalog?offer=company.verify&for=job%2Fswip-c-net-razrabotchik"}]}