Software Engineer Detained At JFK, Given Test To Prove He's An Engineer (mashable.com)
New submitter mendred quotes a report from Mashable: Celestine Omin, a software engineer at Andela -- a tech startup that connects developers in Africa with U.S employers -- had a particularly unwelcoming reception when he deplaned at John F. Kennedy Airport and was given a test to prove he was actually a software engineer. A LinkedIn post detailing Omin's challenging experience explained that upon landing in New York after spending 24 miserable hours on a Qatar Airways flight, he was given some trouble about the short-term visa he obtained for his trip. According to the post, an unprepared and exhausted Omin waited in the airport for approximately 20 minutes before being questioned by a Customs and Border Protection officer about his occupation. After several questions were asked, he was reportedly brought to a small room and told to sit down, where he was left for another hour before another customs officer entered and resumed grilling him. Omin was instructed to answer the following questions: "Write a function to check if a Binary Search Tree is balanced," and "What is an abstract class, and why do you need it."
We're Number #1! /s
Your hair look like poop, Bob! - Wanker.
"What is an abstract class, and why do you need it"
Not a very FORTH friendly question. I'm an old C programmer and while I could make an educated guess, I don't think I would be able to confidently answer the question after a long flight.
Checking if a binary search tree is balanced is something a student has to do, you usually have to write these sorts of things once or twice in your entire career.
On the other hand I could sit down and discuss HDMI specification all day and night with border agents. They'd likely pass out from boredom.
“Common sense is not so common.” — Voltaire
Nonsense. They have tasers. They could keep themselves amused all night.
You, on the other hand, might enjoy it less.
The world's burning. Moped Jesus spotted on I50. Details at 11.
It's been so long since I even looked at having to do one of those, that I would be put back on the next plane home, LOL.
I wonder what kind of tests do they give them.
It's total nonsense that the USA is detaining and turning away so many people at the border. By the time someone gets to the border (with visa in hand), the only question should be whether they match the visa - whether they are who they say they are. The "extreme vetting", or whatever you want to call it, should have already happened when the were granted the visa.
Of course, if you really have evidence that someone is planning a terrorist attack on the USA then rather than simply turning them away to try again later you should be letting them in - and then throwing them straight in jail.
That's something that should be checked before issuing a Visa, not after they're already on the fucking plane here.
Your hair look like poop, Bob! - Wanker.
And then the officer who fired the tazer went to prison for 30 months. Nice of you to leave that out.
"Old man yells at systemd"
The correct answer to all of these questions is "why don't you look on stackoverflow?"
Surely it would have been easier to check if he was an engineer by forcing him to try to talk to a girl?
I am impressed with the questions. These are questions that any competent programmer should be able to answer, but a non-programmer (such as a shoe or underwear bomber) would not have a clue. This actually seems like a pretty good test.
Call me incompetent, then. I've been making a decent living as a software engineer in this country for 25 years, having graduated from a reasonably prestigious school with a 4 years CS degree. Not once since college have I ever had a need to write code to construct or balance a tree on my own. I doubt very much that I could come up with a function to balance a tree out of the blue with no prep or review, nor is there much real world need for most developers to do so.
Almost nobody today has a need to know how to balance a B-Tree. Unless they happen to work on the innards of a database system, library, etc.
Sure, I learned this 35 years ago, and sure we had to do it for some class. I suppose Computer Science students still have to do it today. I've even done it in practice, but it was a LONG time ago. I would have to look it up, as would most software engineers.
In fact, any software engineer that would write something like this off the top of their head is engaging in bad practice. That would be my answer!
As a practical matter today, if you really needed to do it, you would search for best algorithms. And then question whoever asked you to do this, as B-Trees are pretty old and lame at this point There are better data structures to accomplish the goal.
What next? Ask somebody to write a compiler? "Sure, get me the Dragon Book..." (But, as well, that is surely obsolete today, as well.)
The border agent either Googled for some questions to ask a software engineer, or failed a Google interview exam. Which - I've read, Google doesn't do any more, and for good reasons.
Except, you know, an expert at getting through borders undetected, or anyone who has experience with social engineering...
So congrats, you weeded out the amateur criminals, and have a false sense of security about the professional ones.
As a potential lottery winner, I totally support tax cuts for the wealthy