skysight-inc/HackerNews huggingface dataset:
> Wouldn't there be people willing to work less than the going rate (which is far above a living wage), wouldn't the going rate be dropping?

Possibly, except that there are a lot of pressures on people to move out of programming. Some examples: folks over 35 aren't welcome a lot of places; financial incentives often push programmers out of programming into e.g. project management. So you have a lot of people constantly leaving the field, somewhat by the design of the roles offered.

Oh, and every programmer is reading HN trying to figure out how to start their own gig. Higher wages and other job fixes (e.g. security, status, professionalism) might bring a lot of these people back into the recruiting pool.
A shortage occurs whenever quantity demanded is greater than quantity supply at the market price. More people are willing and able to buy the good at the current price than what is currently available. When a shortage exists, the market is in disequilibrium.

Over time, the good will be replenished and the shortage condition resolved.
I was hoping this would come. I saw the Marathon support for Docker and I was wondering when Cronos would land.
Yes, you've been lucky.

Most of the software we use hasn't existed long enough for real specialization. Hell, there are still people who were alive before software existed.

If you ask me, the real problem was whatever legal technicalities allowed vendors to create certification programs for "experts" using their own software.
The real problem is that to compete in today's world, your website:

1. Needs to have great design
2. Needs to be rock-solid in terms of stability
3. Needs to be snappy to use
4. Needs to be able to handle a Reddit traffic swarm
5. Needs to have individualization and customization
6. Needs to play nicely on computers, tablets, and phones

The person (or people, more likely) who is good at all of this just isn't available at rates the companies want to pay. This is the important distinction. Hiring somebody for 100k/yr is pretty much the minimum ante for a good developer in a tech city. But these "entrepreneurs" and "founders" think that is too much money, and instead claim there's a shortage.

In reality, if you're competing for top talent, 150k/yr should be your ante, and be prepared to go well into the 200s. This shouldn't be a surprise. To get even average talent from a consulting/contracting company, you're paying about 125/hr (of which 60-70 goes to the developer). That's 250k/yr. So why are companies freaking out at paying over 100k/yr for a full-time person who they can invest in? Hell, cut out the contractors and pay your people 200k/yr, and watch the good people come talk to you.

This is what Amazon and the like are doing now. I'm hearing 22 year old kids who haven't coed a line of code in a professional capacity, getting offers of 120k/yr with a 20k signing bonus. Netflix pays a significant chunk of its engineers over 200k.

The only real problem is that it's getting more expensive to do business in a tech world. But compare the skill sets that used to draw 100k/yr, and the skill sets now required to get 145k/yr (100k/yr in 1998 dollars = 144k in 2014 dollars). Before, you could just know HTML and some shell scripting. Now, you need to know multiple frameworks, how to deal with scalability, multiple data stores, "full stack," etc.

If anything, the good talent in this industry is still dramatically under-paid. A common metric is that the company should make from you about 7x your salary to justify your position. So if a company is making 2.1 million, you should be getting 300k. But we all know that's not what's happening. Instead, our wages are being capped and forced down due to illegal collusion between the top tech employers.

This all comes down to the people who own the businesses wanting to treat tech people as interchangeable cogs, despite all the evidence to the contrary.
(upstream arm-soc kernel maintainer here :)

It's not really about anything Android-specific that's in the "android kernel", it's about all the other code that's needed for a platform to run well.

The main problem is that besides the base kernel, most mobile platforms require a lot of code that hasn't been upstreamed. In some cases, "hasn't yet", in some cases "probably never will be" -- it depends on the vendor involved if they have any such ambitions.

Most of this is drivers of various kind. Some vendors are better than others at upstreaming them and the other pieces that are needed, but nearly none of them have upstreamed sufficient amount of power management to make a real device useful and have reasonable battery life. There's also usually drivers missing for modems, etc.

And, of course, graphics is a very sore topic in this area -- no vendor today ships a phone that uses an open graphics base. Ironically enough, Nvidia is the vendor that has done best here, with work happening in the open on their DRM drivers (but no products have shipped with those drivers at this time).

The vendors that have done best are normally those who have more embedded-type platforms and not primarily mobile phone chipsets. By the time upstreaming of a mobile platform is done, the next generation is already out and nobody will build new products with the old one. It _does_ get better over time as more and more share code goes in, but most vendors have enough of a backlog that they don't see those benefits yet and as a result don't prioritize it as high as I wish they would.

Then there is of course some vendors who don't participate at all, or does very very little. The Chinese manufacturers used to be notorious here, but even some of them have started doing better as of late (Rockchip in particular, but MediaTek has started posting some patches too).

The vendor that traditionally has done best is TI, but they've gotten out of the mobile business. ST-Ericsson was making a good attempt too, and they also got out of it. Nvidia has actually been really good at working upstream on their 32-bit Tegra support, it's unfortunate that it's taken them this long to get going on the 64-bit support upstream.
An interesting related tidbit was that the BCD implementation was the only part of the 6502 that MOS patented. As you could not copyright an IC mask at the time, Nintendo/Ricoh were able to clone the 6502 without paying license fees simply by cutting the traces to that part of the chip. (Ricoh was a licensed second source for the 6502. I imagine Commodore was not happy with them after that...)
About 10 yrs ago we were interviewing candidates for a C# position. 10 mins. into it, Gandalf (the Grey) sitting in front of me was nonchalantly knocking answers out of the park in an as Gentlemanly manner as possible. I was done with about 15 mins. to spare and he filled in the gap as he talked about his experience with Multics! In passing, the candidate had mentioned that he kept 10 min. logs of everything he did as a productivity tool. This got blown up into possible OCD issues by the team lead and hiring manager and Gandalf got denied. The reason given was that he was not a "culture fit". In reality, the team lead was an insecure egomaniac and the hiring manager deferred to the lead (it was his team). So it would be great if you could drill down the "culture fit" rejections to something very specific.
Australia's immigration policies appears to be lot more open than America's. As long as you have certifiable skills, and have stayed here the mandatory amount of time, you are almost guaranteed a permanent residency, after which point you are almost guaranteed a citizenship.
Asked my first IE question there - got downvotes with "it's not an IE support page" comment
Did he file a bug report?
I assume you mean JavaScript and one of Node, Go, RoR, etc. as a server-side language. If you mean the subset of engineers who are proficient in all of those, then that's a pretty small set, but I assume you don't.

What is your standard for a mid-level engineer, and what would their salary range be?

If I were to introduce you to some mid-level or upper-level talent, would you pay typical recruiting fees plus provide some employment security to my associates who pass your hiring process? Some startups have high turnover and I wouldn't want to damage their career if you change your mind after hiring them.
So, I'm going to assume we're talking about a real condition here. This is because that's the first thing you can do: believe your friend when he tells you he's sick. He probably has doctors, family members, and peers constantly not believing him. Just having someone not question it can help a lot.

Second, you can't force him to change his life around. If someone honestly believes something beyond their capacity (physical or mental), you're not going to be able to coax, reason, berate, intimidate, or threaten them into doing it. What you can do is inspire them. Give them a reason to wake up just a little sooner, like a shared activity that you both enjoy. "Let's have a match of <X game> before I go to bed tomorrow", or maybe "I'm making X for dinner, I'll make extra for you if you're up". Try something like that.

Small steps are best to start with. Trying to force someone in a big step will probably cause a panic reaction. A confrontational approach will probably do the same thing. A panic reaction is not what you want.
Microsoft takes out spammers.

- http://www.bbc.com/news/technology-12772319

- http://money.cnn.com/2012/03/26/technology/microsoft-raid/

- http://www.allspammedup.com/2013/06/microsoft-and-fbi-take-d...

Facebook sues spammers:

- http://www.theverge.com/2014/10/3/6901293/facebook-has-sued-...
I weakly agree, having been frustrated by both sides of the issue.
So, basically you are saying you want to be the less-experienced dev, but not work with them. I think the prevalence of this attitude is a key part of the problem.
APIs.io – the API search engine
Thanks, I haven't seen that syntax before.
> maybe the problems I've been working on aren't as hard as they seem.

Most likely this. When you have a horizontally sharded MySQL database that spans multiple datacenters - managing replication, failover and scaling out is not something you would expect most developers to be able to handle.

Let alone fine-tuning various kernel parameters, in depth monitoring and other performance tunings.

EDIT: Sure most experienced developers would have a high level and abstract idea about various things that may be outta whack - but it takes some one with expertise in the field to go beyond guesses.
90% gone after a year? Are you capable of exercising at mostly regular capacity or computer-ing all day now? I need some sources of hope :o

I had 5/10 doses of ciprofloxacin and I seem to be having mad difficulties (3 months in).
The exact opposite would happen.

If there is a tech labour shortage, that is to say, too many jobs and not enough employees to meet those jobs, then we expect the price of labour to rise until enough people are incentivized to work. Think the logic behind Uber surge pricing

If there are too many jobs and not enough employees, then you would not at all expect people to be willing to work less than the going rate.

Additionally, you would expect the price to rise first, as the most productive/profitable firms can pay a higher salary and still make money. You would expect the price to rise until a) Less profitable companies stop looking for labour because they won't make money on it; and b) enough extra people, motivated by riches, enter the job market.

The fact that there seems to be chronically unfilled positions at every tech company I've ever seen, would predict that salaries should rise until they're filled. But they don't. We can make a few hypotheses about why this is. For funsies, here's some:

1) Government immigration caps. There is plenty of developer supply out there.... outside the borders. We aren't letting enough of them in

2) Greedy corporations. They simply don't want to raise salaries, because they're soulless MBABots.

3) Skills gap. As many people are pointing out in this thread: Most journalists' treatments of "Silicon Valley worker shortage" seems to be of the formula "There are X unfilled jobs at software companies. There are Y citizens in the United States with certifications A, B, and C. NOW KISS". And yet this is pretty simplistic. Perhaps there is an abundance of (say) people able to do grunt-level IT work, but skilled software architects are in short supply

4) The B Word. Maybe all of these startups and brand name tech companies are unprofitable, and only surviving on investor storytime. Maybe they legitimately can't afford to pay developers more. Maybe we're all going to be out of jobs in a year or two

5) Location gap: maybe there's plenty of talented engineers elsewhere, and they can't or won't relocate to California.
I'm sorry, I don't understand this statement.
> More people are willing and able to buy the good at the current price than what is currently available. When a shortage exists, the market is in disequilibrium.

My argument was that in this situation the price should rise, reducing demand.
Why would you waste the time of mid-to-senior level developers on managing MySQL databases?

Managing databases is an operational overhead. You want to minimize expenditure on it. Developers create IP. You want to maximize investment into that.
Also, you cannot get a visa if you intend to stay permanently. They make you recite it at the border "I am not coming to the US permanently"
That makes sense.

If I click from a normal tab I don't see a captcha, but I click from a privacy tab I do.
I had actually forgotten about that from the last time I used phabricator, thanks. Alas, this time a lot of my frustration is born of the fact that I'm actually working on something where the upstream is an svn repo, where I'm using git-svn with it. It's kind of a perfect storm of not very good tool interop, but I've made it work somehow.

I'd still rather be using PRs though.
>Speaking at the PTA? Better hope one of your "neighbors" doesn't decide it's politically convenient to crucify you as having said something Wrong and put it on your Permanent Record.

I know petty things happen when nothing is on the line, but your idea of the average PTA is ludicrous. There is no permanent record; People forget even controversial ideas quickly in such a situation. You have to act like a total douchebag to make a permanent negative impression on something like a PTA.
The fin-tech industry is threatening traditional stock brokers
Sure, but in the US economy you can always get more "worker utils" by just paying more money. If you can't do that or you don't want to, then it's tautologically not worth it to you, so why do you want to hire them in the first place?
When you say that there are drivers missing, does this go as far as GPL violations? Or is it not quite as toxic as that?

Also, what is the situation like with regard to figuring out what has been changed in a vendor-supplied kernel vs. a generic kernel source tree? Is it reasonably straightforward to get a clean diff so you can see what was changed? Non-upstreamed hacks and bodges seem less terrible to me if it's possible to at least see how they work.
And then a more advanced dev might say the same of you.

People should come first. Everyone has to start from the beginning at some point.
Totally agree. All these interviewers ask all sorts of questions and then want to pay you only 120k.
Meaningful discussion in class is impossible if huge chunks of the class aren't paying attention. It's not a problem in 500 student classes, but the 20-odd ones it is.
Since the results of science have no intrinsic meaning at this point in time (nor do they say anything utterly conclusive about what really exists at the lowest level of ontology), we still need something else.

Could you elaborate on what you mean by "intrinsic" in this context? Also, does there have to be an absolute lowest level of anything?
DHTML Lemmings in JavaScript (2004)
I've had some rather amazing opportunities that came without a salary range in the initial email. Using that as the primary factor is surely suboptimal.
I'd argue that it is rising - in the form of code schools and accelerators. But, as others have pointed out here, that is feeding dev talent into startups, it isn't fixing the lack of IT talent fed into corporate America. Corporate America reaped what it sowed on that though. And, really these code schools are producing supply, but not necessarily quality.
The problem is that the supply curve is essentially vertical in the short-to-medium term. So even if companies are willing to pay more (trust me, many are, even if it's not quite as high as I think it should be), they won't necessarily get more workers.

Also, this is compounded by the shortage being of senior/experienced developers. As a hiring manager, I get dozens of resumes from new college & bootcamp grads every day. But we're not hiring fresh grads—we're looking to hire a few excellent senior developers, and they come along once in a blue moon.

It'll probably take at least 10 years for domestic supply to catch up to domestic demand (I estimate it takes at least 10 years of development to become a senior dev). So even as pricing signals push more students to study CS, the supply won't catch up for another 10 years or so.

So in the interim the only solution is to import foreign supply.
It's not so much that the developer wouldn't eventually figure it out, but more that the sysop would already know how to do it, saving time (and errors).
Ask HN: What happened to Sony Pictures?
I'm a serious advocate of open access, but it should be noted that money which is otherwise ear-marked for research is now being poured into the publishing industry in the form of author fees. The last article that I published cost nearly $2000.
Very interesting and detailed post

Since upgrading to Yosemite, I've effectively had to stop using Airdrop, as it is now completely unreliable.

The sooner this is sorted, the better.
RANKED: The Highest-Paying Programming Languages – Yahoo India Finance
>>>> And yet, isn't one of the premiere goals of science, at least of the sort aiming at ontology, i.e. physics, to formulate a "Theory of Everything"? In other words, one idea to rule them all?

Perhaps a more humble way to describe the pursuit of "theory of everything" is simply to uncover and reconcile contradictions and compromises between the theories that we've already got. The one that comes to mind is between quantum mechanics and gravity. So far as I understand what's going on, the term "theory of everything" is limited to that specific context.
Not necessarily GPL violations (there are cases of those too, but the bulk of it is not). It's just a matter of nobody having cleaned up the drivers enough to get them submitted for upstream inclusion. It can be quite a bit of work to do, and the next generation of product is sitting there waiting on the same people to make that work instead.

You can usually download and diff the source tarballs. Some vendors keep git repos so you can see changelogs as well. There's usually a lot of noise in there though, lots of various imported vendor drivers that duplicate things, firmware files in hexdump format, etc. It's pretty common to see diffs of millions of lines.
It Ain’t Easy Making Money in Open Source:  Thoughts on the Hortonworks S-1
Given the ridiculous technical and interview "requirements" that have been part of tech for the last several years I'm inclined to have as much sympathy for your statement as I do for companies complaining about tech worker shortage. Companies want ridiculous breadth of expertise (the ubiquitous "alphabet soup" listing of technologies), graduate level understanding of often irrelevant and unrelated algorithms and data structures, and a host of other absurdities for things like putting together a damn online shopping cart or, worse, a to-do list.
Just starting this now, but I thought I'd throw in- I've come to believe engineering has a significant creative element, when you let your mind free and seek to solve things in completely new ways. I'm excited to see if that is the kind of thing this book is talking about; it's not certain from the description.
It was explicitly a "sort of 6800". Chuck Peddle was on the 6800 design team, and so was his co-designer for the 6502 - Bill Mensch - and Rod Ogill that did the 6501.

Peddle tried to sell Motorola on making a cost reduced version. When Motorola refused to let him work on a cheap version, he left to do the 65xx.

Their first model - the 6501 - was designed to be pin compatible with the 6800, and resulted in a lawsuit from Motorola that almost bankrupted MOS.
Thanks for all the evidence, but Microsoft's primary revenue stream isn't advertising, and Facebook is getting success by suing spammers that commit fraud against Facebook.
Simplicity in Software Engineering
It's pretty telling that in the 20+ years that the Internet has gone mainstream, web companies still haven't found a business model that generates as much revenue as advertising - a lesson that old media learned a long time ago. It boils down to the problem that Internet users are conditioned to expect services for free, and advertising appears to be the only way to provide sustainable "free" services.
Interesting. If I may ask, what alternate routes did you take to counter spam without resorting to CAPTCHAs?
I'll say what you can't say. Writing 400 pages to fight rigor mortis (analysis by paralysis) is helpful. But this material won't reach as wide an audience unless it's summarized down to 4 pages.
It makes the JPEG artifacting around the edges highly visible, though. They didn't really have macroblocks in WWII.
Thanks for the heads up, this is the kind of advice I was seeking!
There's one easy fix for this, and several other problems with SO: Don't close duplicate questions. Just cross-reference them.

Reasons:

- Gets rid of the "This was closed because of trigger-happy
moderators failing to distinguish between 'similar' and
'identical'" problem by making that situation impossible.

- Improves answer discovery for users: If Google gets you
to almost, but not quite, the right question,
cross-referencing gets you the rest of the way.

- Improves answer discovery for users: Maybe the best answer
today isn't the same as the best answer 5 years ago.

- Improves gamification: Rewards are the lifeblood of
a site like Stack Overflow. A way of dealing with
duplicate questions that rewards users for
cross-referencing them is infinitely more in line with
SE's basic idea than one that punishes them with
public shaming.

- Reduces opportunity for petty bureaucrats to take root.

- Represents a more thoughtful, measured way of thinking
about software engineering. Many questions really can
have more than one correct answer, or the correct answer
can depend on subtle details. Which answer gets the
green check mark may have as much to do with the situation
of the asker than the quality of the answer.
> ...because I am political only one day of the year (or 2, depending), the day I vote, I do not feel oppressed.

You do not feel oppressed until you are the target of political oppression or personal persecution. Then you will likely understand why many folks are just as or more concerned about pervasive data collection than they are about random violent crazies or unfortunate events.

> The genie is out of the bottle.

The genie is out. However, -if we work at- it we do get to control how it behaves. (Remember reading about how the "mandatory quartering of troops" genie had been let out of the bottle ages ago in English territories? Do you also remember how the American Rebels muzzled that particular genie in their country?)
Google used to have this simple gviz charting device that would take data in urls and return pngs of charts.
Thanks, maybe it's time to start playing with those languages. And yes, I have been learning first hand how difficult it is to make a general purpose language, I'm at the part where I believe I have enough of a blueprint that it will work, and that I will be able to succeed given a couple years, but I am also staring that complexity in the face each night and seeing how huge this task is :) Thanks for your advice!