Требования к должности:
Опыт работы:
- Опыт разработки программного обеспечения от 1 года.
 - Умение работать в команде и взаимодействовать с другими отделами.
 
Знание языков программирования:
- Уверенные знания одного из ООП-языков: Java, C#, Python, C++ и др.
 - Опыт написания кода с использованием принципов ООП (Инкапсуляция, Наследование, Полиморфизм).
 
Знание баз данных:
- Уверенные знания SQL (запросы, индексы, оптимизация).
 - Опыт работы с реляционными СУБД (Oracle, PostgreSQL, MySQL или другие).
 - Опыт проектирования и работы с базами данных (нормализация, связи, индексы).
 
Опыт работы с фреймворками:
- Знание основных библиотек и фреймворков для выбранного языка программирования.
 
Обязанности:
- Разработка и поддержка приложений с использованием ООП и SQL.
 - Проектирование и оптимизация баз данных.
 - Написание сложных SQL-запросов (включая вложенные, агрегатные функции, оконные функции).
 - Интеграция приложений с базами данных.
 - Участие в разработке архитектуры новых приложений.
 - Оптимизация производительности запросов и приложений.
 - Участие в code-review и документировании решений.
 
Технические требования:
- ООП:
 
- Умение применять основные принципы ООП в проектировании и написании кода.
 - Знание шаблонов проектирования (Design Patterns).
 
- SQL:
 
- Умение работать с транзакциями.
 - Опыт написания хранимых процедур, триггеров, функций.
 - Знание особенностей реляционных СУБД (особенно Oracle и PostgreSQL).
 
- Оптимизация:
 
- Навыки оптимизации запросов, анализа плана выполнения (Explain Plan).
 - Знание работы индексов, шардинга и партиционирования.
 
Личные качества:
- Аналитическое мышление и внимание к деталям.
 - Способность к самостоятельному решению задач и поиску решений.
 - Умение грамотно распределять задачи и соблюдать сроки.
 - Готовность к обучению и освоению новых технологий.