skysight-inc/HackerNews huggingface dataset:
Well my education is in economics and, in general, the way to solve a 'shortage' in labour is to raise wages.

Of course, what they're really talking about is a shortage in engineers willing to do the job at the price they've specified, so they lobby the government to open up immigration to workers from abroad willing to work for less, while at the same time trying to push more and more kids into CS, so that the market will be over-saturated with workers and they'll be able to drive wages down to blue-collar levels...

Edit - guess I should answer the article more directly. There isn't a tech skills shortage. There's lots of tech workers. I personally know a bunch who are unemployed or in other fields. This article has yet more data on it. But the shortage is a useful scapegoat for the practices I described above.
That was just one of the more succinct sources I could find at the time. Here is an article from the Washington Post which details the subsequent lawsuit against the police department (which they lost).

https://www.washingtonpost.com/news/the-watch/wp/2015/12/28/...
This is discrimination.

They should bar all academics, not just the foreign ones!
What are your thoughts on Thumbtack?
It does like contrast! Hm, the score change is sufficiently low to be within the error bars I'd say.
I agree that the upped clarity is less beautiful, but it adds a nice touch of sharpness which Keegan likes a lot as well!
So you're right about that, and I thought the same right after I posted. There is of course a scale here. Taking academic scientific research and turning it into something real is a far cry for changing e.g. an array to a hash table to improve lookup speed.
I don't think the standards are lower (certainly they weren't at Princeton) -- University standards may not perfectly align with the job market, perhaps?
Elon Musk doesn't even have a proof-of-concept for how we can set up a sustainable, closed biosphere-in-a-bubble on Earth - let alone Mars.

If he wants to put people on Mars in 8 years, this should have been a top priority a decade ago.
Netflix doesn't really "own" their originals. All the Marvel stuff is still owned by Disney, they just have exclusive rights to distribute.

Also, from a technology perspective, it would actually be really hard to remove the DRM from just their own stuff.

The delivery and encoding pipelines are all standardized around the DRM requirements. It would require a whole bunch of exceptions to remove the DRM just from certain content, on both the server and client side.
Well done :p There are 17 hidden achievements with multiple thematic ones like this!
It never really appealed only to a small crowd - that's the point of 'feeling special'.

In a country of 300M people (leaving aside international visitors), let's not pretend that only one hundred people (early 90s) or even the mid 90s 8,000 attendance are the only people to whom the idea appealed.

Popularity, and prominence are distinct, and tangential from these complaints.
You have no idea what you're talking about. So much of the HN crowd wants so desperately to believe that what they do is meaningful and difficult, but in reality 90% of it is just trivial web dev BS that will be irrelevant in a few years. There is real engineering happening out there, but believe what you like.
Well, I learned to code in order to do bioinformatics. I didn't start out as a programmer looking to specialize.

I agree that it seems that programming + X is often a much more powerful combination than programming or X alone. But I would say to anyone starting out that it is better to head towards, and get the formal qualifications for X, and learn programming on the side (or if in college, get the major in X and a minor in CS).

The reasons are that programming is relatively easy to learn outside of classes, and programming itself really doesn't require formal qualifications.

For me, biology has been orders of magnitude harder to learn than coding. With coding, you can learn by doing, and you get immediate feedback from the compiler/interpreter. Not so with biology. You can be mistaken for weeks/months/years and never realize it until you read just the right article. And often, domain-specific knowledge like biology seems to be composed of thousands of tiny details without too many general principles, whereas if you learn a few basic principles for programming, you can learn pretty much any new language or framework easily.

I don't know if this is generally true of all specializations, but if so, it would behoove someone to get started on learning the specialization-related information ASAP, because that will take much longer to reach proficiency than for programming.
Yammer (Microsoft) | Redmond, WA | Onsite | Full-Time | Variety of positions

Yammer is looking for awesome engineers to join the team in Redmond, WA located in the Puget Sound region and close to Seattle. Send your résumé to brida @ microsoft.com or apply at one of the URLs below.

About Yammer:- At Yammer, our mission is to change the way people work, and that mission starts with us. We use our own product every day to promote and encourage our culture of openness and transparency. Yammer provides each user with a voice, empowering individuals to share ideas, ask questions, and voice concerns. We're passionate about building a great product that people love to use, and we're always on the lookout for similarly product-minded engineers to join us. Our engineers work on rich, complex problems. At Yammer, engineers don't just get handed specs and mocks to build -- we work in an iterative and collaborative way with Product and Design to create the best possible user experience. So, we need people who are enthusiastic, who ask great questions, who have strong opinions but aren't afraid to admit when they're wrong, and who enjoy collaborating with a cross-functional team. At Yammer, we hire smart people, expect them to learn and grow, and trust them to make day-to-day decisions. We care most about creating products people love - to enable that, we move quickly (pushing code to production at least daily), we iterate, and we value learning over shipping features.

Software Engineer II
* https://aka.ms/yam/oct-2016-sde2-0
* https://aka.ms/yam/oct-2016-sde2-1

Production Engineer
* https://aka.ms/yam/oct-2016/prodeng

Frontend Engineer
* https://aka.ms/yam/oct-2016/frontend-0
* https://aka.ms/yam/oct-2016/frontend-1

keywords:- React, JS, JavaScript, HTML, Backbone, ES6, Redux, TypeScript, Ruby, Rails, Java, Postgres, REST Apis, Docker, Azure
Well you know the pee is coming from 1 of 3 (or maybe all 3) guys. You just threaten to kick them all out if they don't figure out which one is doing it.

This is a serious problem and it should be treated with serious consequences.
Pay attention, if you are not familiar with this.

A couple of decades in U.S. corporate life led me to conclude that such performance reviews are nothing more than paper/records generation to back up (legally, risk-reduction, etc.) whatever decision Management decides to make.

They have little or nothing to do with actually performance management and improvement. Well, if you are "favored" by your management, maybe some productive training/coaching will be reflected in them. If you're lucking and have good immediate management. But this is stuff that would have happened, regardless.

Performance reviews are an HR process. And any and all HR processes are about preserving the status quo. They have nothing to do with your personal well-being.
Sorry, gluing together JavaScript is not remotely engineering.
Square and Twitter are both public as opposed to Musk's endeavors, but I still think Musk is a fairly solid example that it might be possible to do.
Silicon Valley is in the US. This article is about the UK.
The internet has made that a pernicious aspect of our culture that seems impossible to shake.

"Whatever you need, whatever you want, the perfect answer is out there, somewhere, and you can communicate instantly. You just need to know where to look. All the mountains are flat."
Thanks for your input. It should be voted to the top of the thread, because as I said, very few others here actually know what they are talking about.

> The issue I'm having with that kind of discussion is that instead of pointing out an opression problem somewhere in the world it stigmatize an entire community

For what it's worth from one person on the Internet, I agree completely. It's one of my biggest worries. It's going to cause more oppression and is entirely unnecessary.
weird, it worked for me: https://keegan.regaind.io/p/jPERL_ltSqG8WwwCtVlwaA
It would not be OK just because it is not illegal.
Hedge Fund | New York City, New York

Looking for strong CS fundamentals and backend experience.

- Offering $200-700k+ depending on experience

- Work at a top tier hedge fund

- Work on highly secret, fast paced, high internal visibility project

- Scala experience a plus

Email somehedgefund@gmail.com with CV and/or Github.
That doesn't mean they can't wrap the word "Enterprise" around a version of their product and sell it at $xxx per license so long as it comes with support. Redhat does this. They can even change to only do consulting on the "Enterprise" version of the software so revenue goes up.

Anyway, the company is wound down and the team has moved on. None of this speculation matters anymore.
That is a misconception.

Drawbridge powers the pico kernels infrastructure on Windows and is the basis of the new Ubuntu/Windows subsystem.

The research in Singularity and Midori were used in MDIL compilers targeting .NET AOT native code generation on Windows 8.x and the follow up changes that lead to .NET Native.

Also F# started as a MS Research project.

The theorem provers used to validate Windows drivers were also a MS Research project.

LINQ, .NET contracts and Fakes framework also started as MS Research projects.

Some Haskell and OCaml researchers are on MS Research payroll.

There are tons of other examples.
Projects. Internships.

I would never hire a graduate without at least some combination of those. Typically, getting a 'real' internship requires projects anyway so we can just say internship experience.

And yes, good chem E candidates have internship or project experience, in conjunction with decent grades to show they understand the theory.
Bloom Energy, Once Valued at $2.9B, Quietly Files IPO Plans
I would like to hear from the point of view of a recent computer science graduate here, who is having trouble finding a job.

I can see how you might want to work at one of the big companies, but they want "5 years of Angular" and okay, you don't have that. Maybe you have only 1 year of Angular and you're the most passionate Angular developer out there, but they won't even talk to you. That happens, I can see that. It is disappointing as a job seeker, but common.

"Developer" is not the only job title that involves writing code. I am not a "Developer" but I write shit loads of code.
ActivityPub Aims to Hit Candidate Recommendation at Social Working Group – W3C
DJI is in Shenzhen as well.
> there are just a lot of CS graduates with little to no professional coding experience either out of laziness or lack of knowledge (yes, there are people who expect a job with just a degree)

Why are you expecting fresh college graduates to have professional experience?
Algorithms in the Real World: Committee Assignment
Tasteless and sophomoric though it may be, I decided to feed pornography to Keegan [0].

He seems to like it. 6.5/10 for a generic, raunchy shot.

The point is that pornography is probably the least-composed imaging one can find. It feels like this bot is just spitting out random compliments.

[0] https://imgur.com/a/s5vdh [NSFW, obvioulsy]
Chemical companies would absolutely refuse to hire a newly graduated chemical engineer who gained no practical experience during their time in college. Same deal with CS grads (or really any discipline for that matter).
> What the hell do you expect them to do? They have to start somewhere.

Internships are the best way, but open source and personal projects... anything like that works. In a perfect world companies would train new grads and stuff, and we can fight and ask for that, but for now it pays off to have something to show your skill.

If I hadn't started teaching myself stuff and coding my own projects after class, I'd probably still be unemployed (I went to a college without a good CS-job network).
Surely you're joking?
Yes, that's the problem and it doesn't seem like it'll be fixed any time soon.
Is this open source or are there any notable similar simulations with source available?
Do you have a toddler? I'm not a parent but my understanding is that you can't expect them to just play quietly by themselves for any more than short stretches.
Don't they have internships in the UK?
i think both of your points really hinge on lacking on-the-job training

>> 'to be worth a salary'

>> 'who can't produce'
From my experience interviewing CS grads in the UK, I'd say the answer is pretty obvious: 'cos most of them are inexplicably rubbish.

For example I recently interviewed someone with CS degree (sorry, "informatics" according to them) and masters from edinburgh uni who couldn't join 2 tables, write fizzbuzz-type code, etc. I don't know if it is because of group work or some other effect, but credentials even from decent unis seem to be hopeless.
When it comes to ip spoofing based ddos attacks, the ISPs capable of tracking spoofed traffic on their network don't allow spoofed traffic. If they don't allow the spoofed traffic, you aren't participating in the DDoS.
Prisma Will Now Turn Videos into ArtWorks
I won't dissuade you from trying all of them - I like 'em all :)

SpaceChem will introduce the idea of step-test-debug along with the modular piping (a bit); it has been a favorite for years. TIS-100 will introduce the assembler block programming, and is notable in that it manages to be fun!

Personally, I would start with SpaceChem, as it's fun right away and stays that way for a long time. It always feels like a game, while TIS-100 can feel a bit like work sometimes :P
So this is basically..In the coming weeks you're going to learn some more bad stuff about your government and even though all the other terrible stuff is true, don't believe this stuff because we need you to "vote" a certain way.
I believe we are getting downvoted because Google does a lot of perception management, esp in places like this. See also the Asch Effect.
Age of Nobel laureates
The reason there isn't demand is because the same tool for Java would necessarily be a lot slower on startup. The version of the tool that eliminates the slowdown by daemonizing does exist: it's called eclim.

Personally I sometimes use eclimd in Eclipse from emacs. But it's a bit flakey. Usually I switch between an IDE and emacs depending on whether the current task is text-intensive or not.

IMO the entire language-specific modes thing in emacs is a collection of hacks (eg.: using regexes for highlighting! highlighting as a characteristic of the text!) and woefully under-architected; this is a much bigger problem than lack of any language-specific tool. Until elisp is replaced with a faster language with less dynamic scope by default (Scheme would be fine), I don't really see it improving.
I guess I didn't explain my point well. I don't expect new grads to have "professional experience" (bad choice of words in my part), but a lot of companies expect them to have SOME sort of experience, be it an internship, open source stuff, personal projects, etc.

You'd be surprised how many people don't code outside of class and if you think that's fine and companies should train then I agree with you but it's not the reality most students are living in.
> Seems almost like your arguing against yourself here. Hiring people based on things they won't use seems an awful lot like a cargo cult.

First of all, that's not what cargo cult means....https://en.wikipedia.org/wiki/Cargo_cult_programming. What you're describing (though it doesn't apply to what I was saying) is also a bad thing, but you can't just use random phrases to mean whatever you want.

More to the point: You seriously think that engineers won't have occasion to use loops, iteration, and data structures resembling lists? Because as I've mentioned multiple times, those are the basic, basic skills being tested by a question like "merge two sorted lists". One might have actually have occasion to write that algorithm on the job, but the real point is to test for a basic understanding of control flow and performance. I can barely imagine a programming job that would never have occasion to use those things, and most of the actual engineering you do in the simplest engineering jobs involve tasks of similar complexity. This isn't me blindly defending whatever interview policy Google happened to have; I'm talking about the adjustments I personally made to find what works over the course of a couple dozen interviews.

> Many of Googles products implode shortly after getting released making software quality irrelevant.

Now this is just embarrassing. Your argument is so bereft of anything resembling logic that you have to resort to completely irrelevant asides. I suppose they should just hire random 14 year olds to do their engineering since software quality is irrelevant.
More info about the one used by ETS: https://www.ets.org/erater
I've never had a problem finding a job in tech, but that's because I ask for 10% less than the next guy.

There's the rub.
Maybe they aren't lower at Princeton, but it's entirely possible to coast through a CS degree at a decent university, showing up to class maybe half the time.

I'm, ah, quite familiar with some, ahem, people who did just that.
Please don't post deliberately inflammatory generalizations about the community. It only serves to make the discussions predictably worse and ruins the threads for everyone.
He died in 1988 at the young age of 69. He will be missed.

https://en.wikipedia.org/wiki/Richard_Feynman
You bring up your experience, basically call me a liar about my experiences and accuse me of not adding anything to the discussion.

Interesting. I grew up in California and what I said is a fact, as confirmed by other people. What are you bringing to the discussion exactly besides baseless accusations?
Maserati is targeting 2020 for a production EV
You sir are quick to jump to very incorrect conclusions. It's a bad habit and you should abandon it at once.

First, I never said we identified the sensors by IP, but it was important that we record the sensor's IP for diagnostic information.

Second, IP spoofing was not done over the Internet, but rather only between our own servers inside our data center. Obviously doing this over the internet would not only be bad, but also highly unreliable.

In conclusion... well I'm trying to be polite.
“It can hardly be a coincidence that no language on earth has ever produced the expression, 'As pretty as an airport.”

― Douglas Adams, The Long Dark Tea-Time of the Soul
Can someone speak specifically about the UK software market? We seem to wrongly be making statements about the US market, which this article is not about.

From what I've heard it's dismally underpaid in the UK; I have also heard the perspective that costs of living are dramatically lower outside London, and matched with longer vacations and shorter working hours, it evens out.
Open Hardware Summit livestream
There's a song that has the lyrics, about a drunk Irishman singing of home:

"He sings his songs of Ireland far away,

and of how he's going back to Dublin one fine day."

but carries on:

"And the Ireland of his heart's recall,
If it ever did exist at all,

Now only lives and wistfully moves,

Through Paddy's dreams."

So many of our memories are very... rose-tinted.
Your humblebragworthy alma mater is not Flyover State University, home of the Footballs. The Princetons and Stanfords and MITs of the world don't have the bandwidth to fill the industry's demand.
That's just an implementation detail whose answer wouldn't really change the difficulty of the question much. When actually interviewing (at any company), I'm always much more precise about the question and usually give representative sample input/output.
You are essentially saying - the way I think of math is how it should be learned. Sorry but if you're serious, you will find a way to explain your mathematical intuition.

The problem is detailed in this wonderful essay by Paul Lockdhart

https://www.maa.org/external_archive/devlin/LockhartsLament....
The problem is the shortage is with companies wanting exactly "XYZ" experience in the last 2-3 years.
100% agree. When I made the switch from technical business analyst to head down the road of data science, I had the option to use a year of postbac study to study computer science or math. the CS dept at the school wasn't fantastic, it was mostly in Java, and DS is moving so fast I wasn't certain what percentage of what I studied would be of any use in 5 years time. So I studied math. All the math I learned is still good as new. Still "true. Still useful. Many DS tools have come out since I finished that year. Many are Python based.

One thing I am constantly frustrated by is the lack of mathematical rigor that pervade DS tools, and programming in general. Seems like everyone is happy to be given some programmatic tool and all the mistakes that where programmed into it. "You just need to deal with that." "You'll get used to the syntax." Yeah, but, I'd rather not, since it's often completely arbitrary and specific to a given tool. And, well, sometimes just doesn't make sense in the way something that has mathematical rigor built in might.

But, I often feel when I bring this issue up I'm shouting down an empty hallway.
"Lifting" in this context essentially refers to extending a function defined on certain domain of values, say X, to a domain X' which "includes" (air quotes because see below) all the values in X and some representation of a missing value from the domain X. The extended function should derive its behavior from the original function in some systematic way.

More concretely: suppose we have functionality `f` defined over a domain of objects of type `T` -- that is, we're given a method `f(x::T)`. In this case, the domain X is the set of all values of type `T`. The extended set X' is the set of all values of type `Nullable{T}`, where `Nullable{T}` is a specialized container type that can contain precisely zero or one values (an empty `Nullable{T}` object represents a missing value of type `T`, at least for our purposes). I quoted "includes" above because technically the domain of values of type `Nullable{T}` doesn't strictly include values of type `T` (the original domain X), but it includes a set of values that is "isomorphic" in some loose sense to this X. Lifting `f` over `Nullable{T}` arguments means systematically deriving some behavior for `f(x::Nullable{T})` from the original behavior `f(x::T)`. The standard semantics for this are to return `Nullable(f(x.value))` if `x` is null and return an empty `Nullable{U}` if `x` is null, where `U` depends somehow on `f` and `T`.

It's worth noting that the solution to lifting adopted in SQ does not automatically give lifted behavior to `f(x::Nullable{T})` when the latter is invoked outside of a querying macro.
Show HN: Curtain – data management system for PostgreSQL