Now I want to invest my time (let's say a year) into gaining some knowledge. I'm thinking what should I chose to stay competitive on the market: a. Doing leetcode; b. Going through some course to gain fundemantal knowledge; c. Something else?
Please share your thoughts and experience.
Ps. I'm a software/web developer without a CS degree.
Having said that, I would personally focus on algorithms first and Leetcode/HackerRank/etc second. Those websites are amazing for putting the theory into practice and for getting used to coding a small problem from scratch, but some problems will go from hard to easy just by virtue of knowing (or not) a single algorithm (yes, Breadth-First Search, I'm talking about you).
What kind of companies have you applied to and which roles?