Position: .Net developer for TMetric
Company: Devart
Category: .NET
Experience: 3y

**Про продукт:**

**TMetric **- це SaaS продукт, який працює 24/7 та обслуговує клієнтів з усього світу. Сервіс включає веб-додаток, браузерне розширення, крос-платформний десктопний клієнт та мобільні програми.
Усім, хто продає свій час за гроші, необхідно вести точний та простий облік часу для подальшого виставлення рахунків своїм клієнтам. Крім того, TMetric дає змогу вести облік часу працівників для розрахунку зарплат, а також оптимізувати процеси компанії.

**Поточний стек технологій включає:** ASP.NET Core, SQL Server, T-SQL, EF, LINQ, WebAPI, TypeScript, Bootstrap, Angular 9.

**Вимоги:**
- більше 3-х років досвіду роботи з C# .NET, ASP.NET (MVC та WebAPI), ASP.NET Core;
- добре знання та застосування базових шаблонів проектування, таких як Singleton, Factory Method, Strategy, Observer, Builder, Adapter, State;
- досвід роботи з "багатошаровими" додатками;
- Jira, Redmine, GItLab – робота з будь-яким із перерахованих інструментів;
- Git - вміння працювати з як з GUI-клієнтом, так і через командний рядок, досвід роботи з гілками та тегами;
- JavaScript/TypeScript – знання на рівні розуміння коду;
- базові знання з теорії реляційних баз даних (таблиці, індекси, ключі, вибірки);
- Microsoft SQL Server – досвід створення таблиці та написання SQL запитів;
- EntityFramework – розуміння принципів роботи, досвід написання LINQ2SQL запитів.

**Обов'язки:**
- Написання коду для реалізації функціональних вимог до продукту;
- рефакторинг існуючого коду у міру виявленої потреби;
- написання автоматичних тестів (різного рівня) та розробка через тестування (TDD);
- виправлення помилок, знайдених у ході тестування продукту та під час його експлуатації;
- ітеративна розробка бази даних програми, написання міграцій (database migrations);
- створення та узагальнення інтерфейсів REST API;
- Вивчення програмних інтерфейсів сторонніх web-сервісів для інтеграції;
- Вивчення третьосторонніх програмних бібліотек та інструментів.

**Буде плюсом:**
- вища освіту в галузі комп'ютерних наук чи математики;
- досвід написання коду (за рамками використання плагінів);
- Навички роботи з Powersрell;
- Досвід роботи з IdentityServer або іншим сервером авторизації;
- Досвід роботи з Angular;
- T-SQL – досвід написання збережених процедур та скриптів;
- Досвід роботи з Continuous Integration сервером;
- знайомство із шаблонами проектування розподілених систем.

**Перспектива зростання/розвитку за даною позицією:**
Команда складається із досвідчених розробників. На початковому етапі у вас буде ментор, але звернутися по допомогу можна до будь-якого члена команди. Ви зможете отримати досвід у різних сферах розробки та отримати розуміння повного життєвого циклу продукту.
 Використання нових підходів та технологій залежить від самої команди та не диктується ззовні.