Обов’язки:
- Проєктування архітектури масштабованих систем на основі Node.js, AWS, Docker, Kubernetes, Vue.js
- Оптимізація продуктивності та надійності розподілених сервісів
- Розробка архітектурних рішень, що відповідають бізнес-вимогам
- Вибір оптимальних технологій та інструментів для проєкту
- Проведення code review, менторство для команди розробників
- Робота над fault-tolerance, high availability та security систем
Вимоги:
- 5+ років досвіду у проєктуванні складних розподілених систем
- Глибоке знання Node.js та його екосистеми
- Досвід та розуміння ньюансів RabbitMQ
- Глибоке розуміння Redis, Postgre/My-SQL, MongoDb
- Експертиза у контейнеризації (Docker, Kubernetes)
- Досвід роботи з Vue.js та побудови фронтенд-архітектури
- Розуміння DevOps-практик, CI/CD, Terraform, Helm
- Досвід оптимізації продуктивності серверних та фронтенд рішень
- Розуміння best practices у security та fault-tolerance
Буде плюсом:
- Досвід у serverless-архітектурах
- Досвід роботи з AWS (Lambda, S3, EC2, RDS, API Gateway тощо)
- Знання GoLang, Python
- Досвід роботи з Kafka
- Робота з Elasticsearch
Ми пропонуємо:
- Можливість впливати та відчувати свій вплив всередині компанії;
- Компенсація, яка зростає разом з вашими досягненнями;
- Оплачувана відпустка та лікарняні;
- Медичне страхування;
- Бюджет на конференції, семінари та тренінги, які допоможуть вам розвиватися як професіоналу;
- Безкоштовні курси англійської мови;
- Гнучкий графік роботи;
- Затишний, сучасний офіс з усім необхідним в історичному центрі – Києва.
Хто такий Software Architect
Software Architect – це фахівець, що відповідає за високорівневе проєктування програмного забезпечення. Він має знайти баланс між бізнес-вимогами, технічними можливостями та якістю кінцевого продукту. Архітектор ПЗ не лише створює технічне рішення, а й координує його реалізацію. Важливими якостями для архітектора є уважність, образне мислення та дотримання термінів виконання проектів.
Завдання архітектора програмного забезпечення
Основним завданням фахівця є розробка архітектурного рішення. Він може починати розробку з нуля, або виконувати доопрацювання вже існуючого. Доволі часто складається і така ситуація, коли в працюючому продукті не існує рішення. Завдання архітектора – створити продукт, виходячи з доступних артефактів.
Першорядним завданням Software Architect є аналіз вимог. Мова йде про функціональні та нефункціональні вимоги. Крім аналізу, важливо звернути увагу на уточнення деталей і пріоритетність. Як правило, це відбувається через комунікацію з бізнес-аналітиками та іншми зацікавленними в отриманні результату особами.
Ризик-менеджмент необхідний для надійного рішення. Тому важливо передбачити різні сценарії розвитку подій, як очікуваних так і не дуже. Необхідно розробити стратегії, розрахувавши необхідні ресурси, час та вартість їх реалізації.
Комунікація із стейкхолдерами – важлива частина роботи Software Architect. Адже, фахівець спілкується з багатьма людьми, збираючи вимоги, розробляючи рішення та втілюючи їх в дію. Від якості такої комунікації в значній мірі залежить успіх роботи архітектора. Адже результат його роботи – це документація та архітектурне рішення, яке реалізується іншими людьми.
Основні переваги посади Software Architect:
- гідна оплата праці;
- можливість вивчення нових технологій;
- вплив на процес розробки проекту;
- рішення важливих питань;
- спілкування з різними фахівцями.
Що стосується викликів цієї посади, то це велика відповідальність та необхідність ретельно зважувати кожне рішення. Адже ціна помилки архітектора значно вища, ніж у іншого технічного спеціаліста.
Спеціалізація архітектора
У сучасних системах архітектуру розділяють на області та рівні. За рівнем прийняття рішень класифікація така:
- Enterprise architecture (найвищий рівень ухвалення рішень, яким займається корпоративний архітектор. Спеціаліст відповідає за стратегічне планування та управління ІТ-інфраструктурою компанії. Обов’язки: створення архітектури підприємства, розробка корпоративних стандартів та типових архітектурних рішень).
- Solution architecture (напрям об’єднання бізнес-стратегії та технічної реалізації. За це відповідає архітектор сервісу. Обов’язки: створення архітектури сервісу, проектування інтеграцій, а також вибір технологій і інструментів для реалізації рішення).
- Software architecture (напрямок орієнтований на технологічну реалізацію. Ним займається архітектор ПЗ. Обов’язки: визначення структури програми, вибір технології та інструментів для розробки, а також забезпечення якості та безпеки коду).
Стосовно технологій, то тут розрізняють наступні напрямки: Cloud architecture, Network architecture, Internet of Things Architecture, AI Architecture, Technical architecture.
Software Architect – складна, але досить цікава професія. Майбутній фахівець повинен володіти технічними компетенціями, глибоким розумінням стратегії та бізнес-процесів компанії. Крім того, важливу роль тут відіграє особистий розвиток.
Чому SharksCode?
SharksCode – це компанія, в якій працюють висококваліфіковані розробники, дизайнери, аналітики та інші фахівців, що мають багаторічний досвід роботи в інноваційних проектах. Це фахівці, що займаються розробкою систем автоматизації для IT-проектів, проводять маркетингові дослідження, створюють платформи для iGaming та індивідуальні програми та інструменти для управління бізнесом.
Якщо ти готовий рости і розвиватися, спробуй свої сили в надійній компанії! Впевнені, тобі сподобається затишний офіс в центрі міста, висока оплата та зручний графік роботи.