мне больше по душе решение олимпиадных задач,
Олимпиадные задачи это чистая теория которая к реальному программированию имеет весьма отдаленное отношение.
писал на C# чтобы освоить ООП и писал веб-приложения на Reactjs, Django, но написание веб-приложений меня не заинтересовало
Программирование и написание программного кода это немного разные вещи. Многие путаются и у них от этого проблемы. В первую очередь программирование это такая же обычная работа как копание канав, например. Ты где нибудь видел чудика который капает канавы ради удовольствия? Так и в программировании, программный код (выкопанная канава) это дело мало важное и мало кому нужное, за это деньги не платят. Платят за решение определенной задачи (как на олимпиаде только сложнее и нужнее).
У тебя сейчас есть три главных направления:
1. Научится ставить задачи. Придумай что либо для себя, что лично тебе нужно автоматизировать.
2. Научиться понимать других людей. Поинтересуйся что нужно автоматизировать маме, папе, бабушке или одноклассникам (лучше одноклассницам)
3. Научится решать поставленные задачи. Не важно как хоть на С#, хоть на Reactjs или Django, хоть на любой другой неведомой фигне, главное чтобы тот для кого ты это делаешь был доволен.
ЗЫ. Но при этом не забывай самое главное - девчонки в 16 намного красивше чем в 36