Hi, it has been a long time since I've last posted anything here and, as usual, I'll talk more on the human level rather than just being a technical post.
The fate of every competitive programmer is someday (hopefully far for now) you'll retire! The reasons behind it can be multiple.
- You got a fulltime job
- You graduated
- You got kids or
- You are just sick of getting hacked on 2 out of the mere 4 questions you passed on every god damn contest!
The fact is: now you are getting rusty, slow and dumb. You may think that's not that bad. Your coworkers still didn't put as many struggling hours of problem-solving as you did in the past, you can still solve hard questions that everyone just gives up right away, you are really good in understanding the head of your partners in code and can fix their bugs by just clearing their heads and helping them out. But that's just you lowering the bar and getting used to the software development life unconsciously.
If you think about it, you are not as sharp as you used to be. You take longer to figure out optimization solutions, you are getting sloppy and code slower. Let's face it, not every day you encounter an interesting problem just like the old ones. That's not the case for everyone, of course. Some of you have the privilege of getting constant interesting problems, but they are not small and constant as they used to be. And that's normal, the software industry is more focused on developing a scalable, fast and reliable product instead of targeting a new problem every day.
And that's not all bad. You are learning new things. Software development useful things. But your heart is the same, right? The competitive flame inside you is still burning. You are eager to get your hands on an amazing insight that solves a nice problem. You still want to feel that sensation of solving something hard cleverly. You want to still be able to solve those questions with the same (or maybe close to) speed of thought as you once had.
But for that to happen, we all know that practice is needed. And fitting practice time as we did in the past is totally impracticable. You just don't have the time for it. You need to take care of your health (that you neglected for so long). You need to invest time in your relationships with your family, spouse, kids, and dogs (or kittens (; ). And on top of all that you still have to work and learn new things to be productive on.
If you fit this profile that I just laid out, please share your everyday habits on how to still practice and maintain your sharpness from competitive days. How your teammates are doing today? Do you still get together and code? How these habits changed your work code?
I'd love to read them! Be nice in the comments and thank you for sharing!