Live data from Hacker News

A Competitive Programmer's Handbook

cses.fi

141–150 of 171 posts

Re: A Competitive Programmer's Handbook

#141
post #74
post #51

Earlier quoted context omitted.

I 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.

More 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.

You forgot the most important. More real world experience, and a well formatted resume.

Re: A Competitive Programmer's Handbook

#142

Earlier quoted context omitted.

So 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?

But 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.

Really, 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...

Re: A Competitive Programmer's Handbook

#143
post #123
post #100

Earlier quoted context omitted.

From my experience i'd rather work with programmers with strong CS skills. They put out better code

being good at physics doesnt help you jump higher. its good to know theory, but to be good at something you need practice.

True, but being good at physics helps you build a better airplane.

And I'd argue programming is closer to building an airplane than it is to the almost innate skill of jumping.

Re: A Competitive Programmer's Handbook

#144
post #69
post #55

Earlier quoted context omitted.

I'd love it if there were more opportunities from companies like HackerRank. It's other "filters" that I'm worried about; companies that filter out degree-less candidates, companies that filter out depressed candidates, companies that filter out transgender candidates, etc.

Do you have links to any articles about these practices?

First, I should warn you that I'm no expert! I'm not the most informed or up-to-date about discrimination in hiring. However, I'll try to provide some helpful links.

First, depression. The correlation between unemployment and depression has been studied since at least the 1980's. One issue that has been considered but never completely explained is the "direction of causality." In other words, does unemployment cause depression, or are depressed people more likely to be left unemployed? Some articles suggest the former, while others suggest the latter; it may well be that both are true. From what I've seen, much of the research focuses on the impact of unemployment on mental health. Here's a Forbes article which is a bit more approachable:

https://www.forbes.com/sites/susanadams/2014/06/09/how-unemp...

If you'd like, you could dive into some of the relevant research articles yourself. Here are a couple articles I found that may be relevant:

https://link.springer.com/article/10.1007/s00420-016-1178-7

https://www.cambridge.org/core/journals/psychological-medici...

http://neuro.psychiatryonline.org/doi/abs/10.1176/appi.neuro...

http://ps.psychiatryonline.org/doi/full/10.1176/appi.ps.55.1...

https://academic.oup.com/ije/article/28/1/95/777542/Unemploy...

There are probably better sources out there, but as I said, I'm no expert and I'm not up-to-date on the research!

There are several challenges facing research into the relationship between unemployment and depression. For one thing, depression can have a number of other causes, and associated risk factors. It can be hard to pick apart the causes from employment status. Another issue is gathering data. Many companies here in the US will ask for voluntary self-identification when a candidate applies; often, however, depression is considered to be in the same category as other disabilities so that it's impossible to pick apart the rate of depression among candidates from the rate of disability among candidates. Another issue that applicants may decline to self-identify. Some companies are better than others at gathering data about depression among workers, and trying to help those employees.

Next, transgender. Here, the research is less well-developed. The transgender population is rather small, so data-gathering hasn't been a high priority until recently. Most data comes from survey of transgender individuals rather than from employers. There may be some inherent bias as a result, but at the moment it's really the best data we have. I'll point you to the National Transgender Discrimination Survey, which was released in 2016 based on data gathered in 2015:

http://www.transequality.org/sites/default/files/docs/resour...

The report is rather long, but it had several important findings: 1) Transgender employees have double the rate of unemployment as the average. 2) 26% reported being fired due to their gender identity. 3) 90% reported harassment at work. 4) The effects compounded with other factors such as race or poverty.

It's worth noting that many states in the US offer no or few protections against LGBT employment discrimination. Here's a map to show how protections differ across states:

https://en.wikipedia.org/wiki/LGBT_employment_discrimination...

I won't touch the degree issue; it's been discussed plenty elsewhere on hacker news, and there's still the mentality that candidates with degrees are better than candidates without.

Re: A Competitive Programmer's Handbook

#145
I really like this. I don't like how you handle array indices though. The book is written in C++, yet you initialize all arrays where the first element is at index 1, which makes things really confusing, or at least annoying to think about when converting from your text to an IDE.

Re: A Competitive Programmer's Handbook

#146
post #55

Earlier quoted context omitted.

I'd love it if there were more opportunities from companies like HackerRank. It's other "filters" that I'm worried about; companies that filter out degree-less candidates, companies that filter out depressed candidates, companies that filter out transgender candidates, etc.

>>degree-less candidates, companies that filter out depressed candidates, companies that filter out transgender candidates, etc. Sorry, these are completely different things and frankly sounds like nonsense.

Would you say that there is no discrimination along these lines, and that most companies aren't biased against, say, transgender candidates when making hiring decisions? I'm just curious.

Re: A Competitive Programmer's Handbook

#147

Positive correlation between Competitive Programmer’s Handbook and software engineer interviews? Yes. Positive correlation between being a strong competitive programmer and a strong software engineer? Doubtful.

Being good at programming competitions correlates negatively with being good on the job - Peter Norvig http://www.catonmat.net/blog/programming-competitions-work-p...

This has been circulated around HN and Reddit several times, and it's disappointing that someone of Norvig's stature would present the data in such a misleading way.

Here's a good explanation posted by "tedsanders" the last time this came up on HN:

""" All of these claims from Google that say competition performance hurts or that GPA doesn't matter are missing one huge thing: selection bias.

Google only sees the performance of the employees that it hires, not the performance of the employees that it doesn't hire. Because of this, the data they analyze is statistically biased: all data is conditioned on being employed by Google. So when Google says things like "GPA is not correlated with job performance" what you should hear is "Given that you were hired by Google, GPA is not correlated with job performance."

In general, when you have some thresholding selection, it will cause artificial negative correlations to show up. Here's a very simple example that I hope illustrates the point: Imagine a world where high school students take only two classes, English and Math, and they receive one of two grades, A or B. Now imagine a college that admits students with at least one A (AB, BA, or AA) and that rejects everyone without an A (BB). Now imagine that there is absolutely zero correlation between Math and English - performance on one is totally independent of the other. However, when the college looks at their data, they will nonetheless see a stark anticorrelation between Math and English grades (because everyone who has a B in one subject always has an A in the other subject, simply because all the BBs are missing from their dataset).

When Google says that programming competitions are negatively correlated with performance and GPA is uncorrelated with performance, what that likely means is that Google's hiring overvalues programming competitions and fairly values GPA. """

I've also heard people involved in Google's Code Jam competition say that Norvig's study was done a long time ago, and no longer really applies.

Re: A Competitive Programmer's Handbook

#148

Positive correlation between Competitive Programmer’s Handbook and software engineer interviews? Yes. Positive correlation between being a strong competitive programmer and a strong software engineer? Doubtful.

Being good at programming competitions correlates negatively with being good on the job - Peter Norvig http://www.catonmat.net/blog/programming-competitions-work-p...

[deleted]

Re: A Competitive Programmer's Handbook

#149

Positive correlation between Competitive Programmer’s Handbook and software engineer interviews? Yes. Positive correlation between being a strong competitive programmer and a strong software engineer? Doubtful.

Being good at programming competitions correlates negatively with being good on the job - Peter Norvig http://www.catonmat.net/blog/programming-competitions-work-p...

[deleted]

Re: A Competitive Programmer's Handbook

#150

Positive correlation between Competitive Programmer’s Handbook and software engineer interviews? Yes. Positive correlation between being a strong competitive programmer and a strong software engineer? Doubtful.

Your second assumption is only valid for people who conflate the two disciplines. If you don't recognize that competitive programming and software engineers have completely different goals and requirements, then being trained in competitive programming may very well lead you to bad programming practices - e.g. single-letter names are usually fine for competitions, while at the same time usually horrible for engineering.

However, if you recognize the differences and use the skills you learn in the two as complementary, you can be better at both.

Post reply on HN