Hiring devs


  • mod

    Maybe my expectations are way off base because of my QA background. Here's a poll for the masses:

    ##Would you hire a webdev who had never written a unit test before?

    [poll name="tests"]

    • Yes
    • No
      [/poll]

    (Assume this is a non-entry-level position; we're not talking kids fresh out of school here, we're talking experienced developers).



  • Haha! Read 'em and weep, QA person! Oh...someone voted no.



  • Is it even that common for webdevs to write unit tests? I've seen javascript unit tests done once at work and they were derelict and couldn't run anymore so we dumped them.


  • sockdevs

    if they are going for a mid or senior developer position and they havent ever written an automated test suite, no i wouldn't recommend to hire them.

    doubly so if they are a web dev because it's at least twice as important to test for the web as it is for the systems side of things.


  • mod

    I should probably have clarified I meant for a flexible server-side and front-end position. Too late now, I guess.

    Though with the re-rise of thick client frameworks, I'd be wary even of front-end-only devs.



  • It would probably be good if the person at least knows what unit tests are (and doesn't think that they're a waste of time).

    The last time I did full-time web development was several years ago, and our group wasn't advanced enough for those fancy unit test things. I could go back into web development now (but I don't want to), and I've never written a unit test of my own. That doesn't mean that I don't know why they're good to have, and I could easily learn the special incantation for your language/framework the day before starting the job.


  • :belt_onion:

    I went with "yes", provided what @Dragnslcr said above.



  • It would be a factor in my hiring decision.

    I disagree entirely with having "trap" questions like this where a single "wrong" answer will utterly disqualify someone.

    "They're amazing in every way and literally turned water into wine during the interview right before curing Carl's stomach cancer, but he said he hasn't written a unit test before." "DENIED! NO HIRE!"


  • Discourse touched me in a no-no place

    Trap question: What is the best Star Trek movie?



  • "V: The Final Frontier."

    "Not only are we not hiring you, but our policy is that we now must give you a wedgie."

    (I kid, I actually kind of like V.)



  • I'm in the process of changing jobs from writing mostly fat client, C++/C# CRUD apps to a role with far more web apps. I have written next to no unit tests in the past 5 years, but I do know what they are and what they are intended for.

    With that in mind, I vote a qualified yes - you must appreciate and be willing to use them consistently (I know not using them is consistent, but aim for full coverage). If you have the attitude of my old boss of "unit tests are a waste of time. Why would you need to be able to test things every time you build?" then you have no place programming in my book.



  • Easy one. Star Trek 2 - Wrath of Khan.


  • sockdevs

    hmm... I think the voyage home was ever so slightly better than Kahn.

    Between the two of them though they are clearly the best of the original series of movies.


  • Discourse touched me in a no-no place

    There is one right answer (Khan) , one okay you're strange answer (Undiscovered Country), a whole bunch of ones that are ok if you defend it well (all the other TOS and TNG movies) and at last count 2 wrong ones (Reboots).

    There are a whole universe of other answers that are instant interview enders as well (Star Wars has happened in occasion).



  • That is a close second in my book. If only for...

    [spoiler]

    Hello Computer
    [/spoiler]



  • @Weng said:

    if you defend it well (all the other TOS and TNG movies)

    Hell no. Insurrection? No. Generations? Get out of here. Nemesis? ... well it'd have to be a STRONG case, but. Possibly.



  • I wouldn't disqualify him directly, but it would be a concern. Anything above an entry level position will have people learning from them. Someone applying for a certain level of seniority might be resistant to change himself. So if they have no experience you already have some friction for adding tests as he goes, and he might not think to correct juniors when they slip.

    But, if they say he's always wanted to but management didn't let him, or otherwise shows admirable qualities, I would consider those merits against those of other candidates.



  • E_IT_DEPENDS_NOT_FOUND

    Could be they wanted to, but it was a fireable offense at past jobs. Ok, guess this answer actually implies "yes"...



  • Star Trek I: Boring. Might have been passable if it was an hour shorter.
    Star Trek II: Excellent
    Star Trek III: Not bad
    Star Trek IV: Excellent
    Star Trek V: Alternates between boring and :wtf:
    Star Trek VI: Excellent
    Generations: Would have made an okay two-parter in TNG, but shouldn't be a movie. Meh at best.
    First Contact: Excellent
    Insurrection: Not bad
    Nemesis: Terrible. Star Trek II recycled with TNG characters.
    Reboot I: WTF is this shit?
    Reboot II: You guys aren't even trying anymore, I quit on Star Trek. I'm going back to Star Wars where J.J. Abrams can't mess everything up.

    Star Wars VII: What? J.J. Abrams is now involved?
    Darth Vader NO! – 00:05
    — animorphy



  • It shouldn't be about if they have written unit tests, but if they will write them.



  • On-topic, lack of unit tests wouldn't bother me. I may be biased though, in college we were taught "Unit tests are good, m'kay?" but weren't really taught what they were or how to use them. So far, the real world seems to be about the same.


  • Discourse touched me in a no-no place

    It could be done in theory if the candidate defined "Best" to refer to some specific objective criteria.

    Basically style points. We like people who flagrantly take one look at the box, the fact that they're outside of it, and light the box on fire. On this basis, you could theoretically construct an argument that Empire Strikes Back is objectively a better Star Trek movie than any of the Star Trek movies.

    Long story short, if you're culturally right, good. If you hit a fucking home run defending the borderline indefensible, you're in. If you're a cultural heathen, sorry it won't work out.

    But only to a point. Hence the actual wrong answers.


  • mod

    @blakeyrat said:

    I disagree entirely with having "trap" questions like th

    That's fair, I'm just judging gut feel here. The guy I was talking to didn't even see it as a factor in his decision, while I'd be giving someone the sideeye if they said they'd never written one. "Like, what, ever? Really?"



  • Does your workplace require them for production code? Or do you just view them as "nice to have if you get the time"?



  • @blakeyrat said:

    (I kid, I actually kind of like V.)

    Maybe in an "aw, cute, Shatner thought he could write a movie" kind of way.



  • V was great for developing the characters though. It's major flaw was the cheap special effects, which weren't Shatner's fault (the studio fucked up scheduling and weren't able to hire ILM again.)



  • @blakeyrat said:

    V was great for developing the characters though. It's major flaw was the cheap special effects, laughably corny scenes, dumb dialog, awkward action set pieces and fall-flat attempts at humor, which were Shatner's fault (we wrote/directed)

    I think the special effects were the least of this movie's problems. I don't remember much about character development but maybe I should watch it again.

    And it's funny how much better things were when Nimoy is involved with the writing/directing.



  • @Yamikuronue said:

    "Like, what, ever? Really?"

    This is what would make me suspicious. I write hobby projects, and while I don't use testing frameworks or stuff like that, when I'm doing some bit of functionality that has clear inputs and outputs I'll have a few test cases for making sure I got it right. To have never written anything that you can call an "unit test" in an interview would be very odd.



  • @blakeyrat said:

    Hell no. Insurrection? No. Generations? Get out of here. Nemesis? ... well it'd have to be a STRONG case, but. Possibly.

    Nemesis was definitely the worse than those other two. It descended into laughably bad territory. Remember the scene in galaxy quest about the pointless spinning fan over the empty pit?


  • mod

    @Nocha said:

    Does your workplace require them for production code?

    We will in the next version of our flagship. We don't for legacy code that predates our introduction of unit testing as a standard practice, which in practice is just about all the code we have. So... yes and no?



  • Did it take much to talk your boss round to that way of thinking? I ask after spending 3 years trying to talk my boss into it and failing miserably (despite regular regressions). Not sure if it just him being frustratingly stuck in his ways, or me sucking at persuading people.



  • @Nocha said:

    I ask after spending 3 years trying to talk my boss into it and failing miserably (despite regular regressions).

    Why do you still work there?



  • I handed my notice in last week. Just a case of surviving my notice period without going on a killing spree or laughing when something else breaks that they have been warned about.



  • I've yet to work at a company where any developer even knows what a unit test is.

    That's not to say all the developers I've worked with are :wtf:. But the staggering lack of knowledge about WHAT testing is or HOW TO DO IT is-- umm-- staggering.



  • @Yamikuronue said:

    Would you hire a webdev who had never written a unit test beforedoesn't know what a unit test is?

    In your case, I would, in my case, I'd be slightly more hesitant - though it's still not a deal-breaker to me.

    Writing tests takes time. Sometimes it's a lot of time, and sometimes it's time you don't have. Hell, I don't think I have written any unit tests in my work projects - not because I don't want to, trust me, I'd fucking love to have a proper regression suite on all my projects, but because there was never any way to pull it off so that it doesn't become a bunch of dead code running against outdated requirements testing things that probably aren't even there anymore.

    So bottom line is, the fact that someone has never written a unit test before is not necessarily a mark on their record. Question is, do they want to learn, and is it a necessity in what they're going to be doing.



  • @Weng said:

    Trap question: What is the best Star Trek movie?

    Which one has that part where Mark Hamill learns his father is James Earl Jones?



  • @fwd said:

    Which one has that part where Mark Hamill learns his father is James Earl Jones?

    No, that's Star Wars. Star Trek is the one with Kirk and the Enterprise.


    Filed under: Anti-trolling



  • @Lorne_Kates said:

    @fwd said:
    Which one has that part where Mark Hamill learns his father is James Earl Jones?

    No, that's Star Wars. Star Trek is the one with Kirk and the Enterprise.


    Filed under: Anti-trolling

    What does a rental car company have to do with anything?

    Filed under: I wanted to make a Kirk Cameron joke but couldn't think of anything snappy and also I don't know how markdown works so this isn't even a pretend link.



  • @fwd said:

    also I don't know how markdown works so this isn't even a pretend link

    You can use HTML if you prefer a markup language with an actual specification.


  • sockdevs

    @ben_lubar said:

    if you prefer a markup language with an actual specification.

    markdown has an actual specification.

    discobbmarkhtmlcodedown on the other hand.....



  • @accalia said:

    markdown has an actual specification.

    You mean that blog post someone wrote at some point? Or the reference implementation in shitty perl?


  • sockdevs

    i didn't say it was a good specification!



  • And the specification actually says you have to mix in HTML if you want to do anything beyond the simple formatting markdown supports. You're 2/3 of the way to discobbmarkhtmlcodedown already.



  • @fwd said:

    @Weng said:
    Trap question: What is the best Star Trek movie?

    Which one has that part where Mark Hamill learns his father is James Earl Jones?

    Dude, spoiler tags please!!

    :trolleybus:


  • Discourse touched me in a no-no place

    @blakeyrat said:

    It's major flaw was the cheap special effect

    Wait, you mean ships don't give two different decks the same number? Preposterous!



  • Haha I thought that little editing blunder was hilarious. Probably not intentionally though...



  • @blakeyrat said:

    Haha I thought that little editing blunder was hilarious. Probably not intentionally though...

    It wasn't an editing flaw. Turbolifts move in more than 3 dimensions.



  • I think I'd prefer hiring a webdev who hasn't been corrupted by TDD.

    Requirement:

    I want a submit comment form that takes a name, title, and body, and stores it in the Comments table.

    Simple Solution (2 hours):

    // simple asp.net webform / model / whatever
    btnClick.Submit => { 
        DB.AddComment( txtName.Text, txtTitle.Text, txtBody.Text ); 
        context.Response.Redirect(articleUrl); 
    }
    

    TDD Solution (2 weeks... WITH 100% TEST COVERAGE):



  • My view on "testing" any web application, is that the subtle difference between that and an "executable" application is that a wed application has everything laid out for visual inspection. If a button, link or feature is there you can simply "see" if behaves as expected. If it not, then you know you need to add it. Any testing method (in a very pure sense) does not need to be aware of the details, just the functionality. The issue with a web applications is cross browser compatibility. A test may be to see if button X exists and an automated test may claim that it does, but it cannot tell if it visible or even accessible.

    Admittedly, this applies to a executable that has a UI, because that is what a web app essentially is. An app that takes input data and thinks about it for a few hours or days before spitting out a result will need some form of testing. Whilst your web app might use such an executable, it is not the "responsibility" of the web app to "make" it work, only that it can access it and process the response.

    That said, I routinely (in development) create a "diagnostic page" where I can "test" the underlying executable if only to submit edge cases from the web app.

    As has been said, creating tests takes time away from creating the app. Better to have them done independently otherwise the web app might never get developed in time. Better something working 50% than something not working at all (not a contradiction!)

    CBA to list all potential INB4's so feel free to have a "go" at my post / reasoning and have them ignored.



  • It's not always up to the developer whether tests are written or not.

    Also, unit tests in practice are a trade off between long term maintainabilty and short term speed / cost. Both can make sense, depending on the circumstances. For example, does an internal one-off migration tool really need a full suite of unit tests, doubling its cost?

    On the other hand, if the candidate doesn't even know what unit tests are, that's cause for concern. Also, look into the guy's/girl's history on personal projects, where they have full control. If they make an OSS library and don't include unit tests, well, they'd have some explaining to do. Still not an instant fail, but a talking point for sure.


Log in to reply
 

Looks like your connection to What the Daily WTF? was lost, please wait while we try to reconnect.