I'm a bachelor student, but I trained for the international informatics olympiad in high school. These days, most of the programming I do is in web development where I do not need any of the relatively advanced algorithms I know. I do not think competitive programming has necessarily improved my web development skills, only that I write code faster. However, I do feel prepared in the sense that I would definitely recognise situations where dynamic programming/segment trees/sqrt decomposition would be of help. I thoroughly enjoyed getting the absolute most out of your CPU with C++. Sometimes I miss the obscure pointer arithmetic, bit twiddling with Fenwick trees, thinking of ways such that I can divide by const's instead of int's because the compiler can optimize those further. It's a special kind of feeling to solve problems by combining clever algorithms and pushing the hardware to what it is physically capable of.