ps. It might be a good idea to be slightly more gender neutral in your question. :)
None the less, in today's common usage, it has lost that multifaceted meaning and the preferred language today is using the 3rd person as the gender neutral pronoun, or s/he or he/she.
That's the only point I was trying to make.
In your opinion. It matters to some people.
> it's fine to use whatever you want
Be aware that if you use the "he" form with some audiences, you will get a negative reaction. As to whether this is "fine" it depends on the purpose of your communication.
No they don't. "He" is from Proto-Germanic *hi- http://www.etymonline.com/index.php?term=he
And even if it was derived from that word, words change mening over time so the current meaning could be radically different from the ancient meaning. For example, "silly": http://www.etymonline.com/index.php?term=silly
> the preferred language today is using the 3rd person as the gender neutral pronoun
"he", "she", "it" and "they" are all 3rd person pronouns. I'm guessing you meant the 3rd person plural pronoun ("they").
The singular they is actually quite old, dating from the 15th century https://en.wikipedia.org/wiki/Gender-specific_and_gender-neu...
http://en.wikipedia.org/wiki/Gender-neutral_pronoun#Generic_...
I know "he" isn't the most common usage, but it is still acceptable (and is probably more common than you realize). I don't think it needs to be the common usage, and I have no problems with the other techniques for a gender neutral English pronoun. There's no offense, and no implied masculinity.
Why would I want to use this idiom? Because to my ears, and in my brain, the other usages don't feel right. They seem awkward and contrived, and break the flow of writing. It just bugs me - just like "he" seems to bug you. However, I don't go around telling people who use "they" or "he/she" that they should be using "he" - it's their choice, since it's their writing. I'd appreciate it if you'd grant the same courtesy.
Stated another, simpler, way: the same word can have different meanings depending on context. (The word "tie" means both a large, square, wooden pole used in railroad tracks and a decorative piece of men's formal attire). This is one example of that. "He" has two meanings: one masculine, one neuter. This is an example of the neuter usage, and doesn't have a masculine connotation.
It's important to realize that language isn't a fixed thing, that different people will use it differently, and that's okay. Different dialects exist, and that's okay. Different styles seem fluid or awkward to different writers, and that's okay. Chill out, it's not hurting anybody, and an overreaction like this isn't helping "women in programming" or "non-discrimination in language" or any other cause that you want to champion. I'm not stereotyping women, I'm not claiming the superiority of men, I'm not describing things in offensive or discriminatory terms. I'm using a pronoun. That's it. Sometimes a pronoun is just a pronoun.
You're not going to be able to fix every little thing that you consider sexist, because people are human. I absolutely advocate improving the situation, but I acknowledge that it will never be perfect. Perhaps your effort would be better spent arguing against actual sexism instead of leaping at every little thing that just might be discriminatory even when it's clearly not.
Language shapes thoughts. Correct language makes correct thoughts, incorrect language incorrect thoughts. Which is why most people still have problems with riddles like these http://www.somethinkodd.com/oddthinking/2005/06/21/the-docto....
Again, you seem to be missing the point. I'm not using non-gender-neutral pronouns. "He" is gender neutral, and there is plenty of evidence supporting that. I agree: gender neutral pronouns are important. They're necessary for using the language. "He" is one gender-neutral option among others. That's why it's use by the OP was perfectly acceptable.
I'm not sure why you think that riddle even resembles relevancy, but it doesn't. There's no incorrect language here, all there is an oversensitive overreaction to a normal , unoffensive, formal, well-used idiom. I immediately grasp that the doctor is the patient's mother. Using "he" is not going to change that.
Just give it a rest. You're getting pretty desperate at this point.
Here is the thing. If you can accept that "gay" as a derogatory term is incorrect, despite it being present in dictionaries then it's a small step to question other word usages in dictionaries. It allows you to think for yourself instead of just parroting "he is gender neutral" because you read it in a book.
> It allows you to think for yourself instead of just parroting "he is gender neutral" because you read it in a book.
That would be meaningful if English grammar was some kind of performance art. Instead, it's a fact that must be learned through study - yes, by reading books that detail what the rules of the grammar actually are. If the established grammar says that "he" can be a gender-neutral pronoun then it can be a gender neutral pronoun. It's not a matter of opinion. It's not up to you to be, like, independent of The Man's English, or whatever.
I think the real test of a developers skill is to ask them to code something for you. As a developer myself, i would fail any whiteboard interview because most of the problems I solve aren't because of solutions I've come up in my head, they are because I knew what to search on Google to find the solution. And to anyone who thinks this makes a bad developer, round up a group of 20 developers and ask them how often they use Google searches to solve problems they encounter. The difference between good developers and bad developers is not if you can solve every problem on your own, it's having the skills to know what to search when you encounter a problem. Us developers are over-glorified web searchers with a simple understanding of the language we are developing in.
Also, debugging code is harder. Any idiot can write something that occasionally works with some limited simple input and doesn't need to scale or do much error handling or recovery or cooperate with the OPS guys and their designs in any way. If you hire a guy who can code but not debug what he wrote, you're in big trouble sooner or later.
Give em a fizzbuzz with pathological parenthesis which mess it up, or half a fizzbuzz and ask them to finish it. Or give them a mortgage amortization calculator or similar with an obvious fencepost/off-by-one error (this is almost more of a spreadsheet problem than a real programming problem, but...). This is almost too stereotypical of a classroom task, but give them an OO design of a simulation of an elevator (literal, not an analogy) and ask him to add another floor to the elevator design, or add a fire dept override keyswitch, or maybe implement those door sensors so it doesn't move if any doors are open. Given a really crude simple importer for CSV text files, make it smarter so it can handle embedded commas inside quotes. Here's a crude simple roman numeral to decimal translator which handles I and V, now either add X or add prefix notation or whatever its called where IV = 4 not 6. Here's the worlds dumbest prime number checker which tests all positive integers smaller than the test number for divisibility... your task is make it faster.
You'd like to think so, but what I'm saying is that isn't the case.
> Give em a fizzbuzz with pathological parenthesis which mess it up, or half a fizzbuzz and ask them to finish it.
I ask them to write regular FizzBuzz and they can't. :(
You could be running into people with bad attitudes. I'll blame youthful indiscretion or whatever, but one really bad interview I was in, I couldn't believe I took a day off work and drove half way across the state to interview for what amounted to a ridiculous low entry level position (bait and switch) so I started flirting with the cute HR lady and talked ham radio antennas for an hour with my future bosses boss because if they wasted my time I was going to waste theirs. Well, kids have never been known for excessive professionalism, I wouldn't do that now but I wouldn't get caught in a bait and switch either. So I guess what I'm getting at is do they look smoking hot pissed off or more confused?
I agree that whtieboard interviews aren't good indicators of programming ability, and we employ other methods of figuring that out.
But the first test is to write a loop that prints the numbers 1 through 100 in your language of choice.
If you can't do that, you haven't been coding for 5 years.
And of course good programmers use Google. That's not the point.
The key to fizzbuzz is to make the decision for a number x, whether to map it to itself or fizz or buzz or fizzbuzz. Given a function which does thatm, just map it over whatever list of integers you want. Still no loop.
Modern functional programming style does not generally write loops; that job is left to the compiler. Python does allow one to write loops, but it is fairly well known that doing so causes your code to run slower because you are fighting against the compiler and the underlying VM.
That's exactly what we do. I say "please get on your computer and write a loop to print the numbers 1 through 100 in your language of choice" and they fail to do it.
Github is mostly used for personal projects. You can find a lot of dotfiles, frameworks, many smaller and some larger projects done for a hobby/friend/school/course or out of frustration/boredom.
What my Professor did is the way to go! Just hire that guy for a project, see how it's going and come together in a meeting to talk about the code, the solution and rationale behind the thinking. Then either conduct another team project to understand how he integrates in your company, or just hire that guy. Simple as that.
In all of the cases, the companies were interested in not only their Android development skills, but that they had shown they could collaborate/communicate well with others. Each had also been a core contributor a major Android ROM project for at least 2 years, besides maintaining their own side projects.
I was just a so-so dev who really loves to code, and the company hired me based on that. Only looking at my Github repo.
You have to look at the code to see if they're good, and you should have a conversation about it to find out their thinking process.
I'd always give a coding/architecture/design test before getting them in to interview as this would allow me to see how they solve new problems.
I worked with a guy (around 8-10 years experience, and a good senior dev/technical architect) who spoke to me about someone he was interviewing for a mid-level role. He told me that his GitHub profile was great, and that he had a ton of great code and specs that he had written. In fact, he had forked most of this great code, and the only code that was his was a few tutorials from some books he had read to try and learn C# a year or two ago.
He wasn't a bad developer by any means. He didn't get the job because we couldn't get the budget to land another dev. However, there's a big difference in perception between a good developer on merit, and someone that has written some commonly used tools.
But the existence of a github account is strongly correlated to a hire. It's depressing how many candidates haven't even heard of github...
You can find "repositories contributed to" in people's profiles.
Great hiring requires evaluating more thoroughly than that. Have no less than one conversation with any candidate you're considering. Get a feel for their history, how they communicate, if they've any experience or passion in your domain, etc. E.g. All else equal, I'd more likely hire a candidate for my music start up that had experience integrating music apis, was an avid music lover, etc. That's not required, but helpful.
And yes, I'd still have any candidate write code in an interview. Too many times simple sql queries, OO, or basic understanding of data structures have defeated candidates, despite code samples that implied otherwise. If a candidate can't write simple code to solve simple problems, they likely can't help the company solve much bigger problems efficiently.
My current employer currently hires people without doing any sort of code test, and we have recently had to let people go because they just weren't very good. 30 minutes could have saved us a lot of wasted time and money.
PS: I'm having a tough time with elisp, but its almost there :P
I'd take communication skills over someone's ability to optimize a while-loop any day.
As a slightly tangential argument for hiring in general, I would like to offer that no matter what position you are hiring for, only looking at one facet of someone's abilities is very poor judgement.
Gives a good understanding of how much or little they understand implementation & deployment.
And, of course, check that they can sign their e-mails with their own PGP key :)