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