Stories
Slash Boxes
Comments

SoylentNews is people

posted by janrinok on Monday October 10 2016, @04:37PM   Printer-friendly
from the if-only... dept.

There is an interview with Joel Spolsky on GeekWire which reports that companies should Just shut up and let your devs concentrate:

If you want to attract and keep developers, don't emphasize ping-pong tables, lounges, fire pits and chocolate fountains. Give them private offices or let them work from home, because uninterrupted time to concentrate is the most important and scarcest commodity.

That's the view of Joel Spolsky, CEO of Stack Overflow, a popular Q&A site for programmers, who spoke this morning at the GeekWire Summit in Seattle.

"Facebook's campus in Silicon Valley is an 8-acre open room, and Facebook was very pleased with itself for building what it thought was this amazing place for developers," Spolsky said in an interview with GeekWire co-founder Todd Bishop. "But developers don't want to overhear conversations. That's ideal for a trading floor, but developers need to concentrate, to go to a chatroom and ask questions and get the answers later. Facebook is paying 40-50 percent more than other places, which is usually a sign developers don't want to work there."

[Continues...]

Spolsky, who in 2011 created project-management software Trello, said the "Joel Test" that he created 16 years ago is still a valid way for developers to evaluate prospective employers. It's a list of 12 yes-no questions, with one point given for every "yes" answer:

  1. Do you use source control?
  2. Can you make a build in one step?
  3. Do you make daily builds?
  4. Do you have a bug database?
  5. Do you fix bugs before writing new code?
  6. Do you have an up-to-date schedule?
  7. Do you have a spec?
  8. Do programmers have quiet working conditions?
  9. Do you use the best tools money can buy?
  10. Do you have testers?
  11. Do new candidates write code during their interview?
  12. Do you do hallway usability testing?

"The truth is that most software organizations are running with a score of 2 or 3, and they need serious help, because companies like Microsoft run at 12 full-time," Spolsky said when he created the test. He said that remains true today.

How well does your organization support its developers? If new or better equipment would improve your productivity, is it made available to you? How is your work environment? How well does your organization score on the 12-point "Joel Test"? What is the biggest thing blocking your company from improving?


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 2) by q.kontinuum on Monday October 10 2016, @07:25PM

    by q.kontinuum (532) on Monday October 10 2016, @07:25PM (#412592) Journal

    You waste my time in an interview and I'm going to walk out of it.

    That's why I do coding tasks already in the first phone interview, via colabedit or something. Saves me a lot of time when people with attitude walk out / hang up immediately.

    --
    Registered IRC nick on chat.soylentnews.org: qkontinuum
    Starting Score:    1  point
    Karma-Bonus Modifier   +1  

    Total Score:   2  
  • (Score: 0) by Anonymous Coward on Monday October 10 2016, @07:34PM

    by Anonymous Coward on Monday October 10 2016, @07:34PM (#412596)

    You don't have a Twitch channel full of yourself coding? You must be too old to be a coder. Have you considered early retirement into the gutter?

    • (Score: 2) by q.kontinuum on Monday October 10 2016, @09:33PM

      by q.kontinuum (532) on Monday October 10 2016, @09:33PM (#412651) Journal

      Sorry, I don't understand your ... humour, i guess?...

      I conducted 100-150 interviews between 2011 and 2014. With my employer, interviews are done at least partially by prospective team-mates. A typical question was "Write a method/function that takes an integer argument and returns true if the parameter is a prime number". The question was intended as a starter, to discuss corner-cases, test-cases, optimizations, etc. The candidate was allowed to pick a language from a bigger selection, including but not limited to perl, python, c, c++, Java, groovy or php, or even pseudo-code. 90% of the candidates were not able to write such a function! Around 30-40% didn't have a clue what a prime number is. 20% did have a clue but were uncertain about 1 and 2, or negative numbers. No problem. To be hones, while I would consider the concept of prime numbers general knowledge, I think I never actually used it in my I explained it briefly, thus basically giving already away most of the algorithm. Later I changed the question to ask for a FizzBuzz algorithm instead to avoid explaining prime-numbers.
      Around 5-8% of the candidates were able to solve the problem in time to allow for some further discussion about optimizations. Some of the other candidates had great tales to tell which huge projects they worked in incredibly successfully, and terribly important, as long as I didn't ask too technical questions. I'm pretty certain they also could point to fancy code-bases that they implemented.

      I don't mind having a look at given github-repositories or other examples of prior work. I'd appreciate if a candidate would send me a codewars link or something similar. But this is not a substitute for observing how the candidate works on a given task, if he is the type of programmer carefully crafting the code in advance or the type to write down hastily and iterate until it works properly. If a supposed developer doesn't want to demonstrate his/her skills, it makes me suspicious.

      Somewhere during that time I stumbled over this [codinghorror.com] old blog post. It fits quite nicely with my own experience in this time.

      --
      Registered IRC nick on chat.soylentnews.org: qkontinuum
      • (Score: 0) by Anonymous Coward on Monday October 10 2016, @10:03PM

        by Anonymous Coward on Monday October 10 2016, @10:03PM (#412661)

        FizzBuzz

        I've never written a FizzBuzz in my life. I have written a top posting spam bot that got me top post on every page of a forum thread, though. It's easy. You check the number of posts in the thread, divide by 50 or whatever the page limit is, and post some shit if the remainder is zero. Modular arithmetic is great spammy fun dude! Now let me go memorize whatever the fuck a FizzBuzz is so I can join your jizz soaked team of social brogrammers.

        • (Score: 0) by Anonymous Coward on Tuesday October 11 2016, @02:53PM

          by Anonymous Coward on Tuesday October 11 2016, @02:53PM (#412951)

          Here's an implementation of FizzBuzz in the FizzBuzz programming language I just invented (sorry, no implementations yet — anyone wants to volunteer?):

          do it!

          Note that this language is very flexible; indeed, any source results in a valid FizzBuzz program. In other words, this language makes it impossible to write buggy code! Show me another language that achieves that! So you see, I'm not only a superb coder (coding FizzBuzz in a single line!) but also a superb language developer! ;-)

      • (Score: 1, Offtopic) by The Mighty Buzzard on Monday October 10 2016, @10:19PM

        by The Mighty Buzzard (18) Subscriber Badge <themightybuzzard@proton.me> on Monday October 10 2016, @10:19PM (#412672) Homepage Journal

        Weird, a prime number generator is what I wrote (longhand in a spiral notebook) during my first programming class. Not as classwork, because I'd already read half the book and was bored. I could probably improve on it quite a lot nowadays. Hmmmm....

        --
        My rights don't end where your fear begins.
        • (Score: 2) by q.kontinuum on Monday October 10 2016, @10:34PM

          by q.kontinuum (532) on Monday October 10 2016, @10:34PM (#412683) Journal

          Actually I can imagine you'd do well on the technical part of our servers as long as you get a couple of systems to maintain and improve, and with the humour in our team you might as well fit in nicely. (It's quite multicultural, 8 employees from 8 different nations - no American yet - , but all of us are capable of laughing about their own countries stereotypes.) But we do have some interactions with other teams, and there is some work that sometimes seems nonsensical. Just like someone asking you to write down a short algorithm for an interview: If you only do what you consider wise and walk out on everything else, that's exactly the point which does more harm than good to the team.

          --
          Registered IRC nick on chat.soylentnews.org: qkontinuum
          • (Score: 1, Offtopic) by The Mighty Buzzard on Monday October 10 2016, @11:03PM

            by The Mighty Buzzard (18) Subscriber Badge <themightybuzzard@proton.me> on Monday October 10 2016, @11:03PM (#412692) Homepage Journal

            People I can work with quite well. Stupid work I can do quite well too. Pointless work is what I'm not down with. Give me an actual, useful task and I'll save your guys a few minutes of work. If you like it, hire me. If you don't, I erase the whiteboard or take the paper, allow that I hope you have a nice day, and walk out. I was an independent consultant for over a decade, so I'm fine with occasionally having to eat some work. Never with pointless effort though. Everything I do has to have a purpose, even if it's a stupid one.

            --
            My rights don't end where your fear begins.
            • (Score: 2) by q.kontinuum on Monday October 10 2016, @11:25PM

              by q.kontinuum (532) on Monday October 10 2016, @11:25PM (#412700) Journal

              Others wouldn't want to discuss "real" problems in an interview because they are concerned the "work" might be used in production without them getting payed. Because apparently in their mind it is cheaper to pay human resources to schedule an interview and a manager to ask bullshit questions to slip in the real task for 20 minutes then to pay a consultant for 1h and get some work done. (Yes, I assume it would be stupid to hire a consultant for 1h. It would take him more time to get familiar with the environment in the first place.)

              --
              Registered IRC nick on chat.soylentnews.org: qkontinuum
              • (Score: 1, Offtopic) by The Mighty Buzzard on Tuesday October 11 2016, @01:28AM

                by The Mighty Buzzard (18) Subscriber Badge <themightybuzzard@proton.me> on Tuesday October 11 2016, @01:28AM (#412740) Homepage Journal

                Yup, that is why I said erase the whiteboard or walk out with the paper. Really though, you're not going to get quality code if the person writing it has no idea about the preferred styles for the project, what libraries they can make use of, what constants mean what, and the like. You can get a very simple and generic function/method/etc... that's about it.

                --
                My rights don't end where your fear begins.
                • (Score: 2) by q.kontinuum on Tuesday October 11 2016, @04:52AM

                  by q.kontinuum (532) on Tuesday October 11 2016, @04:52AM (#412814) Journal

                  That's why I usually ask for a very simple function only, which shouldn't require any external library. Amazingly, 90% of the candidates are still not capable to provide it. The whole idea was initially to have a discussion on how to test, identity corner cases etc. External libraries - good if you know them, but most bigger projects have their own set of helper functions etc. which the candidate cannot know anyway, and for generic libraries there is always is duckduckgo and alike to look up what you need when you need it.

                  --
                  Registered IRC nick on chat.soylentnews.org: qkontinuum
  • (Score: 2) by The Mighty Buzzard on Monday October 10 2016, @10:15PM

    by The Mighty Buzzard (18) Subscriber Badge <themightybuzzard@proton.me> on Monday October 10 2016, @10:15PM (#412667) Homepage Journal

    Exactly. It saves everyone time since it's obvious we're not going to work well together.

    --
    My rights don't end where your fear begins.
    • (Score: 3, Funny) by q.kontinuum on Monday October 10 2016, @10:20PM

      by q.kontinuum (532) on Monday October 10 2016, @10:20PM (#412673) Journal

      And this frees up time to post on soylentnews :-) Win-win-win ?

      --
      Registered IRC nick on chat.soylentnews.org: qkontinuum
    • (Score: 1, Informative) by Anonymous Coward on Monday October 10 2016, @11:08PM

      by Anonymous Coward on Monday October 10 2016, @11:08PM (#412693)

      I understand where you are coming from. However, there are a *lot* of fakers out there as in can not do a simple for loop or an if statement. The firms I am working with to find a new job. 3 different people who do not know each other all said the same thing. 'about 1 in 10 actually can do the work they say they can on their resume they are going to test you'.

      They are asking you for a modicum of work of 'prove it'. It is not out of line and reacting as if they offended you makes it easy for them to drop your resume in the trash and laugh 'whew missed a nasty person to work with there'. Its exactly how I would react.

      I always make it up front 'this is not the way I work so you will be getting a distorted view but you can at least see I can code'.

      Most of the time when coding you are looking through docs. Either docs you wrote for specs or someone else wrote. You are running down requirements and making sure the code actually does what they want. Or on the internet looking up that oddball function you used once 15 years ago and how it works again.

      If you had read the 'Joel Test' he said as much. You get a stack of resumes and maybe 10% of them are worth anything and maybe 5% are people that you really want. Yet most 'look' similar. How do you filter them out? You create tests for it. Those fakers are why you are being tested not because they are challenging your intelligence. They just want to make sure you actually can walk the walk.