- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
On a related note, relying heavily on referrals is a great way to make an echo chamber without new ideas.
Admin
It's a great idea. Makes it easier to weed out the bad employers.
Admin
Doesn't have to be the /only/ indicator. But it's a good one.
On the other side of the fence, the best indicator of employee satisfaction is having a technically competent manager.
Admin
Meh, not really. It can help, but it is always towards the bottom of my list when evaluating potential employees.
Meh, I will take a manager that can effectively lead over one with a lot of technical knowledge who cannot lead any day. A requirement for management rarely exceeds a high level overview of how everything works. If they know more great, but it is more important that they know how to lead people.
Admin
At the far extreme, years ago I worked in an Apple call center, and the managers were hired as managers, to manage, as management. Their position literally had nothing to do with their team. You'd have meetings once a week or so to stay in 'spec,' but they could offer no advice on how to do so. I was told to start arbitrarily putting people on hold, to raise my average handle time, because I was "creating an unrealistic expectation of support in the future"
Any technical manager would have said "good job!"
Admin
Culture fit is #1. If the person will not fit in the company, they are not worth having around. The wrong hire, no matter how competent, can be a corrosive influence and tear down the rest of their team.
Yes, I would agree to some degree. But I do not think they need to know near as much as those they lead. At least not at the beginning. A good leader who is a good learner can make an amazing manager. Technical proficiency becomes even less important as the org chart grows.
That is the most important part of the equation. If I employed you because you are really damned good at X and I have a job that requires proficiency in that, then I need to be able to trust you to handle it. I also need to be able to trust you, and provide an environment where when you get in over your head, you do not feel like it is a mark against you to ask for help. No one can know everything.
A good manager also needs to know enough to know how everything fits together and what is likely to be the correct solution for the problem. I do not think it is entirely necessary for them to know all of the nuts and bolts of that solution though, that is the point I was trying to get at.
Admin
QFT.
so true.
Admin
Wouldn't that inherently happen as a result of referrals?
I don't mean they need to know everything, but I do think they should be able to understand it. I had to quit my last job as lead dev it was so bad. Immutable and arbitrary technical requirements coming from the CEO, who was a graphic designer by trade.
I suppose that's not the case everywhere, but in my opinion, anyone who can't get this can't lead a technical team. http://www.explainxkcd.com/wiki/images/6/60/tasks.png
Admin
Sounds like my last job, except the CEO wasn't technical in any way...
Admin
Graphic designers aren't all technical. There's a difference between knowing how to use a program, and knowing how a program works.
It's a huge gap. One is right brain, creative, while the other is left brain, or logical.
Car analogy: I wouldn't trust the average driver, no matter how well they can parallel park, to work on my engine.
Admin
As a person who has managed people for literally my entire working life, not as often as you would think...
I once took over a division of a company that was the definition of nepotism and it was a habit that I had to force them to stop. Lots of bad hires referred by really good people. Even awesome people have a few assholes for friends...
http://i2.kym-cdn.com/photos/images/newsfeed/000/228/264/train-theres-your-problem.jpg
CEO's should lead those directly below them and set policy and direction. As soon as they start micro-managing and running the day-to-day, they are no longer a CEO in my eyes.
Admin
Now imagine someone who says "I don't drive" working on your engine.
Admin
It can be OK if you've got a good leader and then a single layer of technically-competent management beneath that. More, and you can get into problems. (I used to work in a department where there was very poor leadership at the top at the time. It takes a while for things to really go wrong, but the place slowly circles the drain. We put a stop to it — at about the point I moved — by a thorough replacement of senior management. The current guy seems good, and needs to be to fix the problems. We'll see just how good he is, but he certainly beats the previous incumbent…)
Admin
Pretty much. The org structure was fucky; I was the lead dev, reporting to the CEO, while the CTO was part time and offsite.
Admin
Actually, now that I think of it when I was doing webdev for a marketing agency a couple years ago they hired a perma-student as an account manager who was best friends with the owners girlfriend. That was fun.
Admin
Yeah, they needed someone who is competent in business.
I employ developers and technicians. They will tell you that I am not the most technically competent person out there. In fact, they (and I) will tell you that I am lacking in a lot of areas in that regard. But I do know business, I know how to lead people and I am capable of making decisions. I hire people who fill in the areas that I am weak in, I consult with them, and I trust them. I also develop them because a man much wiser than I taught me that part of managing people is the responsibility to prepare them for their next job...whether it is with you or another employer.
Admin
No. I have a lot of loser friends who could be toxic to a company. I guess I'm wise enough to not refer them, though.
Admin
FTFO
Admin
Self-sacrificial leadership is rare.
Admin
Image: Meanwhile In America
While accident actually occurred in Germany.
Blaming everything on America? "Well There's Your Problem." Yes, yes indeed.
Admin
If I were asked a question like this in an interview, my response would probably be "I don't have enough information or subject matter knowledge to give you a close approximation right now. If I had a couple hours to research this I could come up with some approximate formulas, along with a report on all the things that could cause error in the formulas."
Or I would write something like
var annualRainfall = random( 1000, 10000000000000000000000000000000000 ); // TODO: refactor
I have been forced to do 'preliminary work' on too many projects in the past where specs and/or crucial information were not available - 99% of the time when they became available, most of the work was wasted, or it turned out the project was unfeasible.
Admin
Very nice...
Unfortunately, you're assuming :
So, basically every single assumption you made is suspect.
The smart developer at this point says "It's not my job to understand river systems... I'll find someone who does this for a living and implement the algorithm I am given...". As developers we are often called upon to add our own knowledge / ideas to the products we create, and this can be a mistake. One of the most important things any developer can know is what they don't know!
Admin
People keep making objections similar to this. Nonsense! Obviously the estimated flow rate is the average over time.
Admin
Ask me if I give a shit. Did you read the entire post and then make a conscious decision to miss the entire point?
In this case, I would care fuck-all about accuracy.
Admin
I am going to "Fermi estimate" how many loser friends you have..... .... .....just a sec...... ...
the answer is "7".
Admin
Your name serves you well.
Admin
Luckily I no longer work for a "sales-oriented" company ;-)
Admin
So I offer four fail points, and you object to one. Even if you were right (you're not - I'll cover that in a moment...), it's a little soon to be claiming victory, no?
Why are you wrong? The river will not be a perfect cyclic system - it's subject to seasonal change. Oh - and where exactly are you measuring this rate of flow? Because I assure you it will vary based on both the position with respect to the banks, and the depth of the water.
Ok - I perhaps I am being a bit of a smartass, but what I am trying to highlight is that the only answer I would be interested in from a candidate (and I do interview) is "What the hell has that to do with me?". A decent developer. should have his / her alarm bells ringing at a problem like this. If the interviewer insisted on a solution, my next questions would be "why is a poor solution so valuable to you?" If they STILL pushed it, it would become "Sorry, I don't think you're a good fit for me, so I suggest we leave it here..."
On an unrelated side note, I've just discovered that typing in this little editor seems to reenable my trackpad... Very annoying!
Admin
My point is that you shouldn't be even trying to answer the question. There are variables at play here that neither one of us appreciates - and a smart developer realises that - and fights his / her corner if pressed.
Admin
I agree with this. You hire a developer (hopefully) to solve real-world problems. Why try to figure out "how they think" given fantasy world problems? Does that translate somehow into the job you are hiring them for? If so, are you a licensed psychologist?
Admin
The only valid scenario I could think. We want to measure the flow rate. Here are a few flow meters, and we don't have a specific sampling algorithm in mind, but the industry regulated standard is [name], so find the official published source and use it.
The pair is to act as a redundancy. We don't care if you average the input, or use a primary/secondary model (automatically my alarm says make it configurable).
In no way, shape or form, is this solution having anything to do with wild guesses based on speculated data.
At most you're going to fill in gaps in the customers knowledge by researching industry standards.
Admin
This is as good an answer as any. If you're looking for as precise an answer as possible, this is actually the way to go & probably would be my preferred choice from most other answers.
Real life application: We are trying to get fiber lines installed at our locations to upgrade our network speeds. Turns out the Telco consulting with our provider to lay down the lines is only bringing it to the property line (that's all they're required to by law, so they're not interested in routing the tunnel/cabling all the way into the building.) Now am I bothering to find out how to bore a 4" hole through the ground and concrete to get from their drop box into our building to hook things up? No thanks! I get a contractor who knows what they're doing to do it for me & give them the requirements. Once I have the cable routed inside where the Telco needs to terminate it, I let them finish their job. Then I get to connecting our equipment up to it. Life goes on.
I can respect a professional deferring to another professional when the data in question is coming from a field he's not expert in.
This is why you don't ask newbies with no experience this kind of question without some hint of what you're looking for. The road to overall success is through smaller successful steps leading up to successful tasks, which in turn lead to successful projects, and a successful career. You can expect a newbie to do something like this when they first start out. That's why they're supposed to get some guidance early on. Until real world problems have been dealt with to some extent, expecting someone to be perfectly functional in the real world is unreasonable - and costly for all.
That interviewer wasted both your time and his with his approach and is TRWTF.
Admin
+1 would quote again.
You're obviously over-thinking the entire thing. I just happened to reply to you because your message seemed a bit more pedantic than the others.
If you're going to spitball an answer to this type of stupid question, then your answer might as well include things like "My estimate of the flow rate is the average rate over the course of a day" or year if you want to nitpick about seasonal variations.
Similar answers apply to the other nitpicks about the shape of the river and everything else because the goal, as you well know, isn't to get the actual volume.
It's like the lifeboat thing. The one time I got asked that in a real so-called team-building exercise, I said I wanted to be the lawyer, and then that I was going to volunteer not to stay in the bunker because as a lawyer I felt I was able to survive with the other sharks outside.
Admin
The problem that I have is that I have a bunch of friends who would be extremely good co-workers, but they don't use the same technologies as I do. I'm a .NET developer, and my friend wants me to get hired for an "awesome" Perl job based on my Python code that he's seen.
Admin
Have you accounted for
global warmingclimate change?Admin
Now that I am back to my laptop, I can given a better response.
I don't care, that would be captured under the "average flow rate".
I don't care, that would be captured under the "average flow rate".
I don't care, I just care that you can see how to start to work towards a solution.
I don't care, that would be captured under the "average flow rate".
No, when you assumed that I as an interviewer would care fuckall about the accuracy of the calculation you had the suspect assumption.
Yes, and no. Yes, that is something that you should probably get counsel on, but you are forgetting about context. I don't fucking care about accuracy, I just want to see that you can see how to work towards a solution. For a question like this, assumptions would be perfectly fine. Your tone sounds very defeatist, and your tone towards the solution of a problem is pretty piss poor.
Hey! Someone in this thread knows WTF "average" is! :smile:
For these purposes, in this context, no one fucking cares.
Gotcha, you like to manage defeatists. That explains it all actually...
Honestly, if this is at all representative of your real personality and work ethic, you would not even make it past the phone screening with me. Words say a lot about a person, and your words seem to say, "I give up really fucking easily."
No, this is a hypothetical question. People care fuckall about accuracy. Just show that you are capable of solving a problem and don't be a cunt about it. Here is the thing I have noticed about people, as soon as they start using words like "can't", they have already given up. As a person who leads people, it is not my responsibility to push people until they succeed despite their best efforts. I am a business owner and a supervisor, I am not a fucking motivational speaker. Here is how such conversations go around here:
"I can't do this" "Why not?" "I need X, Y and Z." "So it is not that you can't, it is that you have prerequisites or issues that we need to overcome?" "...yeah, I suppose so?" "Good, now let's figure those out, then you can do it, correct?" "Yeah" "OK, change your language. As soon as you say 'I can't', you have already stopped trying."
I do not even hire people who will talk that way, if I can tell at the outset. They are not worth working with. Their parents failed them and now they are quitters. If a person cannot change their speech and attitude, they can go work somewhere else. I did not sign up to babysit or be someone's surrogate father. I have a toddler of my own.
Admin
Then what do you care about? That the interviewee knows this particular trick from that "100 interview questions for dummies" book? Because a) this is probably older than the round manhole cover question, and b) it tells you absolutely nothing.
Do you care about the interviewee's familiarity with river systems? So what if he doesn't catch on that you can estimate at the point of outflow, and not from the rainfall - it's not his problem domain, for all you know he might not have ever seen a river in his life and still be a useful hire.
Do you care about the interviewee's ability to make rough estimates? Then ask a question from his problem domain, instead of deliberately throwing him off - a question where you're sure he should be able to make an educated guess. Like "how long will it take to sum a 1000^4 hypercube on a Pentium processor?" Same principle without the bullshit (or as much bullshit, at least).
The point is, either the guy has read about this technique, or he hasn't. In first case, it tells you nothing whether he succeeds or fails; in the second, he might just figure it out if he's clever, but I don't think this particular kind of cleverness really matters a lot.
Admin
You may assume my numbers account for any factor that might be relevant.
Admin
The point of the exercise is to give the interviewer a problem that they have never encountered before and see if they can work towards a solution, or if they just throw up their hands and cry about not being able to solve it given the data.
A lot of the times in this field we will assign variables that we later come back and put a value in to in order to complete the equation, this is no different.
(just make sure you initialize them, depending upon your language. ;) )
Admin
Even Galactus!
Admin
You know, I didn't want to really participate any further in this silliness, but I doubt that those are overlapping sets of people.
Admin
i think that was an attempt at the pedantry badge...
Admin
Anyone who has "never seen a river", is unlikely to possess the interpersonal skills for anyone to want to work with them.
Admin
Yes, but dickweedery sans pendantry = no flag.
Admin
So a total wild guess is better than admitting you can't have a reasonable solution? Because really, usually it's better to just ask someone for the data than risk being off by several orders of magnitude.
Now that's racist.
Admin
i said attempt, no?
Admin
Ahhhhhhhhhh! No, write out an equation with suitably named variables and operands to show that you could solve it given the correct information. Good enough for me!
Do you always dive right in to coding something, or do you write pseudo-code first?
Admin
No, of course not. Trying to figure out how you might calculate a solution is the point, to see if you're the kind of person capable of that, or just someone who's only good at writing reports, or doesn't even belong in the field at all.
I generally think this kind of question is shit, myself, but I understand why people ask it, except, of course, for Google's take, which is "this is not useful."
Admin
That's a pretty stupid thing to say.
Admin
Don't cockblock my badge attempt. :\P