• Продвинутый уровень знаний back-end технологий.
• Применение шаблонов проектирования.
• Продвинутые навыки рефакторинга.
• Продвинутый уровень дизайна и архитектуры программного обеспечения (возможность спроектировать большие комплексные системы с несколькими приложениями с их интеграцией и интеграцией с внешними сервисами. Возможность решаеть вопросы мониторинга этих систем, целостность данных, отчеты об ошибках, обработки ошибок и т.д.)
• Продвинутый уровень test-driven/test-after навыков разработки (понимание и возможность написать автоматические functional, load-performance и UI тесты)
• Возможность заниматься базовой администрацией БД, оптимизировать производительность, индексы. Возможность написать сложные и вложенные запросы. Возможность заниматься репликацией, партицированием для масштабирования БД. Понимание как хранятся данные и индексы в файловой системе.
• Практический опыт в нескольких проектах.
• Умение визуализировать и донести до коллег архитектуру.
• Базовые Devops навыки.
• Легкое чтение файлов. Красивая и понятная Организация методов в файле. Соблюдение единого, конкретного code-style. Каждый метод имеет документацию и в нужных местах ссылки на другие части кода.
Организация файлов соответствует архитектурным соглашениям. Просмотр файлов и папок дает понимание о дизайне и назначении проекта.
• Код очень понятный и очевидный. Поток кода естественен. Нет глубоко вложенных условий или методов.
• Возможность предложить лучшие альтернативы и улучшение бизнес процесса исходя из своего опыта.