What does my performance on competitive programming contests show about my software engineering abilities? If I’m not a good competitive programmer, can this suggest that software engineering may not be the career for me? How reflective is competitive programming of the career of software developers?
No. Competitions only test a certain kind of ability - the ability to (fairly) quickly come up with a solution, often to problems with artificial constraints, and be able to implement that solution within a limited time.
But there are real life software engineering problems that take time and careful thought to solve, usually because they are hard. And some problems may not be solvable with current technology and that leads to months or years of research.
So lack of success in contests doesn’t mean you can’t be a good software engineer.
I agree with @DadOfJerseyGirl. I do not think that there is much similarity at all between a competitive programming contest versus a job as a software engineer.
My first couple of jobs were as a software engineer on jobs that required quite a bit of mathematics. I enjoyed taking the time to understand the math and to understand the software, and doing a good job of writing code that was well structured and easy to understand and that would do the job efficiently. I cannot imagine that I would want to do this in a competitive environment under time constraints.
I’ve been a software engineer for over 25 years, and I have interviewed and hired many. I have found competitive programming and tests like Leetcode have very little application to real world jobs. There are some software engineers who deal with math and algorithms, but the vast vast majority do not. They assemble applications like legos. Most of the great software engineers are great at understanding business requirements, assessing trade offs, and estimating how long it will take to complete. There are many different types of software engineers. Some work closely with end users and use more soft skills, others are more research oriented and publish papers. The best way to know if you’ll like it as a career is to do it. Make a side project, internships. Build an app or a website to solve a simple problem you have.
When I started learning to code, I was really drawn to fintech and thought competitive programming contests would help me break into that quant field. But soon I realized those types of puzzles rarely mirrored real problems in financial tech, like fraud detection or trading platforms.
All the focus on speed-optimized solutions meant no time to understand important domain knowledge or user needs - both crucial for compliant fintech products. It fostered a “build first, ask questions later” mindset mismatched for such a regulated industry.
Now I prefer learning through more practical projects that simulate real work, like open-source fintech apps or hackathons with business context blended in. Approaches from right here develop both technical and industry skills feel more transferable to an actual fintech role. Competitive programming was a phase, but not how I want to continue prepping for this innovative career path. Hands-on projects in similar domains work better for my learning style and job goals.