We hired a woman fresh out of going back to school to "learn to code" to be a software engineer. The first thing she did was announce her pregnancy, then became more interested in the leave policies than how to become good at her job.
This is why we only hire coders by internal referral. Nobody wants to be the one to let a slacker weak link onto the team so we only recommend people that we know for an absolute fact will be able to perform.
Pisses off HR no end that they can't gatekeep but fortunately the CEO has our back.
Interviewed an early-20s chick candidate a couple weeks ago for my team that works on a 3d rendering engine. She was currently working for a well-known company and had been there on a multi-year internship while working on her degree.
She was nice, but really vague on most of her answers. Then we get to the quick weed-out coding example where she's asked to write a function that does a 2d vector rotation around the origin, where we provided the rotation matrix and gave an example of how to multiply a vector by a matrix.
She got to choose her language (C# in this case). The tool we use provided her with a "Hello World!" main() function. She was utterly lost. Kept trying to use Unity libraries to do the rotation, and didn't seem to understand that we expected her to write the function herself. After she flailed for a few minutes and it was clear that she wasn't going to get anywhere, we helped her get a shitty program working that did the job.
After this, we asked what sort of position she was looking for and she was very clearly expecting to get an intermediate-level SDE gig. We said thanks.
It's unreal. This girl had no idea how out of her depth she was because I'm sure she'd been coddled her entire goddamn life. The best thing we could have probably said to her was, "you really need to up your game" but it probably wouldn't have done any good.
I gotta admit I hate those coding tests. I work much better when there aren't any one looking over my shoulder and I can occasionally refer to my notes/prior work.
Yes, I can easily code a login handler and db look up and all that other shit. But I dont really want to reinvent the wheel every time.
I've been coding for 40 years, but I use such a variety of languages and IDEs that if you asked me to code on the spot with no computer, I'd look like a complete mess. Sometimes when switching languages I struggle to properly syntactically write a for statement.
and I can occasionally refer to my notes/prior work.
Say so during those tests. You are encouraged to talk during those tests. "Hey, I wrote something very similar for X, I would look up which library I have to import and how the function is named. Alternatively I would look up the API to get the function name".
It isn't really important if you forgot if you access a vector's size by .size or .length (well you should know that in your language of choice, but you get the point). A good interviewer would then tell you if it's .size / .length to keep you going and not weight it against you.
Same with the example from OP - if you forgot how the 3d rotation matrix around the x-axis looks like... say you would look it up. If you want bonus points say where the "1" is placed, but where you have the "-" is ... not important to your skill as a programmer.
I hate them too, and I've been on the other end of them where I just had a complete brain-fart and whiffed it.
But damn, you would be amazed at how useful they are to weed out people who are clueless.
In this case we weren't going for a gotcha, it wasn't any sort of trick question. It was a very basic 2 or 3 line function to take a vector and an angle and perform a transform on it, and return the result.
It would be one thing if someone were looking for a junior gig and would expect a lot of hand-holding. It's something entirely different when they think they're a mid-level developer, and they have this perception only because nobody in their lives have ever told them that they don't know anything.
So I only had somebody explain to me how matrices are involved in 3D rendering in passing about a decade ago, but just to clarify, that task is the absolute basics of the basics, isn't it?
Look at this wiki page. They gave her the first R (the 2x2 matrix with sin/cos).
They showed her how matrix-vector multiplication works (the Rv = stuff example).
And they wanted her to program that. Basically this:
Of course you can do more fun stuff depending on your language of choice (pass by reference/copy, initialize vars, ...), maybe you have to import a math lib for cos/sin, ... but that is the absolute basic.
It's "Here's a math formula, please make the PC do it".
3d rendering is basically 2 things: 3d math, and shuffling large amounts of data from main CPU memory to the GPU, and doing it efficiently.
The 3d math is frequently so basic that you do it once and then never touch it again through the life of the application. But multiplication of a vector by a matrix is absolutely fundamental and we even tell them how to do it. All they have to do is write the code.
Wait, she had to take your equation and make it into code? That's it? Even if I didn't know the language, I could look up tutorials and make something out of it.
I didn't even go to school for coding and I could probably do that. That is pretty damn sad. I've been fortunate to have some competent women as coworkers, but it doesn't surprise me that it's that bad in a field like that.
The fact that you have two downvotes is sad. Men and women have separate but equal roles, and like 99% of women are not fit for these jobs and the 1% that can keep up would still be happier at home.
Every so often we get a news story around here, about a woman getting knocked up and taking her maternity leave. Somehow they always manage to get a promotion to some manager/better paid position before going on leave. Then the company has to find a replacement and is "obligated" to give her position back when she returns...
The story is usually the background for a lawsuit, where the woman contests her firing. and the company saying that she knew she was pregnant and deliberately took the position when she knew she would not be able to do the work.
We hired a woman fresh out of going back to school to "learn to code" to be a software engineer. The first thing she did was announce her pregnancy, then became more interested in the leave policies than how to become good at her job.
This is why we only hire coders by internal referral. Nobody wants to be the one to let a slacker weak link onto the team so we only recommend people that we know for an absolute fact will be able to perform.
Pisses off HR no end that they can't gatekeep but fortunately the CEO has our back.
Interviewed an early-20s chick candidate a couple weeks ago for my team that works on a 3d rendering engine. She was currently working for a well-known company and had been there on a multi-year internship while working on her degree.
She was nice, but really vague on most of her answers. Then we get to the quick weed-out coding example where she's asked to write a function that does a 2d vector rotation around the origin, where we provided the rotation matrix and gave an example of how to multiply a vector by a matrix.
She got to choose her language (C# in this case). The tool we use provided her with a "Hello World!" main() function. She was utterly lost. Kept trying to use Unity libraries to do the rotation, and didn't seem to understand that we expected her to write the function herself. After she flailed for a few minutes and it was clear that she wasn't going to get anywhere, we helped her get a shitty program working that did the job.
After this, we asked what sort of position she was looking for and she was very clearly expecting to get an intermediate-level SDE gig. We said thanks.
It's unreal. This girl had no idea how out of her depth she was because I'm sure she'd been coddled her entire goddamn life. The best thing we could have probably said to her was, "you really need to up your game" but it probably wouldn't have done any good.
I gotta admit I hate those coding tests. I work much better when there aren't any one looking over my shoulder and I can occasionally refer to my notes/prior work.
Yes, I can easily code a login handler and db look up and all that other shit. But I dont really want to reinvent the wheel every time.
I've been coding for 40 years, but I use such a variety of languages and IDEs that if you asked me to code on the spot with no computer, I'd look like a complete mess. Sometimes when switching languages I struggle to properly syntactically write a for statement.
Say so during those tests. You are encouraged to talk during those tests. "Hey, I wrote something very similar for X, I would look up which library I have to import and how the function is named. Alternatively I would look up the API to get the function name".
It isn't really important if you forgot if you access a vector's size by .size or .length (well you should know that in your language of choice, but you get the point). A good interviewer would then tell you if it's .size / .length to keep you going and not weight it against you.
Same with the example from OP - if you forgot how the 3d rotation matrix around the x-axis looks like... say you would look it up. If you want bonus points say where the "1" is placed, but where you have the "-" is ... not important to your skill as a programmer.
I hate them too, and I've been on the other end of them where I just had a complete brain-fart and whiffed it.
But damn, you would be amazed at how useful they are to weed out people who are clueless.
In this case we weren't going for a gotcha, it wasn't any sort of trick question. It was a very basic 2 or 3 line function to take a vector and an angle and perform a transform on it, and return the result.
It would be one thing if someone were looking for a junior gig and would expect a lot of hand-holding. It's something entirely different when they think they're a mid-level developer, and they have this perception only because nobody in their lives have ever told them that they don't know anything.
So I only had somebody explain to me how matrices are involved in 3D rendering in passing about a decade ago, but just to clarify, that task is the absolute basics of the basics, isn't it?
Look at this wiki page. They gave her the first R (the 2x2 matrix with sin/cos).
They showed her how matrix-vector multiplication works (the Rv = stuff example).
And they wanted her to program that. Basically this:
2dvector rotate(2dvector v, double theta) {
r[0] = v[0] * cos(theta) - v[1] sin(theta)
r[1] = v[0] * sin(theta) + v[1] cos(theta)
return r }
Of course you can do more fun stuff depending on your language of choice (pass by reference/copy, initialize vars, ...), maybe you have to import a math lib for cos/sin, ... but that is the absolute basic.
It's "Here's a math formula, please make the PC do it".
You'd be hard pressed to come up with a simpler question related to rendering. The only thing I can think of is scaling.
3d rendering is basically 2 things: 3d math, and shuffling large amounts of data from main CPU memory to the GPU, and doing it efficiently.
The 3d math is frequently so basic that you do it once and then never touch it again through the life of the application. But multiplication of a vector by a matrix is absolutely fundamental and we even tell them how to do it. All they have to do is write the code.
Wait, she had to take your equation and make it into code? That's it? Even if I didn't know the language, I could look up tutorials and make something out of it.
I didn't even go to school for coding and I could probably do that. That is pretty damn sad. I've been fortunate to have some competent women as coworkers, but it doesn't surprise me that it's that bad in a field like that.
This is why women shouldn't have careers.
Go home and raise your kids.
The fact that you have two downvotes is sad. Men and women have separate but equal roles, and like 99% of women are not fit for these jobs and the 1% that can keep up would still be happier at home.
Society is ill, and even here there are those who are afflicted.
Their role of housewife is worthless and has been long obsoleted by advances in appliances.
You don't understand the human animal. You should stop speaking about things you are ignorant of.
Sounds like someone who would not "be a good fit" within the 90 day trial period.
She probably announced her pregnancy after that one was over.
Every so often we get a news story around here, about a woman getting knocked up and taking her maternity leave. Somehow they always manage to get a promotion to some manager/better paid position before going on leave. Then the company has to find a replacement and is "obligated" to give her position back when she returns...
The story is usually the background for a lawsuit, where the woman contests her firing. and the company saying that she knew she was pregnant and deliberately took the position when she knew she would not be able to do the work.