• (disco) in reply to Polygeekery
    Intercourse:
    Do you always dive right in to coding something, or do you write pseudo-code first?

    I tend to write in languages that don't need pseudocode. The point again?

    Intercourse:
    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!

    But not for the guy in the story, and not for the general Fermi estimation question, where the interviewer will make a point from not giving you any data and still expecting a numerical solution.

    Like "how many piano tuners are there in New York?" You can estimate that as you say, but there's no way I can make a sensible guess out of that. So I start with "how many pianos are there" and how the fuck would I know? I have a few friends, none of which owns a piano, therefore I extrapolate there are no pianos anywhere, hence no piano tuners, QED.

    FrostCat:
    That's a pretty stupid thing to say.

    You can get that other badge if you go on like that...

  • (disco) in reply to FrostCat

    hmm? you're still trying for that one?

  • (disco) in reply to FrostCat
    FrostCat:
    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.

    It will also give you a good idea of just how convoluted their solutions will be. For any given problem, the number of solutions approaches infinity, but only a small few of those are plausible and not shit.

    If a candidate starts by saying that they would set up precipitation meters on a one mile grid over the entire Amazon and measure the rainfall over a 1 year span, you might want to pass...

  • (disco) in reply to Polygeekery
    Intercourse:
    Do you always dive right in to coding something, or do you write pseudo-code first?

    I know a guy who's email sig is "you guys start coding! I'll find out what the customer wants."

  • (disco) in reply to Polygeekery
    Intercourse:
    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.

    Given a problem that you don't have enough information to solve, wouldn't a reasonable reaction be to ask for more information?

    I understand that you don't want to hire defeatists, but there is a lot of room between a defeatist and a person who hasn't been given the resources to actually solve the problem.

    Personally, I don't like to waste time with hypotheticals, or wasting time on things that cannot be done in a semi-correct manner. If that made me a bad hire for a company, we would probably both be better off :)

  • (disco) in reply to Maciejasjmj
    Maciejasjmj:
    the interviewer will make a point from not giving you any data and still expecting a numerical solution.

    Dude, that's where you make a point of putting in several ridiculous numbers, if it bothers you that much. "Yeah, I estimate the flow rate is 1 cubic centimeter per 23 minutes and 17 seconds."

  • (disco) in reply to FrostCat
    FrostCat:
    Dude, that's where you make a point of putting in several ridiculous numbers, if it bothers you that much.

    "Well, I don't have a piano, do you? No? Well then, extrapolating..."

  • (disco) in reply to Maciejasjmj
    Maciejasjmj:
    You can get that other badge if you go on like that...

    Which one, social skills of a thermonuclear device? Either you were trolling, in which case you didn't deserve a serious response, or you had a racial group in mind, which makes you the prejudiced one. I wasn't thinking of any particular group of people except that in the places there aren't many rivers, there probably historically hasn't been much in the way of computers in the past.

  • (disco) in reply to monkeyArms
    monkeyArms:
    Given a problem that you don't have enough information to solve, wouldn't a reasonable reaction be to ask for more information?

    You don't always have it. Have you ever done any job estimation on building software? It is all fucking guesswork.

  • (disco) in reply to accalia
    accalia:
    you're still trying for that one?

    Not actively as such, but I'll never turn down an opportunity to trawl for flags. I've gotten two at least once--someone may give me a pity flag at some point and put me over the top!

  • (disco) in reply to Maciejasjmj
    Maciejasjmj:
    "Well, I don't have a piano, do you? No? Well then, extrapolating..."

    It's in the river, blocking some of the flow, and changing my calculations.

  • (disco) in reply to Polygeekery
    Intercourse:
    If a candidate starts by saying that they would set up precipitation meters on a one mile grid over the entire Amazon and measure the rainfall over a 1 year span, you might want to pass...

    Hey, it's not thinking small, so it passes the Borg test (yes, I am just getting to the part of Voyager where they picked up Seven of Tits^Wnine.

  • (disco) in reply to Polygeekery
    Intercourse:
    It is all fucking guesswork.

    QFUT

  • (disco) in reply to monkeyArms
    monkeyArms:
    Given a problem that you don't have enough information to solve, wouldn't a reasonable reaction be to ask for more information?

    Perhaps. When learning calculus, you rarely are actually looking to solve an equation as such.

  • (disco) in reply to chubertdev
    chubertdev:
    It's in the river, blocking some of the flow, and changing my calculations.

    Too bad for you, chump. It's already factored in to my flow rate estimate.

  • (disco) in reply to FrostCat
    FrostCat:
    yes, I am just getting to the part of Voyager where they picked up Seven of Tits^Wnine.

    hmm. once she loosened up and became more human than borg she was actually a pretty good character.

  • (disco) in reply to FrostCat
    FrostCat:
    Which one, social skills of a thermonuclear device? Either you were trolling, in which case you didn't deserve a serious response, or you had a racial group in mind, which makes you the prejudiced one.

    http://en.wikipedia.org/wiki/Joke

    FrostCat:
    I wasn't thinking of any particular group of people except that in the places there aren't many rivers, there probably historically hasn't been much in the way of computers in the past.

    http://en.wikipedia.org/wiki/Hyperbole

  • (disco) in reply to FrostCat
    FrostCat:
    Too bad for you, chump. It's already factored in to my flow rate estimate.

    Would a mole of pianos upset your estimate?

  • (disco) in reply to Maciejasjmj

    dude, you lost this one. let it go.

  • (disco) in reply to Maciejasjmj
    Maciejasjmj:
    "Well, I don't have a piano, do you? No? Well then, extrapolating..."

    See? Now you get it. Just save that number for last. "and lastly, since I don't know anyone with a piano, I estimate the total in the city is zero, meaning the last tuner died six months ago of starvation and his mummified corpse was just found last week in a crawlspace."

  • (disco) in reply to FrostCat
    FrostCat:
    Which one, social skills of a thermonuclear device?

    Actually, wait, we have one of these? I should apply.

  • (disco) in reply to FrostCat
    FrostCat:
    See? Now you get it. Just save that number for last.

    Why? The sooner you plug it in, the sooner you're done with this stupid question.

  • (disco) in reply to Maciejasjmj
    Maciejasjmj:
    Actually, wait, we have one of these? I should apply.

    You'll have to borrow it from Raymond.

  • (disco) in reply to Maciejasjmj
    Maciejasjmj:
    Why? The sooner you plug it in, the sooner you're done with this stupid question.

    Snort. And that attitude just cost you the job. "This guy's smart but he's got a bad attitude and probably won't get along with the rest of the team."

  • (disco) in reply to Polygeekery

    I agree - I've done a ton of that stuff, and you have to invent some numbers. The difference is you have (with any experience) MANY resources. Such as person X took Y hours to complete Z part of the FOOBAR project - this looks more complicated, so I will double those hours.

    Not sure what that has to do with a programmer given a logic problem without resources or context?

  • (disco) in reply to FrostCat
    FrostCat:
    Snort. And that attitude just cost you the job. "This guy's smart but he's got a bad attitude and probably won't get along with the rest of the team."

    Well, at the point where you're blowing off the seriously asked question with ridiculous numbers, you're already aiming for nothing more than a good TFTI.

    So make it worth, at least.

  • (disco) in reply to FrostCat
    FrostCat:
    Perhaps. When learning calculus, you rarely are actually looking to solve an equation

    wut?

  • (disco) in reply to monkeyArms
    monkeyArms:
    FrostCat: Perhaps. When learning calculus, you rarely are actually looking to solve an equation

    wut? + C

    CTFY

  • (disco) in reply to monkeyArms

    In earlier stages of math, you try to actually solve an equation, right? "In the equation 3x^2 + 2x + 5, solve for x."

    In calculus class, you're not trying--usually--to find the value of x. "Solving the equation" consists of finding the first derivative of the given equation, or the second integral, etc. That's all I meant.

    Sure, you're still trying to find an answer, but it's a bit more meta. In these stupid interview questions, you're not really trying to find out how much water flows out of the Amazon in a year, you're trying to come up with a semi-reasonable equation that given the right numbers could produce a reasonable answer.

  • (disco) in reply to monkeyArms
    Maciejasjmj:
    I tend to write in languages that don't need pseudocode. The point again?

    Are you one of those "good code is self-documenting" people? If so, what you really mean is "2 years later I am going to forget what half this shit does".

    monkeyArms:
    Not sure what that has to do with a programmer given a logic problem without resources or context?

    Because of this statement:

    Maciejasjmj:
    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.

    When estimating software jobs, you are not going to have the data. Not all of it. Not by a long shot. When you estimate software, you use a lot of assumptive language: "I think", "it should be", "I assume", "I believe". If you need hard numbers to solve an equation, you can never estimate a software job.

    monkeyArms:
    Such as person X took Y hours to complete Z part of the FOOBAR project - this looks more complicated, so I will double those hours.

    Yeah, and that is where shit can fall apart on you. Why are you doubling it? Will it take twice as long? Is it twice as complicated (in that case, it will usually take 4x as long)? What if it takes 3x as long? What if you over-estimated the length of time and you are way over and miss the job altogether?

    These are the kinds of problems and equations that parallel the original (shitty) FP article. I usually tell people that if they get any of the first 6 jobs they bid, they probably just bought the job and are going to lose their ass.

    What about the other "adjustments for windage" you have to make when bidding software? You are covered up in work, so you bid really high so that you can roll the extra profits from that job in to expansion...if you get it? Looking at a dry spot in the calendar in three months? You might want to cut some of the modifiers you applied along the way in order to keep people moving and run at a lower profit margin because a low profit margin is always better than no cashflow? Client seemed like a fucking asshole? That demands a premium, because you know they are going to go over on hours and you want to add some hours in for that time when they might will change path mid project and then you can absorb some of that without having to renegotiate.

    This is all roughly the same as the original "Amazon river" problem. Just start fucking working and catch any mistakes as you iterate.

  • (disco) in reply to FrostCat

    Oh, got it. I guess I wasn't considering that someone might only be partially trained for a job, but excellent to that point.

    Maybe the whole debate is moot without knowing the exact position in the exact company....

  • (disco) in reply to Maciejasjmj
    Maciejasjmj:
    I tend to write in languages that don't need pseudocode. The point again?

    Also, one more thing, right or wrong this is how I start each solution: First I write out fairly detailed pseudo-code. More so than most I would imagine. I try to get it as close to how I imagine the code will finally look (from a story perspective) and I create it inside the .cpp or .cs or .rb or .py file that I will compile (for compiled languaged that is) and then select it all and comment it out. As I go along, my comments are mostly already written and it is easier for me to stay on task. I am not sure how the majority of people do it, but this is how I go about it.

    Also, I never worked in a corporate code monkey cage, so I imagine I am pretty far from best practices on lots of shit. If that is just idiotic to do, I am all about hearing a better way. I do not claim that my way is the right way. It is just that I always write pseudo-code.

  • (disco) in reply to Polygeekery

    I understand (more than you know) where you are coming from on the quoting aspect. Somehow after reading the article (and/or the comments) I was thinking the position was for a developer, not a "system manager". I can see how a response to that question might be relevant for someone who does what you do, and I'm still not sure what a system manager job might entail. Projection on my part, sorry.

  • (disco) in reply to monkeyArms
    monkeyArms:
    Projection on my part, sorry.

    We don't do sorry around here unless the grievances are extreme, and people who do that refuse to say that they are sorry because they are not at fault, it is their "online persona" that did it, so they are absolved of all wrong-doing. ;)

    In all fairness, I was probably projecting also, and letting "scope creep" set in, etc. No worries.

  • (disco) in reply to monkeyArms
    monkeyArms:
    Projection on my part, sorry.

    Projection happens, it's even more complicated by the fact that multiple TDWTFers (myself included) are playing an online persona, some of use closely related to IRL persona, some very much removed. The trick is recognizing when it's happened and correcting.

    that's a hard skill.

    Intercourse:
    We don't do sorry around here unless the grievances are extreme,

    I'd disagree here. I've done sorries* before for genuine grievances, even if they weren't grievous.

    I actually owe one to a certain someone, but it's probably going to be a bit before i hand it out. emotions still raw on both sides for that one

    * sorrys? sorrys'? .... that's a weird one to try and pluralize....

  • (disco) in reply to accalia
    accalia:
    I'd disagree here. I've done sorries* before for genuine grievances, even if they weren't grievous.

    Yeah, well, you are nicer than most of the hardasses 'round these parts.

  • (disco) in reply to Polygeekery
    Intercourse:
    Yeah, well, you are nicer than most of the hardasses 'round these parts.

    well maybe i'll rub off on some of you as you rub off on me and we'll meet in the middle as a bunch of over medium asses?

    ... man that souinds like something @algorythmics could have fun with.

  • (disco) in reply to accalia
    accalia:
    that souinds like something @algorythmics could have fun with.

    Oh, you had to summon him here, eh? :stuck_out_tongue:

  • (disco) in reply to Polygeekery
    Intercourse:
    Oh, you had to summon him here, eh?

    you deny that that comment wasn't practically gagging for him to visit and fire off a fine bon mot at that one?

  • (disco) in reply to accalia
    accalia:
    ... man that souinds like something @algorythmics could have fun with.

    someone's ass will be sorrey

  • (disco) in reply to accalia
    accalia:
    practically gagging for him

    There ya go, egging him on. ;)

  • (disco)

    While I find FE problems tiresome, I wouldn't hold it against the company if 1) this was a client-facing position and 2) the rest of the interview was technical. If the interview is just a FE problem, then the company has not appraised my technical skill during the interview, and that's a major red flag.

    Software estimation is a world of hurt. If your development process is more complex than "copy-paste existing module, make minor changes, release," it's near impossible to get right. You don't typically know all the complicating factors until you're knee-deep in making changes.

  • (disco) in reply to Polygeekery

    I have a bad habit of opening 10 browser tabs of shit I want to read over lunch, and then confusing the details.

    If it makes you feel better, I'm only like 42% sorry (that's not even half!)

  • (disco) in reply to monkeyArms
    monkeyArms:
    I have a bad habit of opening 10 browser tabs of shit I want to read over lunch, and then confusing the details.

    I have a bad habit of starting a response, getting pulled away, continuing, getting pulled away by something else, lather, rinse, repeat. If I do not proofread it, it ends up a disjointed mess that is incomprehensible. If you want, and DiscoSearch cooperated, I could show you The Worst Of The Worst for that one for me. It was horrible. I did not even try to redeem myself. I just admitted that my post was fucking idiotic and moved on...

  • (disco) in reply to chubertdev
  • (disco) in reply to accalia
    accalia:
    >Intercourse: Oh, you had to summon him here, eh?

    you deny that that comment wasn't practically gagging for him to visit and fire off a fine bon mot at that one?

    I rather thought this post was ripe for a reply referring to a different body fluid of interest to him, but I decided I really didn't want to go there.

  • (disco) in reply to Polygeekery

    Do you ask questions like this in real life, beyond a theoretical conversation?

  • (disco) in reply to Groaner

    Software development is the sum of R&D. You can estimate Development, but your Research is only done when you have a solution.

  • (disco) in reply to evandentremont
    evandentremont:
    Do you ask questions like this in real life, beyond a theoretical conversation?

    Not sure which question you refer to. Not quoting everything is Doing It Wrong. But...probably. This is me. No "online persona" here. I am a lovable prick here and IRL.

  • (disco) in reply to Polygeekery

    Oh no, I mean the Amazon one. Is that something you'd ask in an interview?

Leave a comment on “The Amazon River”

Log In or post as a guest

Replying to comment #:

« Return to Article