I've worked with plenty of tech and related people who didn't understand basic technologies we expect in a given field.
I tend to reserve judgement until their effort can be judged. If he or she is slow but learning and improving, I'd accept (and probably raise with a manager) that the hiring process is flawed and try to help him/her.
If its just utter idiocy, I'm less forgiving.
I literally had a business analyst come to me - the new guy at the time - on her last day after several years of working in the org and ask me what her email address is.
Or the BA who insisted she didnt need to write a clear and specific spec for a feature, because she could just open up dreamweaver and put some buttons on a page.
Those sorts of people I have zero fucking time for, and will drink merrily when they quit/are fired.
Well, she is learning it now and I wouldn't call her "useless". But her level of experience and knowledge is far below "software engineer" and if she were a guy she couldn't get away with it.
you'd be surprised. i worked with people who would write simple json structures by creating a class in java and then serializing it and printing it to the console to copy and paste. most of them were promoted out to management
Actually, there is a certain wisdom to promoting incompetent people in this manner. At least then you know that they're nowhere near anything they can use to do real lasting damage.
The best C++ programmer (someone who does real magic in the machine) I know has said that they can't think in SQL. Different people have different skills and mindsets.