Is this interview question unfair?

It performs much better than ArrayList when used as a Queue and when it's of non-negligible size, although now that there's all that Queue crap in the standard library, there's little reason to use it for that.

Out here in the ocean, people care about what you do, not about how hard your school was.

That's not strictly true. Unless you have a *really* good job on your CV a degree from what is considered a 'poor' university is going to get your CV binned at the selection stage by a great many people, myself certainly included.

I find it interesting that the .Net team chose to alter the StringBuilder semantics to be based on an intrusive linked list of chunks, rather than the previous moral equivalent of a simple doubling/copy vector.I would presume this change would have involved multiple teams, not just the BCL[1] people since it involves changes to classes clearly 'blessed' by the CLR[2] in that their internal structures are(were) known and exploited by it, so must have had some serious metrics as to the utility of changing it to back up doing the work (based on MS's -100 points for any feature model).

I suspect this change is essentially to deal with the big O edge conditions that sometimes occur when people naively use StringBuilders for something arbitrarily big, but they don't expect it to change significantly as it scales up, especially for something like constructing a web page. They also had to make sure that the default maximum size before going to another chunk (8000 according to the source[3]) was big enough that for most people they never hit that anyway *plus* making sure that existing code that allocated a StringBuilder of the desired size (either directly or by supplying a big string up front) still retained their previous expected memory structure, and thus predictable performance.

Designing a platform level library is always a nightmare, you have to cover so many possible use cases and must balance worst case verses expected usage.

1. Whose decisions are not always viewed as being terribly good, though this may be judging them harshly based on past errors that are not the fault of the current team...2. Though essentially it removes that blessing3. I must check if this is still less than the magic number that controls placement in the LOH or not, I believe it shouldn't.

Out here in the ocean, people care about what you do, not about how hard your school was.

That's not strictly true. Unless you have a *really* good job on your CV a degree from what is considered a 'poor' university is going to get your CV binned at the selection stage by a great many people, myself certainly included.

There's too many CV's, you have to filter, even if by crude metrics.

Do you really know that many universities well...? I could maybe identify at most six good universities. I would have to write a university filter based on a published list of universities before I was confident of doing this properly.

But then I've known some muppets who have been to Oxford and Cambridge.

Do you really know that many universities well...? I could maybe identify at most six good universities. I would have to write a university filter based on a published list of universities before I was confident of doing this properly.

Much is crowd sourced from people already here, but in essence that's precisely what we've done.We have quite an extensive foreign mix, so that helps but yes, the published rankings tend to fill in the gaps. It's not perfect, far from it, there's probably people here on ars who would pass our test/process but whose CV's might not make the cut, I'm all ears on how to improve it. But when I start slackening it we waste more time (including the candidates).

Quote:

But then I've known some muppets who have been to Oxford and Cambridge.

We have quite an extensive foreign mix, so that helps but yes, the published rankings tend to fill in the gaps. It's not perfect, far from it, there's probably people here on ars who would pass our test/process but whose CV's might not make the cut, I'm all ears on how to improve it.

Being honest it would come down to there being something awesome on your CV in relation to a previous job that in some way relevant to us.Other teams have different filters, I am referring to just ours, not a company wide one.

Like I said, I know this will result in missing some people, but there simply aren't enough hours in the day to devote much longer to it. Currently I'm spending about 4 or so hours on hiring a week. That's a lot when all past evidence points to it taking several months of this to get someone.

For me it's a tiebreaker after I look at your Github projects and previous experience. Academic credentials are a proxy, in the lack of other evidence, for at least baseline competence; like, I've never met someone from MIT who couldn't hack well enough to get by, so all things being equal they're a better bet.

Github projects (either their own or ones to which they've contributed) are generally a priority, because I can see the code and evaluate it. I generally don't really look twice at applicants without one unless they come with recommendations from people I know.

My friends would say I didn't do much work when I was there for my degree. But most of them did essay subjects so that's their fault

I work in finance, I suspect on things broadly similar to palad1.

Lots of people really overuse the term HFT, and conflate all algorithmic trading with it. It really does depend on the markets involved but many people calling themselves HFT really aren't, we try not to be slow , but it's more important not to be stupid.

It's fun, but I am currently up, baby sitting a job so I can put in a fix for something I screwed up so it will be in for EU open. This is uncommon, but it's another factor to weigh in (I have no idea how you could CV screen for that though).Such is life.

Same industry here: I found that i am more careful releasing since I'm currently working in company that doesn't have any devs in asia.

I did not consider this at previous gigs, but the ability to be wide awake 1h before the market opens is a huge plus. I obviously fail at this.

I find I am more careful releasing since we do have "devs" in "Asia". "devs" being people who sometime somewhere looked at a computer and decided they were a "dev". An "asia" as in that big sub-continent starting with "I".

They have been known to screw-up a script running in its own custom VM before...

Do you really know that many universities well...? I could maybe identify at most six good universities. I would have to write a university filter based on a published list of universities before I was confident of doing this properly.

Much is crowd sourced from people already here, but in essence that's precisely what we've done.We have quite an extensive foreign mix, so that helps but yes, the published rankings tend to fill in the gaps. It's not perfect, far from it, there's probably people here on ars who would pass our test/process but whose CV's might not make the cut, I'm all ears on how to improve it. But when I start slackening it we waste more time (including the candidates).

Quote:

But then I've known some muppets who have been to Oxford and Cambridge.

I didn't realise we'd met

I would be concerned that you were filtering on my parents income level 20 years ago, rather on my academic ability. Plus, Uni showed me just the basics. I learnt the rest at work.

And how would you account for my degrees...? Filter on the first or second...? Or the Uni I spent time at in the US...?

I would be concerned that you were filtering on my parents income level 20 years ago, rather on my academic ability.

??? I think you're projecting past behaviour by idiots onto me.

Quote:

Plus, Uni showed me just the basics. I learnt the rest at work.

Then that would either come through from the job part, or if your job couldn't show that on the CV something like the GitHub stuff Blaken mentioned. This thing is meant to be selling you to me, if its got nothing on it to differentiate from the large pool of people what makes you think it will get picked?[/quote]And how would you account for my degrees...? Filter on the first or second...? Or the Uni I spent time at in the US...?[/quote]Whichever is positive, I'm not trying to exclude based on a lesser known/less well respected uni, I'm looking for things that indicate some level of aptitude has been evaluated by others whose opinion I think is likely to have some value (because it is others I appreciate it's just one factor, but still an important one)

In case someone thinks I'm just looking for some old boys club type thing there are several ex-polys that I would consider good. I also appreciate that, in many places like the US the selection may be affected greatly by it being kept in a local area for monetary reasons.

The longer since someone left Uni the less relevant it is.

I should note that some countries make this even harder by not really giving a meaningful grade, as far as I can tell the French system is heavily biased this way.

Oh I think I see what you mean, I presume w.r.t. The US system where the top ones tend to cost much more? Since we get relatively few US CV's I tend to simply ask the US people we have if there are any red flags. Most have relevant experience to be honest so that tends to be the thing that causes a yes/no decision.

If you mean whether or not someone could even afford uni then yes, that sucks, I'm all ears as to how to avoid missing them without destroying the Signal to Noise ratio.

Sometimes recruiters will push someone directly if they feel we would normally reject them (or have done) and we sometimes listen to this, but in my team it's never resulted in a hire.

Oh I think I see what you mean, I presume w.r.t. The US system where the top ones tend to cost much more?

It has historically been that way, yes. Some of the wealthier schools are now rich enough to scale tuition based on ability to pay, so lower income people can go to Harvard, etc. In some cases, it depends on what state you live in, as there are some high quality state ("public") schools (Cal Berkeley, Georgia Tech, Texas, Michigan, UCLA, etc). But, state schools are only cheap if you're a resident of that state. If you're from out of state, they can run as high as a private school.

Whichever is positive, I'm not trying to exclude based on a lesser known/less well respected uni,

I think this is the heart of the misunderstanding, because when you said you'd filter on uni, many of us thought you meant, "I would immediately pitch resumes with certain lower-tier universities on them." Yes, you mention jobs, but "filter" in this context implies that you're doing some keyword scanning like HR does - JOBS:NASA is a whitelist, EDU:*COMMUNITY COLLEGE is a blacklist - and not that you are at the point where you read for content.

Oh I think I see what you mean, I presume w.r.t. The US system where the top ones tend to cost much more? Since we get relatively few US CV's I tend to simply ask the US people we have if there are any red flags. Most have relevant experience to be honest so that tends to be the thing that causes a yes/no decision.

If you mean whether or not someone could even afford uni then yes, that sucks, I'm all ears as to how to avoid missing them without destroying the Signal to Noise ratio.

Sometimes recruiters will push someone directly if they feel we would normally reject them (or have done) and we sometimes listen to this, but in my team it's never resulted in a hire.

Just imagine if recruiters actually did their jobs and only pushed technically gifted candidates...!

Oh I think I see what you mean, I presume w.r.t. The US system where the top ones tend to cost much more?

It has historically been that way, yes. Some of the wealthier schools are now rich enough to scale tuition based on ability to pay, so lower income people can go to Harvard, etc. In some cases, it depends on what state you live in, as there are some high quality state ("public") schools (Cal Berkeley, Georgia Tech, Texas, Michigan, UCLA, etc). But, state schools are only cheap if you're a resident of that state. If you're from out of state, they can run as high as a private school.

Don't forget private tuition is more accessible to parents with higher incomes. Plus Public Schools (ie Private Schools) are more likely to coach pupils for Oxford / Cambridge. Public Schools can be pricey.

Some seem to try (with online tests) but frankly most people we get CV's for who have done that apparently score in at least the top 3 percentile. But it's never been a decent metric for if they would pass the test. I pretty much ignore it.

I would *really* like to bin anyone whose CV takes 4+ pages. However I have to take care here as sometimes recruiters butcher CV's, without ever telling the candidates.

Don't forget private tuition is more accessible to parents with higher incomes. Plus Public Schools (ie Private Schools) are more likely to coach pupils for Oxford / Cambridge. Public Schools can be pricey.

Whilst this is true they now are extremely aggressive about getting people from state back grounds recognising two things: 1) Those who weren't aggressively coached but still did well are actually likely to perform better in a less controlled Uni environment and 2) If they have a reputation for elitism this may negatively impact their treatment by the state (for example their being able to say only apply to one or the other is something that is implicitly authorised by the state since much of their funding still comes from there).

Notably some public schools have complained that, for talented pupils, it may be now better for parents to get their kids into an excellent state school either Grammar, a religious school (thus allowing some selection) or a comprehensive in a very expensive and exclusive catchment area. Many[1] Oxbridge admissions processes are likely now more likely to pick the state student, all other things being equal. I know my college was extremely active in that regard, but then again it's one of the more recent ones, and previously was all women (it just about managed to get a 50:50 split in that regard).

I did go to a private secondary (scholarship) but we were hardly a feeder to Oxbridge, most uncommon for us to have more than one person apply, let alone get in[2].I'm under no illusions here though, I got significant benefit from the efforts of my parents in my formative years.

1. certainly not all, personal bias and networking will always be a factor.2. This is no longer the case, my school has radically changed in the years since I left, being far more academically focused.

However I have to take care here as sometimes recruiters butcher CV's, without ever telling the candidates.

I did an interview with a guy who was as amused to learn as we were that he was a lead developer on the early versions of EMACS and GCC. He was flustered and (thankfully) had brought copies of his original resume, before the recruiter got their hooks into it and made it super imaginary.

I don't know why people would take a university degree granted decades ago as certifying that the applicant is in any way capable any more than I'd take any other, well, certification. They could be an overachiever or they could have been a legacy admission.

Oh I think I see what you mean, I presume w.r.t. The US system where the top ones tend to cost much more?

It has historically been that way, yes. Some of the wealthier schools are now rich enough to scale tuition based on ability to pay, so lower income people can go to Harvard, etc. In some cases, it depends on what state you live in, as there are some high quality state ("public") schools (Cal Berkeley, Georgia Tech, Texas, Michigan, UCLA, etc). But, state schools are only cheap if you're a resident of that state. If you're from out of state, they can run as high as a private school.

Educational performance in the United States is highly correlated with wealth in general. College/university is just the last leg of a much longer journey. That trip to UMich begins long before the age of 14.

The value of it in the CV review at that stage is close to nill. Either they have something relatively recent of interest on the CV or they don't.

CV's are a chance to

A) spectacularly flame outspelling, punctuation, grammar, poor presentation, excessively verbose or talking up drivel, the list grows every dayB) show something to indicate you are currently capable, or have potentialEducation, Experience, Personal work are the major ones, the most recent being the most important[1]

In our team we are not so interested in potential, but in current capability. We're normally looking for someone to come in and spend a lot of time learning our systems, perhaps a bit of time learning the languages and platforms if they aren't familiar with them so training them in any aspects of large scale software development is going to seriously impact that. For other teams that would be less of a problem. We are, after much debate, considering a graduate entry, we'll see how that goes.

I would note that the success rate with internally sourced recommendations is vastly higher than external recruiters (and way cheaper to boot).

Github projects (either their own or ones to which they've contributed) are generally a priority, because I can see the code and evaluate it. I generally don't really look twice at applicants without one unless they come with recommendations from people I know.

While I understand the benefit of being able to review someone's code; do you really expect for a senior dev (I am assuming a 10+ years type post) position to be doing sizable enough work outside of work to have Github contributions to show off? I worked on outside projects when I was younger, but I am assuming that someone who is 31+ to be doing ... something else while outside of work hours rather than more development. I get paid by my current company to do development/design work for many hours a day, when I get home my interest no longer lies in doing more coding/design work.

Github projects (either their own or ones to which they've contributed) are generally a priority, because I can see the code and evaluate it. I generally don't really look twice at applicants without one unless they come with recommendations from people I know.

While I understand the benefit of being able to review someone's code; do you really expect for a senior dev (I am assuming a 10+ years type post) position to be doing sizable enough work outside of work to have Github contributions to show off? I worked on outside projects when I was younger, but I am assuming that someone who is 31+ to be doing ... something else while outside of work hours rather than more development. I get paid by my current company to do development/design work for many hours a day, when I get home my interest no longer lies in doing more coding/design work.

So as someone who learnt programming in his first job and loves it now, I am wondering how much the lack of github commits hurts someone? I have been fortunate that my jobs so far have provided enough interesting problems that I haven't needed to look outside. As a result I don't have a github presence (I work on internal stuff if I have extra time).

Personally I do think I suffer from a lack of experience working in an open source environment at the very least. But how much of an issue is that?

While I understand the benefit of being able to review someone's code; do you really expect for a senior dev (I am assuming a 10+ years type post) position to be doing sizable enough work outside of work to have Github contributions to show off?

I do. In my experience, if you're not hacking at home, you're almost certainly not keeping up. I'm not interested in people who don't keep abreast and the best way I have found to filter out these people, the way that has correlated best with good hires, is a history of open source commits. I'm sure everyone can relate a story about one or two developers who somehow doesn't hack at home but keeps up on the state of the art, but when you hear hoofbeats, it's probably smarter to assume horses, not zebras. (Obviously there are other signals that make this much less than a hard-and-fast rule; like, if somebody who worked at Google for a couple years dropped off their resume, that says more than a Github history. But they too are rare...and all the Google folks I know are active open-source people anyway.)

But your core assumption is questionable to me. I don't correlate senior-level responsibilities with number of years in a chair. Like, if I needed to build a greenfield project on the JVM I'd rather task with senior responsibilities the 23-year-old whose toolkit includes Scala/Clojure and Guava/Akka than the Senior Developer Man who peaked when Tomcat was still worth using and who's entrenched deeply enough that he doesn't question the wisdom of Collections.unmodifiableList.

And you might not want to expend the effort to hack on your own time and spend time experimenting with and learning about the state of the art. That's your call, I just don't want to work with you. (It's a large part of why I left my last company--there were a number of very engaged developers whose desired path was constrained by a lot of LOB types.)

So as someone who learnt programming in his first job and loves it now, I am wondering how much the lack of github commits hurts someone?

It depends on where you want to work. In my experience the tech startup environment, both the VC-backed silliness and more sane stuff, generally likes active community members--I doubt it's ever a complete gamebreaker, but names and reputation does seem to matter disproportionately in that area. LOB app departments at WhateverCo won't care. More mature tech companies are probably somewhere in the middle.

I'd totally fail the Github test.When I get home after coding for 8-10 hours I want to do other things besides hacking. It's not the only thing I have in my life, you know.I have a huge codebase from my professional life but it's all proprietary. Fortunately I do get to go experiment and learn new technologies as part of my job enough that I don't feel stagnant.

It's not the only thing in my life, either, but I have enough rolling around Github to demonstrate that I can write code in different situations and to get a decent idea of what I'm capable of and how well I can do it.

But, then, I am certainly an outlier; I hold pretty firmly that programmers have an ethical responsibility, though not a legal one, to give back to the community because almost every programmer benefits significantly from other people's open source code. Take-take-take of open source code, while completely legal, strikes me as professionally selfish. Openness is important; not saying you should opening up your business-critical code, but contributing back useful secondary stuff that can benefit other people and be applied to other contexts is a Good Thing. The amount I want to work with a developer tends to correlate with how much they agree with a similar mindset--it's a pretty good bellwether of cultural fit.

It's not the only thing in my life, either, but I have enough rolling around Github to demonstrate that I can write code in different situations and to get a decent idea of what I'm capable of and how well I can do it.

But, then, I am certainly an outlier; I hold fairly firmly that developers have an ethical responsibility, though not a legal one, to give back to the community because almost every developer benefits significantly from other people's open source code. Take-take-take of open source code, while completely legal, strikes me as about as professionally selfish as you can get. Openness is important; not necessarily opening up your business-critical code, but contributing back useful secondary stuff that can benefit other people and be applied to other contexts is a Good Thing. The amount I want to work with a developer tends to correlate with how much they agree with a similar mindset--it's a pretty good bellwether of cultural fit.

I'm with you on that. We're always talking about open sourcing some of our utility stuff that might actually be useful to other people outside our very specific niche but we never get around to that. Maybe I should bring it up again. Then I'd have stuff on github!

We don't really expect candidates to show us github stuff but it's certainly a plus and it certainly helped the last guy we hired. Not surprisingly, he also aced the coding assignments that we gave him.

But your core assumption is questionable to me. I don't correlate senior-level responsibilities with number of years in a chair. Like, if I needed to build a greenfield project on the JVM I'd rather task with senior responsibilities the 23-year-old whose toolkit includes Scala/Clojure and Guava/Akka than the Senior Developer Man who peaked when Tomcat was still worth using and who's entrenched deeply enough that he doesn't question the wisdom of Collections.unmodifiableList.

And you might not want to expend the effort to hack on your own time and spend time experimenting with and learning about the state of the art. That's your call, I just don't want to work with you. (It's a large part of why I left my last company--there were a number of very engaged developers whose desired path was constrained by a lot of LOB types.)

These two points are related. It may be that you've never come across anyone whose experience is a positive rather than a negative, or it may be that the chip on your shoulder prevented you from noticing. But they are out there. Among other things, these guys can point out where some of the "state of the art" technologies are going down the exact same roads that's have been gone down before, without ever considering the problems that cropped up the first time.

You think it's an accident that Ruby on Rails and PHP were written by a men in thier mid-20s while Scala, Clojure and Go by men in their 40s or older?

I'm with you on that. We're always talking about open sourcing some of our utility stuff that might actually be useful to other people outside our very specific niche but we never get around to that. Maybe I should bring it up again. Then I'd have stuff on github!

Hah, secondary project stuff is where a bunch of my stuff came from - like, I'm working on a feature-flag/split-test system for Play Framework for one of my own projects and other people will benefit from it and I'll look good, so on Github it'll go. I have a couple things on there from my last job, too.

Quote:

We don't really expect candidates to show us github stuff but it's certainly a plus and it certainly helped the last guy we hired. Not surprisingly, he also aced the coding assignments that we gave him.

I'm not a fan of coding assignments. I don't think they're super useful past a certain "tie your shoes" point; almost anything you give somebody is going to have to be kind of contrived and that can be a bit rough. I prefer to talk to candidates--maybe ask a few baseline FizzBuzz questions--and then just sort of see what gets them to light up. I find that getting somebody who'll talk your ear off about this kickass project they did and the problems they had with it--without you prompting them very much--is frequently a great indicator of who has "the stuff". (It also selects for people who are at least somewhat social, which is a better cultural fit for the sort of environments I like.)

I'm also a fan of folks who can just talk my ear off about something technical--like, writing code may not be your favorite thing in the world, but if you build BattleBots for fun (one candidate at my last job) and are super excited about it and can explain what you do and how it works to somebody like me who doesn't know about it, I'm probably willing to take a chance on you.

These two points are related. It may be that you've never come across anyone whose experience is a positive rather than a negative, or it may be that the chip on your shoulder prevented you from noticing. But they are out there.

Um, yes, of course they're out there. I'm having lunch Friday with one from my previous job who has forgotten more about the JVM than I ever learned. But every thirtysomething/fortysomething I have met who I would go out of my way to work with again--maybe a better way of putting it would be "whose presence at a company would help make me want to work there"--is on Github with nifty projects to their name because they still hack for fun. Literally every one. They have The Stuff and The Stuff seems to persist regardless of age and, by most accounts, marital status and number of kids.

Shit, I never said that those folks didn't exist; I said that senior-level responsibilities don't seem to correlate all that well with experience, not that there is no intersection between those sets.

I have no open source presence, but then again in my industry that's a) really hard to do from work b) not really relevant in the same way.

Assuming I ever moved within the industry my experience will be the determining factor in my CV getting through. If I moved elsewhere I would likely pick something that allowed me to freshen some skills in that area and contribute/go from scratch both to help myself learn, and to ensure I ticked that particular box.

No OSS as well, sometimes I shudder when I see the google group posts associated with my name. Hey, I was young, and I was learning .Net 1 beta 2 with a bunch of VB6 guys feeding me bull, so cut me some slack.