13 ms·
Competitive programming = coding challenges, like Google Code Jam and HackerRank. Nothing to do with getting a better job or a better salary.
by user5994461 10y ago
Competitive programming = coding challenges, like Google Code Jam and HackerRank.
Nothing to do with getting a better job or a better salary.
- 40acres 10y agoThe same skills used in competitive programming are needed to pass a modern day technical interview at some of the larger companies. So I wouldn't necessarily say it has nothing to do with getting a better job or salary.
- mod 10y agoIn the sense of "this article has nothing to do with jobs or salaries," I would rate the claim true. The article has not one mention of either. If you're trying to argue that improving your skillset makes you more employable, sure, but that's such a general statement that I'm not sure it holds up as a retort.
- TeMPOraL 10y agoI think the GP means that problems solved in programming competitions are similar to what you'll find on some job interviews.
- mod 10y agoSure, and I think the comment he replied to means "the term competitive is ambiguous, let me clear it up: this is not talking about advancing your career."
- kbenson 10y agoI guess, to the degree that you would assume "competitive programming" could be interpreted as something specifically to advance your career, which I know I didn't, and I'm not sure how you could (but I could easily be missing a common different interpretation). That is, I wouldn't assume "A Competitive Fisher's Handbook" would apply to my career as a bulk tuna fisherman, and I would find a comment that points out that there is nothing related between the two as as both obvious (colloquially), and overreaching (specifically) to the point I might feel the need to counter-correct as there very well might be links between them that could help in non-obvious ways. That competitive programming and interviews share more than superficial similarities might make me even more likely to do so.
- __jal 10y agoStaying fit also helps job performance, as does public speaking. Shall we start a comprehensive list of skills and activities tangentially related to making more money?
- atemerev 10y agoActually, yes please. Can be published as a book and sold for money!
- deleted 10y ago[deleted]
- throwaway_374 10y agoSadly the proliferation of sites like HackerRank (YC funded shamefully) means competitive programming is the first "filter" stage for interviews these days.
- __jal 10y agoI actually don't mind that. The filter works both ways - it tells me the company in question is clueless about hiring tech talent, so I can ignore them.
- deleted 10y ago[deleted]
- kevinclancy 10y agoIs that sad? It's a better filter than college degrees.
- throwaway_374 10y agoSo your ability in a pressured limited-time environment come up with an O(N) dynamic programming algorithm for a fictitious scenario is a testament to your ability as a software engineer versus a competitive programmer who can pattern match scenarios?
- mciancia 10y agoBut algo questions are usually just part of the interview, not the whole thing. And usually they are fairly simple, so every good software engineer should be able to solve them.
- throwaway_374 10y agoReally, I've had an example of deriving (I didn't know what it was called at the time) Manacher's Palindromic substrings: http://www.geeksforgeeks.org/manachers-algorithm-linear-time-longest-palindromic-substring-part-1/ http://www.geeksforgeeks.org/manachers-algorithm-linear-time...
- cyorir 10y agoI can do well enough on programming challenges at a place like HackerRank. However, I very rarely actually get to the technical interview in a job application; most commonly, I apply and don't hear back from the company. So as far as I'm concerned, I need better something but that something isn't better skills.
- oblio 10y agoMore networking, possibly better networking (easy, I think). Better university name (hard to do). Better company names (not that hard, I think). (Major) Open Source contributions (not hard, but time consuming). Other studies or certifications (easy). If they're not calling you, I'd work on these.
- user5994461 10y agoYou forgot the most important. More real world experience, and a well formatted resume.
- cyorir 10y agoDefinitely all things I'd like to work on.
- webaholic 10y agoI wish this was true. If you are good at competitive programming, it is more than likely that you will be good on the whiteboard interview questions for a software developer position.
- zerr 10y agoNothing to do with the actual job but it is heavily used for interviews to get that actual job, unfortunately.
- sundvor 10y agoThis is my understanding as well. Data structures and basic algo comes up in interviews, and if you pass that's probably the last of it too. I never studied them originally, but once I realised it was a blocker to getting a new job I spent some time to learn the basics at least which truly helped a lot. It was also a bit of fun, to be honest - even though they have almost no bearing on the day to day work. So I'm interested in this book as it's a remarkably concise list of related things to learn.
- zerr 10y agoBesides basics, I've learned and forgot several times, so I don't have enough motivation nor time to re-learn again :)
- sundvor 10y agoI read you. It's funny how it blocked a couple of jobs, and it only took me a few hours to learn enough to pass the basics. I understand the need to filter, but still believe it's a crappy way of doing it.
- paulsutter 10y agoEspecially given the importance of teamwork. Competitive people tend towards tedious one-upmanship. It's something you want to screen out in the hiring process.
- poikniok 10y agoCompetitive people are often very good at working in teams, see any team sport, or team programming contests.
- paulsutter 10y agoI would choose a person who is driven to solve problems over a person who is driven to exceed others, every time. Competition is for losers.
- poikniok 10y agoOk you must love competitive programmers then, because they are very driven to solve problems :)
- cossatot 10y agoI had to compete for my job, in which I get to spend a lot of time working relatively unconstrained on scientific problems of my choosing, as long as they're quite broadly mission-oriented. I like working on questions no one else is asking and avoiding the 'a large debate exists in the community as to whether X or Y' messes that Nature loves to publish. I had to compete for my wife, who supports me and inspires me and etc. me, with few constraints (such as no others compete for our affections). I hate games of all sorts (they have rules and the fun is to remember them and play by them?). But nonetheless I realize: Competition is for organisms.
- paulsutter 10y agoElon Musk and Steve Jobs never spent time responding to competitors. VC funding is another example. Fundable companies are so rare that VCs never sit around debating whether to fund company A vs company B, it's two separate decisions. It sounds like what you treasure most about your job is that you're released from competing. Finding a relationship is about fit, and a good relationship is about the investment you make. I've never seen competing to work in any phase of a relationship.
- kyleschiller 10y agoAgree with other comments about similarity to interviews. Norvig seems to think it's a negative signal though. https://www.youtube.com/watch?v=DdmyUZCl75s https://www.youtube.com/watch?v=DdmyUZCl75s
- samuraijack 10y agoI wouldn't say he considers it a negative signal considering how he said if he had to pick someone off the street he would prefer the one who is good at programming competitions. However if you are above the bar required to get hired by google, then a higher success rate in programming competitions correlates negatively with job performance.
- rlanday 10y agoI suspect this is because if someone is hired, they were necessarily good at solving Google's interview questions, which are very similar to (easy) competitive programming questions. The fact that someone is good at competitive programming doesn't give you much further information since you already tested for that ability during the interview, and in fact may indicate that this person is spending energy studying competitive programming that they could otherwise be spending accomplishing stuff at work.
- deleted 10y ago[deleted]
- stoic 10y agoIt says right on the tin that this is meant for IOI/ICPC-style contests, whose participants are high school and undergraduate students respectively. As a former competitor in USACO, ACSL, etc., I would have loved to have resources like this around for practice and self-study back in high school.
- dsacco 10y agoBut no one mentioned those things, and the book doesn't seem to either. Why make this book about the crusade against Google's interviewing zeitgeist? For what it's worth, I work with someone who used to be (is? I think he stopped competing) red on TopCoder. He's one of the best developers I've ever worked with. I don't know about the causation there, but his development process and skill is better than most of what I've seen in many other tech companies (I say this in the context of reviewing other companies' source code for errors and getting an understanding of what their respective SDLCs look like). That's obviously a sample size of one, but I felt like saying it because I think you're really pushing it with your comment. It almost just seems like you have an axe to grind. I can agree that a good developer doesn't need to be adept at competitive programming, but it does help with understanding things like algorithms, data structures and time complexity. I think you trying to claim that competitive programming has "nothing to do with getting a better job" is just as egregious as people who only hire engineers that can produce impeccable red-black trees on a whiteboard with little preparation.
- gpawl 10y agoRelax, parent poster was simply clarifying that the 'competitive' referred to programming "sports" contests, not competing for a programming job.
- dsacco 10y agoSure, but I don't think a good faith interpretation of the title would require that sort of disclaimer, and look at the rest of the thread that resulted.
- rattray 10y agoI hadn't heard of "competitive programming" before, and at first assumed this was a post exactly about "getting a better job or a better salary" (the most likely alternative interpretation). So I was grateful for the clarification, and didn't take it as algorithm-hate.
- deleted 10y ago[deleted]
- deleted 10y ago[deleted]
- rlanday 10y agoI had been practicing competitive programming questions for several months the last time I was out interviewing for a new job, they're very relevant for both of those insofar as they help you pass interviews...
- SamReidHughes 10y agoIf you do the Google Code Jam, they might use that info to recruit you.