Software Engineer
Про компанію
Caseware Ukraine – продуктова компанія, яка автоматизує процеси фінансового контролю, аудиту та звітності відповідно до Міжнародних стандартів фінансової звітності.
Програмні рішення Caseware забезпечують універсальні та надійні рішення для бухгалтерів, аудиторів і фінансових директорів. Вони широко використовуються в корпоративному секторі, де часто доводиться працювати з великим обсягом інформації.
Чим ви будете займатися?
Ви працюватимете над розробкою та підтримкою десктопних застосунків на Electron і React – ETL-інструментів для імпорту, перетворення та аналізу даних. Це і інтерфейс (форми, таблиці, майстри налаштування імпорту, звіти на React та Ant Design), і серверна частина на Node.js, яка працює з файлами, SQLite, DuckDB, PostgreSQL і MS SQL Server та обмінюється даними між процесами Electron. Окрім того, ви розвиватимете внутрішні бібліотеки, які використовуються в різних проєктах команди.
Ви реалізовуватимете нові модулі в межах наявної архітектури проєктів, покриватимете свої зміни тестами (Vitest, Jest, Playwright) та виправлятимете знайдені дефекти. Також ви братимете участь у код-рев'ю, вестимете документацію до своїх змін і час від часу правитимете SQL-запити та невеликі Python-скрипти в суміжних проєктах команди.
Обов'язкові вимоги
Технічні знання та навички:
- TypeScript / JavaScript (ES6+): типи, інтерфейси, generics, async/await, модулі.
- React: компоненти, хуки, стан, робота з формами та списками.
- Node.js: npm, скрипти, файлова система, робота з пакетами, асинхронний код.
- Розробка власних бібліотек: вміння виносити спільний код у бібліотеку (npm-пакет або бібліотеку компонентів) і використовувати її в різних проєктах: проєктування публічного API, типи, версіювання, збірка й публікація пакета, зворотна сумісність, документація та приклади використання.
- Git: гілки, коміт, pull request, вирішення конфліктів.
- Робота з базами даних:
- володіння SQL: JOIN, GROUP BY з агрегатами, підзапити, робота з NULL і типами даних;
- розуміння, що таке індекси;
- досвід роботи з PostgreSQL та DuckDB;
- ODBC: драйвери, DSN, рядки підключення до баз даних.
- Розуміння основ архітектури застосунків: поділ на модулі та шари (UI, бізнес-логіка, доступ до даних), розділення відповідальності, принципи SOLID.
- Досвід роботи з AI-інструментами для розробки (Claude Code, Codex): вміння ставити задачі, критично аналізувати згенерований код, знаходити та прибирати «слоп» (зайвий, дубльований, надмірно складний або неперевірений код), перевіряти результат тестами й рев'ю.
- Вміння читати чужий код і документацію, розбиратися в існуючому проєкті.
- Відповідальність і акуратність у роботі з даними: перевірка результату, увага до дрібних розбіжностей у числах і форматах.
Освіта та особисті якості:
- Вища або незакінчена вища технічна освіта.
- Ініціативне та позитивне ставлення до роботи.
- Бажання навчатися, розвиватися та поглиблювати технічні знання.
Уважність до деталей, точність і відповідальність у роботі, зокрема під час перевірки даних та результатів.
Буде перевагою:
- Досвід роботи з Electron, Ant Design, Vite, Zustand, React Router, Storybook.
- Практика написання тестів із використанням Vitest/Jest та Playwright.
- Знання MS SQL Server (T-SQL), SQLite, Oracle, ORM (наприклад, Drizzle).
- Базові знання Python.
- Розуміння основ бухгалтерського обліку або досвід роботи з 1С, SAP, IT-Enterprise чи іншими ERP-системами.
- Досвід роботи з CSV, Excel та XML (xlsx, exceljs).
- Досвід роботи з Windows: реєстр, COM, інсталятори; розуміння Active Directory (AD), прав доступу та спільної і розділеної роботи користувачів із даними й ресурсами.
- Навчальні або власні pet-проєкти на GitHub.
Технології, з якими ви працюватимете:
- Фронтенд
TypeScript · React 18/19 · Ant Design · Vite · Zustand · Storybook
- Десктоп і Node.js
Electron · Node.js · better-sqlite3 · mssql
- Дані
PostgreSQL · DuckDB · MS SQL Server (T-SQL) · SQLite · Oracle · ODBC · Drizzle ORM
- Тестування
Vitest · Jest · Playwright
- Інфраструктура
Git · GitHub · Jenkins · electron-builder · husky · ESLint · Prettier
- Суміжне
Python (PySide6, pandas, SQLAlchemy)
Ми пропонуємо:
- Роботу в дружній, відкритій та професійній команді.
- Комфортний офіс у центрі Києва – за 2–3 хвилини пішки від метро «Контрактова площа».
- Графік роботи: понеділок–четвер з 9:00 до 18:00 в офісі, п'ятниця – віддалено. Можливість гнучкого графіка за домовленістю.
- 24 календарні дні оплачуваної відпустки та оплачувані лікарняні.
- Оплату компанією профільного навчання.
- Постійний професійний розвиток і можливість поглиблювати технічну експертизу.
- Можливість реалізовувати власні ідеї та брати участь у розвитку продуктів компанії.
Етапи відбору:
- Знайомство з HR: обговорення компанії, вакансії та умов роботи.
- Виконання тестового завдання.
Технічна співбесіда з керівником напряму / команди.
Будемо раді бачити вас у команді Caseware!