HackerRank Tries To Calculate Which US States Have The Best Developers (venturebeat.com)
An anonymous reader writes:
Palo Alto-based HackerRank, which offers online programmng challenges, "dug into our data of about 450,000 unique U.S. developers to uncover which states are home to the best software engineers, and which pockets of the country have the highest rate of developer growth." Examining the 24 months from 2015 through the end of 2016, they calculated the average score for each state in eight programming-related domains. (Algorithms, data structures, functional programming, math, Java, Ruby, C++, and Python.) But it seems like low-population states would have fewer people taking the tests, meaning a disproportionate number of motivated and knowledgeable test takers could drastically skew the results. Sure enough, Wyoming -- with a population of just 584,153 -- has the smallest population of any U.S. state, but the site's second-highest average score, and the top score in three subject domains -- Ruby, data structures, and algorithms. And the District of Columbia -- population 681,170 -- has the highest average score for functional programming.
California, New York and Virginia still had the highest number of developers using the site, while Alaska, Wyoming and South Dakota not surprisingly had the least number of developers. But maybe the real take-away is that programmers are now becoming more distributed. HackerRank's announcement notes that the site "found growing developer communities and skilled developers all across the country. Previously, the highest concentrations of developers did not stray far from the tech hubs in California. Hawaii, Colorado, Virginia, and Nevada demonstrated the fastest growth in terms of developer activity on the HackerRank platform..." In addition, "we've had a noticeable uptick in customers across industries, from healthcare to retail and finance, with strong demand for identifying technical skills quickly."
Their conclucion? "Today, as the demand for developers goes beyond technology and as there is more opportunity to work remotely, there's a more distributed workforce of skilled developers across the nation, from the Rust Belt to the East Coast... Software developers aren't just attached to VCs, startups or Silicon Valley anymore."
California, New York and Virginia still had the highest number of developers using the site, while Alaska, Wyoming and South Dakota not surprisingly had the least number of developers. But maybe the real take-away is that programmers are now becoming more distributed. HackerRank's announcement notes that the site "found growing developer communities and skilled developers all across the country. Previously, the highest concentrations of developers did not stray far from the tech hubs in California. Hawaii, Colorado, Virginia, and Nevada demonstrated the fastest growth in terms of developer activity on the HackerRank platform..." In addition, "we've had a noticeable uptick in customers across industries, from healthcare to retail and finance, with strong demand for identifying technical skills quickly."
Their conclucion? "Today, as the demand for developers goes beyond technology and as there is more opportunity to work remotely, there's a more distributed workforce of skilled developers across the nation, from the Rust Belt to the East Coast... Software developers aren't just attached to VCs, startups or Silicon Valley anymore."
The best developers all attended the tremendous Trump Iniversity. If that's not on your resume, don't even *think* about applying to work at my company.
Hackerrank can't measure the best developers because the best developers don't waste time on hackerrank.
Furthermore, even if we assume that some of the best developers do spend time on hackerrank, the questions that hackerrank provides don't measure developer skill particularly well. A lot of them are more like tutorials.
"First they came for the slanderers and i said nothing."
In California it is possible to get paid even if you're incompetent. It draws the Java programmers here like flies to shit.
The one with most Indians.
...gis sdrawkcab (usually not responding to ACs; don't bother posting as AC)
Garbage in, Garbage out.
East Coast.
Second and third generation trusted CIA, NSA, FBI, Army staff.
Some good US education centres still based on merit.
Near the NAS, CIA for winning big contracts and secure face to face meetings.
A few more ms closer to France than from CA to France.
The access to the more direct EU/US communications links.
Near the all the interesting embassies. Diplomatic, banking and UN areas of the east coast.
CA is more the science and consumer hardware design centre of the USA.
Domestic spying is now "Benign Information Gathering"
It's a pity that "Araksas" came in 34th. Poor Araksas.
SIG FAULT: Post index out of bounds.
Correction: 39th
SIG FAULT: Post index out of bounds.
Proper abstraction can actually help efficiency, e.g.: the templated c++ sort is a lot faster than the C qsort function because the compiler can optimize the code for each datatype and inline the compare function, while the C qsort has to use indirect calls to the compare function via function pointers and can't do static optimizations based on things such as size of the elements.
Efficiency is also often a question of using a proper algorithm. Most of the time that O(n) DP-algorithm coded in Python is going to be much faster than a O(2^n) bruteforce algorithm handcoded in assembly.
Jan
In the most popular challenges in Hackerrank speed is not an issue. You only need to be a speed champion if you are competing for the top 5% or so. Otherwise speed is not an issue but figuring out the right algorithm and being able to write it down without making tons of mistakes that require long debug sessions. Taking your time to think properly about the problem and then carefully writing correct code is actually the way to go, as debugging can easily use a lot more time than coding itself. Many of the easier tasks are just a few lines of code in C++, Python or Java without any code golfing.
Jan
I disagree. That someone is doing well in competitive programming (CP) type of questions does not tell you that that person is a good programmer. However, it also doesn't measure pointless stuff and proper knowledge of data structures and algorithms is a skill every good developer should have. CS101 can sometimes be pointless because many people cannot transfer this knowledge to any other problem. Just being able to tell that Quicksort is average O(nlog n) and worst-case O(n^2) is not useful if that doesn't mean anything to you. A bigger CPUs is not going to fix that O(n^3) algorithm that worked fine when the developer unit tested it with 10 elements, but somehow struggles when trying to run it on 100k elements in the production system.
Jan
Because qsort is the only possible sort algorithm in C...
Except that I bring down the average. A lot.
Then I make a shit load of money cleaning up their mess.
That's the very first lesson I learned when I started working in IT Support. If you're the guy who loves to clean up messes, there's always work to be done.
Hackerrank can't measure the best developers because the best developers don't waste time on hackerrank.
This is an insupportable statement.
the questions that hackerrank provides don't measure developer skill particularly well. A lot of them are more like tutorials.
And a lot of them are tricky dynamic programming problems with constraints designed to force you to find the correct algorithmic solution because any other will murder your CPU. I mean, perhaps you could sketch out a solution for this one? I was having a bit of a tough time finding the efficient solution, personally.
The simpler problems are of course far more tedious but I think it's probably not a bad way to pick up a functional programming language or two.
The more I read your post, the more silly I find it. You seem to be either unaware that there are difficult problems on this site, or you seem to doubt that other people can come up with hard programming challenges. Or, if you do not find any programming problems to be challenging, you must admit that it's possible to design challenges for lesser mortals. I may be singling myself out as the chaff rather than the wheat by saying so, but I disagree that HackerRank does not provide a reasonable measure of programming aptitude. However, even assuming that HackerRank is a terrible measure -- what better one did you have in mind?
Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
That's when you write some really hacky code but it's okay because somebody else signed off on it.
You should be able to implement something easy in 30 minutes even in an interview situation. And most Hackerrank are not about implementing linked lists or trees, but actually using data structures such as trees or hashes, so its perfectly fine to use the data structures (and algorithms) included the standard libraries of C++, Java or Python. Take something such as Marc's Cakewalk. It easily can be implemented using a few lines of code (e.g.: 10 lines of non-golfed python). It shows if you are able to spot the trivial greedy algorithm and are somehow able to sort a small amount of numbers, but the number is so small that even bubblesort would work well.
Jan