Interview with a Competitive Programmer
Chapters9
An introduction to the creator's channel and a sponsorship mention, setting the stage for a conversation about programming and personal background.
Competitive programming is a serious mind sport, with Google Code Jam finals as a peak, but it also fuels teaching, contests, and a tech career path.
Summary
Joma Tech sits down with a skilled competitive programmer who goes by Arta (aka Arti), detailing his life in competitive programming, his path to Google Code Jam finals, and how algos shape his career. He explains that success hinges on years of practice across multiple contests and platforms, not just last‑minute prep. The conversation covers how contests score problems by correctness and time, how practice translates into rapid, on‑the‑spot solutions, and why some top competitors can draft simple, correct solutions in minutes. We also hear about the platforms that drive the scene—Google Code Jam, TopCoder, and ICPC—with discussion of sponsorships, travel, and prize money. The interview touches on the transfer from competitive programming to software engineering careers, the relevance of math skills, and how teaching and organizing contests fuels his passion. Throughout, Joma Tech highlights the community, the realities of payoffs, and the joy of algorithmic problem solving. Arta also shares personal details: starting at 16, his rise through math-heavy backgrounds, and his YouTube channel where he demystifies algorithms for learners. The chat closes with a candid look at future plans—teaching, contest organization, and continuing to compete while enjoying games and programming.
Key Takeaways
- Google Code Jam finalists are chosen through three qualifiers plus an extra round, with roughly 25–26 participants advancing to the finals.
- Final results in Google Code Jam are based on correctness and time efficiency; higher scores matter, and tie-breakers favor faster last submissions.
- Competitive programmers often excel in math and algorithm theory, frequently coming from math-heavy backgrounds or related university research.
- Top platforms in the field include Google Code Jam, TopCoder Open, ICPC, and Facebook Hacker Cup, with ongoing online contests almost every week.
- There is a debated gap between competitive programming skills and day‑to‑day software engineering, where debugging discipline and practical implementation matter just as much.
- Many competitors start young (as early as mid‑teens) and continue alongside studies or early careers; sustained practice is key to staying sharp.
- Google sponsorships and global events offer substantial prizes and travel, but the motivation often centers on challenge, learning, and recognition rather than money alone.
Who Is This For?
Essential viewing for aspiring competitive programmers and software engineers curious about how high‑level algorithm contests map to real jobs, interviews, and teaching paths. It’s especially helpful for those considering Google Code Jam, ICPC, or TopCoder Open as stepping stones.
Notable Quotes
""Google Code Jam at the end in the final how did you guys compare programs is it mostly on the time or at the corrections""
—Explains scoring in Code Jam—mostly about correctness and running within time.
""there are several qualification rounds I think three plus one extra preliminary qualification round and then 225 people I think advance to the finals""
—Details the elimination format and final contestant pool.
""the strongest competitors are very smart but there are skills they don’t have""
—Notes gap between theoretical algorithm skill and practical software engineering.
""you print the last letter""
—Illustrates a simple, rapid solution idea for a contest problem.
Questions This Video Answers
- How do Google Code Jam qualifiers determine who reaches the finals?
- Are competitive programming problems a good indicator for software engineering interviews?
- Which platforms host the biggest algorithm contests and what do they offer?
- Can competitive programming experience lead directly to tech company jobs or interviews at Google?
- What are common misconceptions about the preparation time for competitive programming contests?
Competitive ProgrammingGoogle Code JamICPCTopCoder OpenFacebook Hacker CupAlgorithm InterviewsCode Jam FinalsContest PlatformsProgramming EducationCareer in Tech
Full Transcript
quit pause thank you so much Squarespace for sponsoring this video enjoy the video cool alright so welcome to my channel so can you tell me a little bit about yourself we know that you're a compelled programmer but just a little bit about your life I am coming or erecta and I like competitive programming to the degree that I decided to work in competitive programming not only I participate in those contests I also organize the contests programming comes preparing for a wife for Olympiad for high schoolers right now I'm in USA for Google Code Jam because I advance to the finals and this is some part of my life that a few times a year I go to some international competition plus I have a YouTube channel where I teach algorithms nice so Google Code Jam what does it take to get to the final because I never even got past the preliminary basically it's not about maybe preparing something for the few days before the contest it's about being very good in other games and obviously for that you need years to practice maybe months if you are very very good and then there are several qualification rounds I think three plus one extra preliminary qualification round and then 225 people I think advance to the finals that's it just 25 I think 25 plus the champion from the previous year so 26 who was the champion from the previous year and Gennady courage courage actually he was taken for the last five years holy oh my god so he doesn't need to take the preliminary rounds he just goes straight to the final Coco so can you talk to me more about what is competitive programming exactly yeah I think in short it's a mind sport where instead of like interests or poker you think about cards on your next moves here you think about programming how to program something you were given a few problems to solve with some time limit constraints for data how big it can be to invent quick enough a Gert a fish until of and implemented in time and who is fastest themselves the most problems with do they usually care about the time it takes to execute or just the complexity that's a good question and complexity is very important because it's a difference of ranking one second or one hour or day and there is usually a time limit like two seconds as long as you are within the time limit you're okay there are some competitions where it might matter or so maybe a length of count how good score your program produces because this is some np-hard problem that doesn't have an exact solution it's just how good solution you will find but most of the time is just you need to pass it then you get the number of points that is assigned to this problem so for example Google Code Jam at the end in the final how did you guys compare programs is it mostly on the time or at the corrections this is one of those where it's only the correctness and running within time and then every problem has some score assigned like this one is 15 points this one is 20 because it's harder and the hardest is say 40 and the sum of points matters if there is a tie what happens of course then when you submitted like your last solution if somebody finished in two and half hours then he's better than somebody who got the same score if ours also okay so how fast you do it matters yeah yeah what do you think you're gonna place I think around top time should be my expected last year I was second just after cannibals that is crazy yeah but this was my one of highest performance in my life not that I expect to repeat that I hope of course mmm-hmm so can you give me an example of what a competitive programming problem is okay I will give you I think a cool example I probably can't solve it but mister I think you can okay you overestimate it it will show some point of mine okay that side there is there was a tennis match or it can be valuable it's Marisol if I hold that and you're given a sequence of letters I and we whoever player a or b scored the point and there are some rules in tennis you need some some number of points to win a set then game which I don't know I don't know very much myself yeah you're given a sequence for the whole match and you need to tell which player one like won the whole game exactly hunt of course you can implement all of that yeah to say now of course if there is a tie at the end of Saturday they still need to play maybe for a long time it's not like whoever gets four points or whatever that means immediately yeah and you can implement that in say 10 minutes I don't know I mean yeah what I'm gonna do it's very very simple right we have a string of like a ba ba ba B and then because I know the rules of tennis imagine if I do it know the rules of tennis I'm just gonna increment the points and then if it's a set they already want to set it's just okay he want to set so I just listen all right exactly so you would do that and usually what happens during contest is that you see a problem you think for a moment about how to implement it implement maybe the back for a little bit you spend say 10 minutes you look at the leaderboard and you solved you see that somebody solve it in 30 seconds how is it possible you might ask oh do they have like preset code that they already wrote not necessary maybe it's about like pasting in C++ include something into nine ways so when you mean 30-second do you mean the runtime was thirty second or do they submit it you've read that problem and implement it and submit in France if I guess they already heard the question no it's about quickly coming up with a simple idea idea and here the idea is that you print the last letter Oh Casey oh yeah because if you already want you're the one that and you know this drink is ID whatever happens under the inversion well that says let's assume me that's assuming the string is correct and that's a good point there is some say disadvantage of people used to competitive programming is that they always assume that data is correct some the statement said something that there is that sequence describing the match or if the see if the statement said that you're given a sequence of numbers that are in this interval they will be in this interval they don't care about incorrect characters maybe some number being non integer they just do what they are told so they might miss something in real job when they should ask what if my what if user will give me incorrect date oh yeah that's super smart yeah just look at the last letter of the string he won yeah there isn't one cool I like that this is fun okay and and then would you say would you say competitive programmers make good software engineers or if there's no relation it's very hard and I I've seen an article that size there is a negative correlation for sure they are smart like people in the top of competitive programming are very smart but on the other hand they are maybe over skilled in algorithms that isn't that important in a job what is important that you implement carefully that you are able to debug stuff this I think this is easy for competitive programmers they make a lot of mistakes so they need to collect correctly all the time but there are some skills that they don't have they are good candidates and some of them will be awesome workers some of them will not that make sense that make sense so what are like the biggest contests and platforms for competitive programming I already mentioned code versus this is Russian platform there is also Japanese ad coder American top coder which is a very old platform like almost 20 years it was one first while the other two are quite young and they organize contests online every week I think so if you combine all those platforms plus several that I didn't mention you will have contests every second day or so plus there are some big insights from time to time like Google culture TopCoder open facebook hacker cup some of them are just organized by big companies to attract skilled participants and maybe hire them a Google Code Jam actually is I think the well-prepared one also with a stream quite professional stream that has a lot of advertisement know that they will advertise Google stadia this year during the stream but it's also for programmers so there's a lot of clips work with us this is eco intern please tell us what you do and why you like Google yeah it's like one big advertisement of course still I don't complain because I get to compete with other strong competitors I have a chance to win money and I have a trip to USA oh yeah that's true oh did he pay for your flight here yes leader it's what about hotel they cover hotel sometimes five-star one so I have been to few 5-star hotels only because some competitions made for that what's the price for like first place second place right now it's around 10,000 or 15,000 dollars which is fine especially fuel if not in a rich country in Europe it's more for example in Poland but it used to be so much more really even one hundred thousand dollars for doing why is it so long right now I think that but this is only my foot that maybe because once it mean such money you don't have an incentive to work in the company because yeah yeah yeah Google wants to get those best people so they shouldn't give them money upfront okay maybe just a side question do you used to do math competitions I did not actually in high school till maybe middle of high school I did maps instead of informatics and I even went to some international on sites maybe not as big as Google Code Jam but is I was I think one of the best in Poland on my year and a lot of people in competitive programming are very good in maths yes some of them didn't study computer science they studied maths or economics so is it very similar solving for these math questions and solving for coding questions I think the skills required to comprehend all of that to understand the logic implications to prove that something will work are similar I see you need a lot of knowledge that is only for algorithms but the same people are good in both do people usually do competitive programming join university and then do they stop after because it seems like everyone's so young yeah most of people are young maybe also because company's programming almost didn't exist 20 years ago there are only a few guys that are in the top and over 30 most of people study a lot in high school maybe to prepare for Iowa if they are very competitive and skillful in university for ICPC competition or just to get to some company because coding interviews are also about algorithms so competitive programming is maybe a place to to try to learn a bit to compare yourself with others plus there are competitions like Google kickstart that are more mainstream for programmers and you have a chance to that if you are good there Google might invite you to an interview nice and after university once you have a job already maybe you start a family you don't have time anymore to practice like several hours a week then why would you continue that that's sure some people still do because they enjoy it but not a lot yeah I personally think it's a lot easier to just apply to these jobs normally than winning a competition do you think the coding questions for the interviews are similar to the competitive programming questions or is that way easier so regarding the first question how easy it is to get for competitions it's not that you have to win like Google kickstart to be invited 200 maybe even top 500 is enough that you can say that while applying and maybe they will give you the first interview because of that ok still you will quickly final if you aren't good maybe in other areas but it's a chance to be recognized compared to thousands of people maybe tens of thousands and problems are similar competitive programming is harder because it's for people that train sometimes here's for that it needs to be harder but there are just some differences when competitive programming requires some complicated algorithms coding interviews sometimes can ask you questions that aren't possible to be tested with computer like maybe some parallel computing with thousands of machines you will not meet such a problem in competitive programming because organizers don't want to get thousands of machines to test your program Google organized such a competition one with hundreds of machines testing your program but it had some limitation it was called distributed culture call coding interviews have also sometimes other problems that cannot appear in competitive programming like for example inventing an algorithm that we work in constant time for something like or in logarithmic time given an array with binary search some number because the array is sorted it's very hard to test with competitive programming because you need to get that array anyway so the time spent by computer tracker for that needs to be at least linear complexity anyway when you speak with somebody during interview they can ask you what about this can you achieve smaller memory maybe try to get constant memory well program that is automatically judged sometimes has some limitations like you cannot distinguish between two complexities also then constant factor matters so the fact that everything is tested has the downside of not being able to distinguish everything but also has an advantage everything is fair and objective it's not that interviewer likes you you better score yeah quick question so in competitive programming does it ever happen that the higher complexity is actually better because the lower couple sorry the higher complexity what if that makes us like the higher complexity might be faster and is a better because like the constant is too high for like the lower context it is that yes it might happen right you need to understand when you want to focus on competitive programming you want you need to understand for example that hashlib hashmaps have quite high constant factor if you can if values are small anyway and they would fit in and are I use an array instead everything will be constant access anyway but it's faster so this is one example and the other is that maybe some complexities theoretically worse but because of small data actually like this even though it's n square because n is small you don't care about it you don't have to invent n times logarithm somewhere so people don't check your code during competitions right they just run it even it might happen that tests are very weak they do not cover some case maybe edge case or maybe your algorithm is heuristic and it could be quadratic but when data is random the summaries yeah there are some algorithms like that and organizers try to care about that that pessimistic run time and they try to create test cases malicious test cases but they don't always it's impossible to predict all the interesting that's called they have a card job so do people ever win because they realize the tests aren't that good so they can make their code like even not cover all the edge cases but then win because of that it might happen especially during last minutes of a competition now you know already that you will you don't have time to come up with so you just try whatever it might be like in school writing some yes I have been working here the by random okay I CBI maybe it will pass and just once every 10 or 100 items it will that's funny Coco Co so you have like you have personally met again to the year is this I have I have my team right can't get him here I think you wouldn't need to write to him like a few weeks ago oh really uh okay well he is coming in Google Code Jam right yes but you know usually you plan those trips a few months in advance and you already have tickets there's nothing now that you can do yes sure well you know some people actually will be here already in advance because I asked several guys whoever they maybe want to go to escape room together on San Jose that's fine intercourse really easy for you guys yeah I think people in companies programming are very good inescapable and so I'm going to with several strong guys and psycho says I think that if there are some algorithmic problems then process we will be very good but he's not one of them sorry oh yeah so what about any other competitors like do they all are they all in school what did he do for a living the the best ones are does that still after university they do something of course they are some very skillful and talented ones in high school or university but if some other people have 10 years of experience already they are better those that enjoy the competitive programming and they want to practice for the sake of it because they like it and some of them work in university like doing research in algorithms sometimes in machine learning I know a few guys that started companies or startups on their own or they do cool stuff like that they don't compete anymore they do some of it you know they cannot spend 20 hours a week but if they like something and their job is a bit related to that it's good for them to stay fresh with algorithms like new algorithms in the world then they can spend several hours a week and it's still useful to some degree some people work in university some in big companies like Google there are also people like me that just stay in competitive program it's a bit like questioning skull why do you need biology for and the question is to teach yes sure of course there are some uses and I also had internships where I just strictly did a girl like working on algorithm pannu selling flight ticket working on algorithm to combine single flights into something with changes we don't do that with machine learning because there is just let's say thousands of possible sites and you need to combine them in good enough complexity this is exactly a problem that could appear in the programming contest interesting so do you mind me asking like how old you are and when you started compared for whamming I am right now 24 and I started I think when I was around 16 16 I knew some of C++ maybe just a little bit of Python 2 when I was 16 and when I was 17 or 18 I bought my first book I'm not from a big city so and said that I had a lot of friends to discuss with or to learn from also not a lot of teachers know programming algorithmic programming the only in the university learned that well I bought a book Carmen's introduction to algorithms I've read most of that and I could do it because I was good in maths so then my my skills my performance I think skyrocket also the university meeting other talented people competing with them in team ICPC competition and puree see that's pretty cool that's pretty cool what about AG Kennedy like when did he start and like how old is he now I think he started when he was like six with coming and when he was 11 for the first time he was in International Olympiad for high school and I think for the first time when he was there he didn't win he won one here's 12 okay yeah wait how old is he now my age or maybe one year older I think he's 25 it's not even don't don't quote me on that okay okay that's cool so what do you plan to do in the future like do you think you just want to teach competitive programming or do you want to do something else you know what if everything paid the same every job paid the same what would you choose can they just play games on ps4 you have to extreme it okay awesome so I guess you like playing games on ps4 yes but our girls are also cool if I were to choose just till the end of my life to do a groups or play games I would choose algorithms because those are more interesting to me cool cool okay it's called the some of this and some of that yeah if everybody'd paid this you have everything paid the same then I first sure would continue with my youtube channel the driver for now I don't even have ads so I earned zero for now for that and I don't think it will change a lot in the near future but I know that I help some people I receive messages that they like my videos that they learned something also sometimes I try coding interview problems just to bring more people to compare a programming this is something that people search for and then maybe some of them will just enjoy algorithms and will stay there I also organize camps teach in high school some system yeah also from the organization's site I'm not only teacher but also organizer organizer of contests events and I like that I will be doing that in the future cool all right well thank you so much for coming do you want to talk about your channel a little bit promote it or something so basically if if you want to learn algorithms then it's a good idea to check my channel out but I guess that's it the name of my channel is Arita we've CH Harry CH how did you come up with that username because that's the same as their competitive programming yeah I use director in the Internet and a lot of people ask me about the meaning of that and the answer is it's a bunch of random letters there is huge advantage to that it's never taken if you take something from a book all right like your name something like this it will be taken yeah that's funny cool all right thank you so much for the interview I really appreciate it learned a lot thank you so much see ya Squarespace gives people a powerful and beautiful platform in which you can create your website you can create beautiful websites or an online store using these award-winning templates create beautiful websites with Squarespace all in one platform so that means you'll never have to install things patch things or upgrade ever Squarespace is used by a wide range of creatives and people ranging from musicians designers artists restaurants youtubers and more if you're interested go on squarespace.com slash Joma tech to get your free trial and 10% off your first purchase all right that's it
More from Joma Tech
Get daily recaps from
Joma Tech
AI-powered summaries delivered to your inbox. Save hours every week while staying fully informed.



