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."
I've had border guards not be sure if I was really me when I was driving a rental car across the border. Drug traffickers will sometimes use rental cars and my driver ID happened not to match the location where I had rented the car. I'm not offended by the fact that they double-checked it was me. With this guy, they verified his story with his employer and asked him a question or two. Sure, it wasn't perfect, but there are much bigger things to worry about. And we don't know the circumstances from CBP's POV. (Did he match a pattern of people claiming to be software engineers from nigeria who turned out to be here for criminal purposes, for example? I don't know, and neither does he.)
Clearly, however, he should have been treated respectfully and with an "I apologize for the delay but we needed to verify your identity. I hope you have a wonderful time." They need to maintain authority, but it's also important to keep the country welcoming.
Real lawyers write in C++
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.
Most nations are smart and know that just having one part of a gov giving out a visa in another nation is not really that secure.
So a second line of questions are in place to ensure the visa and person are correct when entering the USA.
The next step will be biometric. Biometrics matches the visa application, the person at the embassy and that person entering the USA are the same.
The person then returning home from the USA is the person who entered. The US will soon do what every normal nation has been doing, count and reconcile every visa in and out.
Domestic spying is now "Benign Information Gathering"
I wonder what the eye diagram for a taser's waveform would look like.
“Common sense is not so common.” — Voltaire
Agree, I've been a professional programmer for over almost 20 yrs, but I specialize in embedded platforms and automation control. I can't tell you how to balance a binary search tree because in my field, that concept is not even used, or able to be implemented with the limited and custom "subset of C language" compilers I have to work with. I DO however know what an abstract class is though, just from studying OOP programming in general, so I guess I would only get half credit on that exam?