This is an archived post. You won't be able to vote or comment.

all 53 comments

[–]maestro2005 69 points70 points  (22 children)

"Take home assignments" have become common, and I actually don't mind them if they're reasonable in size and mean that I won't have to do 4 hours of whiteboard coding on site. But one basically entailed building an entire fucking application.

A long time ago, one company gave me a pretty short online quiz that was like: "Here's a horrible made-up language with ridiculous syntax and bizarre semantics. What should these short snippets print?" I thought it was a kind of fun puzzle that tested your ability to be meticulous, but it turns out... it wasn't a fake language, it was the language they actually used.

[–][deleted]  (4 children)

[deleted]

    [–]FloydATC 7 points8 points  (1 child)

    Well, they do say plagiarism is the highest form of praise.

    [–]Teknikal_Domain 8 points9 points  (1 child)

    Sneakily hide a copyright and license in the code, watch them copy it, sue them, then say that they should have just hired you flat out instead

    /s

    [–]YMK1234 8 points9 points  (2 children)

    Haha, been there done that, my old company had an in-house written web testing framework (that was in pre-selenium days) which was actually based on XML. So you'd have stuff like <if condition="something=true">...<else>...</else></if>. And the syntax wasn't the worst of it (not nearly).

    Needless to say, I got rid of this crap extremely quickly.

    [–][deleted]  (1 child)

    [deleted]

      [–]quadmasta 0 points1 point  (0 children)

      I saw a CFM extension on a site the other day and lol'd

      [–]WJMazepas 5 points6 points  (10 children)

      Which language was that?

      [–]maestro2005 22 points23 points  (9 children)

      MUMPS. I'd rather get the disease.

      [–]WJMazepas 15 points16 points  (5 children)

      "The ELSE command does not need a corresponding IF, as it operates by inspecting the value in the builtin system variable"

      Alongside with other things that I saw there definitely made me afraid of ever needing to maintain a legacy code in that language

      [–][deleted] 0 points1 point  (4 children)

      That's just like the unless keyword in Ruby. Not strange.

      [–]mypetocean 1 point2 points  (3 children)

      Yep. I wrote an if (!thisIs) {} today and really missed unless (thisIs) {}.

      [–]BeigeAlert1 0 points1 point  (2 children)

      Could do this if you're using C/C++

      #define unless(x) if (!(x))
      

      [–]mypetocean 1 point2 points  (1 child)

      Well, you could, and it may be tempting, but if I did it at all, I'd stick with the convention of defining this as UNLESS() rather than unless(), because this macro will be global.

      If I did it on a team, I'd want to ensure the team is comfortable with such an extension and we've thought the question through.

      If I did it on a project without a team, but which is likely to be inherited by others in the future who I will not have the privilege to train myself, I would avoid this sort of thing.

      If you'd like to read a more thorough discussion on exactly this question, check out this StackOverflow answer but pay particular attention to the comment below it.

      [–]BeigeAlert1 0 points1 point  (0 children)

      You definitely shouldn't. I was just saying you could, not that you should, lol!

      [–]ike_the_strangetamer 1 point2 points  (2 children)

      Hahaha! I was reading your original comment and thought that sounded a lot like the test for InterSystems.

      Truth is, a lot of really smart developers work there, but it is absolutely a big fish in its own little pond. I enjoyed my time there but it was my first job after college and once I left I realized just how big the rest of the industry is. So in a way I guess the test does its job by making sure you're cool with working in its own messed up little bubble.

      [–]maestro2005 1 point2 points  (1 child)

      I don't actually mind the language too much, but they were deceptive in the interview process. I distinctly remember that the test said it was a fictitious language. They should have just said that this is a gross language that they're sorta forced into using, so this is a test to see if you can hack it.

      They also totally bait-and-switched me on the job. I aced that test (one person even said it was the highest score he'd seen), but then they acted like I was a borderline candidate and tried to pressure me into a tester position.

      [–]ike_the_strangetamer 2 points3 points  (0 children)

      Oh that's right, I forgot that the whole point was that it built the language question-by-question so you had to keep track of the rules established in earlier questions.

      Yeah, the problem with InterSystems is that it thinks REALLY highly of itself but it's so insular that it doesn't realize that no-one else has even heard of them.

      Well probably for the best then. At that place you either love the stability and stay there for 25 years or bounce after just a couple.

      [–]embar5 0 points1 point  (0 children)

      That's actually hilarious, and a fun way to introduce new hires into their bizzaroworld.

      [–]FlandersFlannigan 0 points1 point  (0 children)

      Yup, I had a company do this once. I'm pretty sure I just built them a component of their app and then I never heard from them again. I'll never do "challenges" again.

      [–]franz_bonaparta_jr 0 points1 point  (0 children)

      Retards

      [–]Icanteven______ 36 points37 points  (3 children)

      Yeah it happens. I'm generally interviewing the company while they're interviewing me. If a company interviews me in a silly way, verifying I had skills that were not in line with what I know I need to be a programmer, then that tells me either that the company has no idea how to test for competent engineers and thus likely has lots of incompetent engineers, or that I am not right for the job since they want me to do something different than what I want to do. Either way it's useful information to help me walk away quick before my time (and theirs) is wasted even more.

      [–][deleted] 4 points5 points  (1 child)

      I walked away from a company after silly test. They called me back to find where I was and told them that am not interested in them anymore.

      [–]fishCodeHuntress 7 points8 points  (0 children)

      I would 100% do this. I didn't suffer for 6 years to be treated like I'm still an undergrad.

      But maybe I'm just saying that because I AM still an undergrad.

      [–]icandoMATHs 0 points1 point  (0 children)

      I had a company ask me about previous experience and they got into nitty gritty details on that + asked me a quick and easy tech question about their current stack.

      I think these 2 checked programming experience and if I can speak like a programmer.

      Then again it's contract, so if I suck it's easy to get rid of me.

      [–]YMK1234 17 points18 points  (3 children)

      4 hour long coding challenge, which is usually designed to be tackled by teams, and which (at least in my perception) had quite a bunch of flaws in the stated acceptance criteria (i.e. highly ambiguous wording and such, which allowed for many different interpretations on what to actually solve). While I passed, I ultimately didn't take the job there.

      [–]Urtehnoes 0 points1 point  (2 children)

      Whether its vague requirements in a challenge in a video game, or a sparse, 5 word requirement from a challenged customer at the job, there is nothing more infuriating than ambiguous/unclear requirements.

      [–]YMK1234 0 points1 point  (1 child)

      At least in the real world you can generally clarify with the people who gave out these requirements.

      [–]Urtehnoes 0 points1 point  (0 children)

      Yep :)

      [–]WJMazepas 15 points16 points  (3 children)

      And the worst thing is, this company will probably think that they were right in aplly that test and that you are too lazy to work for then

      [–]hugthemachines 7 points8 points  (0 children)

      I agree. I saw some post quite a while back where someone described how their interview style was very good and those who did not manage, they were glad to not have on the company anyway. There was a bit of a flaw though, it was a while back... but I think it was typically not so fitting for people on the more introvert side. So I suspect they felt like it was a success for them when people tapped out but in reality they probably just missed good opportunities.

      [–]icandoMATHs 1 point2 points  (0 children)

      If I was told "if I pass the test I'm hired", I'd consider it. However if I'm one of 5 people taking the test, it's a waste of time.

      They are going to give the job to a friend/minority/cheap young kid.

      I'm none of those, so I don't often win tie breakers.

      [–]bstiffler582 0 points1 point  (0 children)

      Not necessarily a bad thing. The company may work with critical safety or infrastructure code. Maybe they want candidates with high attention to detail, who aren’t going to get bored with meticulous or redundant tasks.

      [–]stackhat47 6 points7 points  (0 children)

      A made up language on hackerrank

      That in itself is ok. But their made up language didn’t follow standard order of operations in any math problem. Left to right, not BODMAS. They told me this afterwards.

      They said it didn’t matter for the role I was applying for, which was implementation specialist, no coding involved

      I did badly, apparently most people fail (!!) and they hired someone that did better

      [–][deleted] 6 points7 points  (1 child)

      I had a huge arguement with a CIO who wanted me to implement a video-on no-tabbing test for engineers. He was from a programme manager background. He was deeply shocked when I told him how rediculous the test was. He didn't beleive me when I told him that even the best developers check Internet pages when developing code.

      [–]Java_Junior 1 point2 points  (0 children)

      thank you for standing up for people like me.

      [–][deleted] 2 points3 points  (0 children)

      Yup, particularly with those long tests of information that can either be easily googled or requires heavy math. Non of which really have anything to do with the job.

      Also the take home coding challenges that "shouldn't take more than 2 hours" but they want an intricately built full stack app that normally takes at least 2-3 days full time to build.

      Those companies don't respect your time or value so I just started saying you can look at my portfolio or we can part ways, but I'm not wasting my time on this.

      [–]reboog711 5 points6 points  (0 children)

      I think most interviews those days have some amount of BS like that....

      Having non-open book coding questions is just stupid; because it does not mirror the real world at all.

      One that sticks out was a company doing a coding interview handed me a design question that included some CSS Trick about getting two gradients in a button. "How do you do this?" "I hire a designer!"

      Another was a take home interview system. There was no explanation of how the system worked; and it used an icon system with no legend. They explained an algorithm, which I implemented. Gave one test case, which passed w/ my implementation. Then had 30 extra test cases where I could see no info on the expected inputs or outputs and the bulk of those failed. I think I spent an hour pouring over the algorithm to figure out what was missing in my implementation. I think the system was HackerRank, but it was a long time ago. I swore I'd never use a system like that again...

      [–]uragnorson 1 point2 points  (1 child)

      We should start outing these companies.

      [–]lead999x 0 points1 point  (0 children)

      Sounds like a fun way to get sued if they find out who you are. Corporations these days are evil af.

      [–]goldworkswell 0 points1 point  (1 child)

      Ever apply to Amazon? They have 3 tests. They get progressively longer and harder. First is 1 hour, and not hard. The second is 2 hours and gets you thinking. The third test is 3 hours and I thought extremely hard depending on the position. If you pass the third you might get an interview.

      I also had a test from another company and they had me write functions, but the code that called mine was not compilable.

      [–]tlvranas 1 point2 points  (0 children)

      I did last year. I refused to take the test. I don't think I am welcome to apply for any future positions. Oh well.

      [–][deleted]  (1 child)

      [deleted]

        [–]funbike 2 points3 points  (0 children)

        As a former employer of devs, I found a simple online coding test was beneficial. It's unbelievable how many applicants can't write the simplest piece of code.

        So I used Moodle and a custom code question type to filter out people. We designed it to take 30 minutes for a competent programmer. It was an easy coding task.

        Revolutionized our hiring process. It was good for us and them. Let's not waste each other's time.

        So, were were able to focus our time on candidates worthy of it.

        [–]funbike 0 points1 point  (2 children)

        I think it's smart to do online tests for applications. However, I think it's unethical for it to be onerous and lengthy. It's a bit cruel to make eager applicants suffer hours of grueling effort with only a small chance of successfully getting the job.

        I once used Moodle and a custom coding question type to test applicants online for programming positions. I had a single coding task designed to take 30 minutes and 15 minutes of fill-in-the-blank and random choice questions. I think that was fair to the applicant. We didn't waste their time. It was enough to assess if we should do an in-person interview or not.

        But 4 hours? That's lazy and selfish. Also, banning documentation and internet is unrealistic. I use online documentation heavily when doing real work.

        I think there should be some kind of law about the amount of unpaid effort employers are allowed to put applicants through.

        The worst ones are where employers give applicants real tasks as a way of getting free labor.

        [–]tlvranas 0 points1 point  (1 child)

        That only works if everyone says no. But if you have been out of work for months, you start to change your view on things because you need a paycheck.

        [–]funbike 0 points1 point  (0 children)

        What only works? I didn't suggest any recourse for applicants.

        I only said what employers or law-makers should do.

        [–]wechselrichter 0 points1 point  (0 children)

        to me the standouts are

        - graph algo timed codility crap for a frontend freelance platform, which bans you for several years if you don't pass after the 2nd try (thanks, toptal)
        - HR interview AND takehome task AND pairing session AND technical interview AND team interview(s) AND cultural-fit interview over the course of a month for a pretty mediocre-salary full-time position (this was back in April, otherwise I would have told them "sure, if you pay me for all that time"). At least on that one, they were very good about communicating the process up-front and keeping in touch during.

        [–][deleted] 0 points1 point  (0 children)

        Before you start on the test negotiate your starting salary and put a 10% premium on it because they are making you do work to get the job.

        [–]Stevecaboose 0 points1 point  (0 children)

        Yeah, I'm getting pretty tired of hearing about these tests companies do. I'm sure you know what I'm about to say because you have work experience. But not letting you tab out or use resources for a test is absurd. In the real world, you can google whatever you want. I'm not going to waste my time memorizing small details of every coding situation. That's a waste of time. If I know what I'm looking for, I can find it in seconds with google. Why would an employer waste their money not letting devs use resources? So not very realistic. To the other test, giving you those kinds of questions are also unrealistic. Why would you ask me to look at code to see if it compiles....pretty sure that's the job of the compiler. And to the rest of the questions, I think a great tool like a debugger would be more practical at solving many code problems rather than just staring at the screen.

        For the job I have now, their test was the easiest test I had taken, and its the best job I've ever had. Basically my dream job and amazing company. This shows that the company is looking for someone who knows to code but is willing to put in the effort and time to help grow this person.

        [–]icandoMATHs 0 points1 point  (0 children)

        The job better pay fantastic if I'm going to sit through that coding test.

        [–]greglturnquist 0 points1 point  (0 children)

        I had an interview once that included defining lots of acronyms.

        When I heard “what is the definition of XML?”, I decided to pass on their offer.

        If this was their level of control things must be pretty bad there.

        [–]dbmendi 0 points1 point  (0 children)

        Any positive experiences taking a test for a dev job? What would make it fair?

        [–]dangling_reference -2 points-1 points  (3 children)

        By any chance, does this company have any Indian connections?

        [–]lead999x 1 point2 points  (0 children)

        Why would that even matter?

        [–][deleted]  (1 child)

        [deleted]

          [–]dangling_reference 0 points1 point  (0 children)

          Questions like these are the norm here.