6 ms·
So I have gathered that these are some of the populations of developers: 1. There is a class of people who will not do algorithmic interviews, who think they a
by eshvk 13y ago
So I have gathered that these are some of the populations of developers:
1. There is a class of people who will not do algorithmic interviews, who think they are puzzles and not exactly what a programmer does on a day to day basis.
2. There is a class of people who think doing homework assignments makes no sense, especially if you have a full time job and this eats into your evenings.
3. There is another class of programmers who won't work on coding projects because you may potentially be exploited.
For a group of people with highly specialized skills (who get underpaid when compared to lawyers and doctors), we do tend to complain a lot.
- yummyfajitas 13y agoDon't forget the 4'th group, the class of programmers who refuse to put code on github. I've gathered there is a population of "developers" who refuse to demonstrate the ability to code at any stage of the interview process. (The OP is definitely not part of that crowd, given his willingness to submit a pull req to some open source project.)
- static_typed 13y agoReally? I am required to have an account with Github, to prove something? In the real world, some of us work on highly proprietary code bases, where putting any code up online could expose the risk of future lawsuits or prosecutions, certainly this has already happened to individuals in the industry. Thankfully in the real world there are some sensible and mature interviewers who are able to look beyond the heinous crime of not having a Github presence.
- yummyfajitas 13y agoPeople who can't easily demonstrate their skills are always at a disadvantage relative to people who can. For every one person who is great but can't publicize any of the good code they write, there are a lot of people who simply suck. Differentiating between them is expensive (read: hours interviewing the good candidate, many more hours interviewing bad candidates) which is why the people with a good github/bitbucket/ftp server full of code are at the top of my list. If they all bomb the interview, maybe I'll move down the list to the people who's skills are unknown. This simple reality is why one should demand more money from employers who impose restrictions on what one does outside of work.
- eshvk 13y agoOn the flip side, I have very rarely found an interviewer who has actually read through my github code. It is more like they are scanning through an imaginary checklist of 'has github account, has repositories in it' etc. The other day I got asked by an interviewer if I knew python. This was rather strange to me because we had just talked about one of my github projects ...which was an ml library for python. My point is that if having a github account becomes a silly barrier like having an education from top school, it kind of defeats the point of being fair whilst also acquiring good people.
- emidln 13y agoWhen I was the interviewer, the most useful lines to determining competency tended to be find github code, ask pointed questions. As someone who is now interviewing for a new job. I've had three interviews this week ask pointed questions on github contributions including requests for me to change things on the spot ( or talk through a change that might occur).
- yummyfajitas 13y agotl;dr; If you take a good practice and cargo cult it, you'll get bad results.
- rrich 13y agoExactly. A lot of work is proprietary and confidential. Should you have a side project to show, sure, if you can do that without getting fired, or worse sued. As a salaried employee, In the past, I have signed employment contracts that basically state they own anything I write. I sure I'm not alone.
- fotbr 13y agoWell, I'm in the 4th group, then. My current job, and every previous development job has clauses about outside development, and what internal hoops have to be jumped through. I'm compensated for that restriction, so I don't mind. Even lacking those restrictions, contributing to open source projects just isn't really my thing, and my personal projects are just that -- personal, and are usually ugly, hacked together in a hurry and never revisited solutions to specific problems, not resume filler. If you can't find some way to determine if I'm a good fit without looking at github, having me do unpaid work, or playing trivia games, you need to revise your hiring policies. Why have we, as a group, allowed the creation of this requirement, official or otherwise, that we have a public portfolio of work we've done on our own time?
- judk 13y agoDon't be so hard on yourself. Any code that solved a problem is very impressive to an interviewer, showing independent iniative and get-things-done. Even silly seeming things like an AppleScript to copy birthdays from your address book to a text file.
- gopher1 13y agoJust because you don't have a Github account, doesn't mean there aren't a plethora of other ways to demonstrate the ability to code with samples etc. Don't conflate no Github account with no ability to demonstrate code.
- yummyfajitas 13y agoIf you want to be pedantic, I should have a said "a github, bitbucket, gitorious, darcs.net or ftp server full of fortran".
- tostitos1979 13y agoI think it is more than just being underpaid. Doctors, dentists and lawyers do not have to go through such stupid recruiting processes. I've known people to get hired in 15-20 minutes. The assumption is that your education and previous work experience is worth something. In tech, it feels that one's education and work experience is what gets you the interview. Then, it doesn't matter. I'm tired of hearing the old "developer with 10 years of work experience who can't do fizbuzz". Rather than a lack of competence, the issues are: 1) Most humans can only hold so much information in their head at a given time 2) Tech/dev tool updates move ridiculously fast. It seems they are moving faster as time goes on. Here's an idea: hire smart people. Even if they don't know your particular stack. Here's another idea that will never happen: lets all agree to be tested for interviews in one tech platform (that'll happen when pigs fly). We dismiss these issues now because we are young and hip. Eventually, many of us will have kids who we want to spend with. That's when we'll be on the other side of the table and have our oh-shit moment. I guess I shouldn't complain about the inevitable.
- eshvk 13y ago> I think it is more than just being underpaid. Doctors, dentists and lawyers do not have to go through such stupid recruiting processes. I've known people to get hired in 15-20 minutes. The assumption is that your education and previous work experience is worth something. This is also true for PhD students and research labs. Like if you are a C.S. PhD student interviewing at Microsoft Research or in an academic position, no one is going to ask you code up insertion sort. They look at your papers and evaluate you. I sometimes regret not doing a PhD for this very reason. > Here's an idea: hire smart people. Even if they don't know your particular stack. What the fuck does smart even mean anyway? How do you find out in the space of 5 one hour interviews if a person is smart or not? 1. If smart means problem solving ability, the way we test it now is a huge crock of shit because it is hard to abstract out domain specific elements from pure problem solving. I mean if you take any Math olympiad book, there are no pure problems beyond the puzzle level, most of them have a few tools of the trade that you can use. I remember someone posting here that IQ tests are illegal and probably not very good. 2. If smart means suave, sophisticated or looks like me (the accepted buzzword is "cultural fit"), it is going to not scale very well.
- mikeash 13y agoWell, those of us who don't complain about this stuff don't get heard much. I think people ought to stop artificially limiting themselves and trying to pick overly-precise categories for themselves. You think algorithmic interviews are puzzles? What exactly is wrong with sitting down and doing some puzzles? Puzzles are fun! Homework assignments are fun! Coding projects are fun! If an interviewer sat me down with a truck and some tools and handed me the maintenance manual and said to me, install a new fuel injector using these materials and we'll see how you do, I'd say, hell yes! Sounds like fun! Tests my ability to think and try something new, too.
- throwawaykf 13y ago> For a group of people with highly specialized skills (who get underpaid when compared to lawyers and doctors)... Too broad a brush stroke there. The vast majority of software development does not require highly specialized skills and is more comparable to nurses and paralegals than doctors or lawyers. (Not trying to be disparaging here, either to nurses/paralegals or developers, just running with your analogy.)
- taybin 13y agoYou don't think software development itself is a highly specialized skill? It's true that what we type might not be PhD research, but just learning a programming language is a rare thing.
- dllthomas 13y agoIt certainly takes less schooling than doctor or lawyer. Admittedly part of that might be that there are things we can work on of less consequence as we figure things out, so we need a little less prep for a exercising comparably specialized skill. Of course, part of the pay discrepancy is also going to be covering the difference in schooling costs = who spends longer paying off student loans, on average?
- infinite8s 13y agoPart of that schooling involves intense preparation for tests put forth by the state before you are even legally allowed to perform the work you've been studying for.
- dllthomas 13y agoThat, too.
- jasonkester 13y agoAh, but here's the thing. You can be part of all 3 of those groups (and yummyfajitas' 4th group with no github profile), and still have an easy time picking up work. You just need to have something you can point to. So we can skip all the above and the developer in question can show you several medium to large web applications running in production, all written entirely by him, some combining to pay his rent, one having won its category (technical achievement) at SXSW. "There. That's what I can do", he says. "And here's my hourly rate." No complaining necessary. Get yourself provably good, and all this interview silliness goes away forever.
- cracell 13y agoIndividual projects don't show how you work on a team though, nor do they show quality of code unless you submit code samples and those can be and are sometimes faked (taken from an open source project or just not written by them). Pair programming on the other hand is an excellent way to evaluate how an employee deals with other developers and to get a feel for their quality of code. Of course as many have suggested in other places in this thread you don't need to do new work. When interviewing candidates myself I like to find a feature/problem from the last 6 months that uses the core job skills I'm looking for and have them work through that. Using current development can feel like free work for them and often doesn't demonstrate the full range of skills you are looking for.
- normloman 13y agoIn my industry (copywriting), candidates demonstrate their abilities to employers with a portfolio of their best work. Would this work for programmers?
- danielweber 13y agoYou will never see my best work because it's owned by other people.
- infinite8s 13y agoThis is easy because typically your best work is put out in public. This is rather difficult with most company source code. Also copywriting is probably not a team effort.