Slashdot Mirror


IDC: 40 Percent of Developers Are 'Hobbyists'

itwbennett writes "A new IDC study has found that 'of the 18.5 million software developers in the world, about 7.5 million — roughly 40 percent — are so-called hobbyist developers,' which by IDC's definition is 'someone who spends 10 hours a month or more writing computer or mobile device programs, even though they are not paid primarily to be a programmer.' Lumped into this group are students, people hoping to strike it rich with mobile apps, and people who code on the job but aren't counted among the developer ranks."

97 of 148 comments (clear)

  1. Huh? by Anonymous Coward · · Score: 1

    Is anybody actually surprised at this?

    1. Re:Huh? by i+kan+reed · · Score: 5, Insightful

      Not me, coding for fun and 10 hours a month is way better than 40 hours a week on stuff you don't really care about.

    2. Re:Huh? by mwvdlee · · Score: 1

      What do you do in those 40 hours a week and why do you think you could only care about a job if it doesn't involve coding?

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    3. Re:Huh? by Anonymous Coward · · Score: 1

      Coding is a hobby and I prefer to keep it that way. I'm a hospital pharmacist and there is no way I could sit in front of a computer 40 hours per week.

    4. Re:Huh? by mrchaotica · · Score: 3, Interesting

      The pharmacy billing software company I work for hires people like you to be product owners.

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    5. Re:Huh? by i+kan+reed · · Score: 5, Insightful

      You are mistaken, I'm a 40 hour a week programmer, and I enjoy the code, just not the resulting application. I achieve more in 10 hours a month when I'm making something interesting than I ever could with 40 hours a week on the job.

    6. Re:Huh? by i+kan+reed · · Score: 1

      You've forgotten the 600 hours a month of unnecessary meetings, but yeah.

    7. Re:Huh? by flargleblarg · · Score: 1

      Guys, get a room!! ;-)

      Who's the doofus that modded this "offtopic"? It should be modded "funny."

  2. Too narrow a definition by barlevg · · Score: 4, Interesting

    people who code on the job but aren't counted among the developer ranks

    This part makes this whole result pretty absurd, imo. My job title is research scientist, though I'm more of a data scientist. In any case, you can't do my job without a fair amount of coding. I would certainly not classify myself as a hobbyist.

    1. Re:Too narrow a definition by Anonymous Coward · · Score: 1, Informative

      As an actual software developer who has had to occasionally deal with code written by "research/data scientist[s]" before, believe me, we wouldn't even classify you as high as a hobbyist.

    2. Re:Too narrow a definition by jedidiah · · Score: 1

      Compared to many of the people that manage to have the job title of "developer" in corporations, a "hobbyist" would be a step up.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    3. Re:Too narrow a definition by K.+S.+Kyosuke · · Score: 1

      And that's not exactly such a bad thing, because a lot of research code is throwaway stuff. Anything built the typical software engineering way would rob his employer of his research employee's precious brain time, while generating little extra value.

      --
      Ezekiel 23:20
    4. Re:Too narrow a definition by Anonymous Coward · · Score: 3, Interesting

      There isn't an engineer, statistician, physicist, etc. out there who hasn't written or doesn't write a significant amount of code in the course of their using a computer as a tool. They're hardly hobbyists. One has to wonder if IDC doesn't think that the code these people write should really be written by 'professionals'. (I'm thinking of the early mainframe days when only members of the Priesthood were allowed to approach the Sacred Iron and perform the Holy Incantations.)

      It's likely a fairly useless little article, intended to be read only by anyone stupid enough to believe that the information contained therein is really worth $5,800 (~$193/page!). It must must be good because it costs so much, right? It does appear to be targeted to 'investors' and the 15 charts and figures contained in its 30 pages likely give the investor without a clue -- but with plenty of money -- much to point at and drool while dreaming of places to invest or for the CEO/BoD who's looking for a way to, somehow, justify moving software development. ("Oh look. There's aren't as many 'hobbyists' in Dirtcheapistan. Begin making plans to only hire coders from that country.") By pricing the article at such an exorbitant cost, it guarantees that it will never really be peer reviewed and its almost certain flaws pointed out for the world to see. My fear is that the folks that purchase this report will pick up on the word `hobbyist' and then drive a bunch of HR lackeys to starting asking job candidates about the amount of time they code and begin filtering out perfectly good candidates because they weren't, somehow, 'professional'.

      Take this paper with a grain of salt of at least the size you would with anything that Gartner puts out.

    5. Re:Too narrow a definition by rnturn · · Score: 3, Insightful

      ``because a lot of research code is throwaway stuff''

      Another recent /. post (about scientific data loss) makes me think that little, if any, research code is really `throwaway'. That code -- along with the data it processed -- represents part of the work effort leading to the published results. Data without that code is almost useless because the next researcher who wants to built upon his predecessor's work will likely want to know how you went from the data to your result. Without the code all they can assume is that some magic was involved. Or, if they go through the process of re-processing the raw data and get different results draw the conclusion may be that the original results were faked.

      --
      CUR ALLOC 20195.....5804M
    6. Re:Too narrow a definition by SwedishPenguin · · Score: 1

      While I agree that it's nice to distribute the code that generated your results, this is hardly the only way for other researchers to know how to go from data to results.. This is the entire purpose of the published paper, to describe what you did, in words and math, sometimes in psuedo-code.

    7. Re:Too narrow a definition by Bite+The+Pillow · · Score: 1

      You took your definition, or connotation, of hobbyist, and objected when someone else's definition did not match yours.
      There are plenty of definitions; feel free to share yours. Meanwhile, the study here is not making changes to theirs.
      The result is valid for those scenarios where the definition matches. I would expect a data scientist to be better at this sort of thing, but here we are.

    8. Re:Too narrow a definition by rnturn · · Score: 3, Informative

      I can recall an incident where a number of Ph.D. dissertations were called into question because of a bug that had been discovered in a mainframe statistical package they had used. If memory serves, the University was contacting graduates and asking them to revisit their results to ensure that the bug didn't adversely affect the content of their work. Perhaps, nowadays, the University wouldn't care so much though I'd hope they would if for no other reason than to maintain the school's reputation.

      I wouldn't call pseudo-code a reliable indication of what actually processed the data. It's pretty much the same thing as writing a specification and getting a faulty interpretation of that spec. We've all had an idea of what we wanted a piece of code do only to find that it didn't quite live up to our expectation due to some subtle bug (round-off error, etc.). I've spotted weird coding in other colleagues' code that introduced problems in the results. Perhaps that experience is why I'd still like to see the code. YMMV

      --
      CUR ALLOC 20195.....5804M
    9. Re:Too narrow a definition by K.+S.+Kyosuke · · Score: 1

      Another recent /. post (about scientific data loss) makes me think that little, if any, research code is really `throwaway'. That code -- along with the data it processed -- represents part of the work effort leading to the published results.

      That is not what I meant. What I meant was that perhaps a significant portion of the code that these people develop for the research at hand is not reused in further research. It's not throwaway in the sense that "we can delete it now" - it should be published, and reviewed, and used in verification of the research, but it probably won't be in a shape for someone turn it into a reusable library with the same level of attention that, say, LAPACK gets.

      --
      Ezekiel 23:20
    10. Re:Too narrow a definition by ranton · · Score: 1

      I can recall an incident where a number of Ph.D. dissertations were called into question because of a bug that had been discovered in a mainframe statistical package they had used. If memory serves, the University was contacting graduates and asking them to revisit their results to ensure that the bug didn't adversely affect the content of their work. Perhaps, nowadays, the University wouldn't care so much though I'd hope they would if for no other reason than to maintain the school's reputation.

      I wouldn't call pseudo-code a reliable indication of what actually processed the data. It's pretty much the same thing as writing a specification and getting a faulty interpretation of that spec. We've all had an idea of what we wanted a piece of code do only to find that it didn't quite live up to our expectation due to some subtle bug (round-off error, etc.).

      Pseudo-code should not be used to validate research or its results. Further independent research is the only way to validate the research. Forcing later researchers to implement the experiment themselves help improve the result of their validation. Your anecdote about a school using the same statistical package for a large amount of research is just one example of a problem if too much code is shared between research projects.

      One of the important reasons that research code is throw away code is so that bugs in the code are not spread to other research projects.

      I've spotted weird coding in other colleagues' code that introduced problems in the results. Perhaps that experience is why I'd still like to see the code. YMMV

      The lesson you should have learned is that any cutting edge research should be taken with a grain of salt until you have either personally verified it, or have looked at numerous independent sources that have verified it. One big reason why the media is such a bad source of scientific knowledge is because they seem to feel that every published paper is evidence of scientific consensus. Don't fall into the same trap.

      --
      -- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
    11. Re:Too narrow a definition by ranton · · Score: 1

      Data without that code is almost useless because the next researcher who wants to built upon his predecessor's work will likely want to know how you went from the data to your result.

      A well written research paper should give just enough information to allow others to replicate the work, but not enough so that later researchers implement the experiment the same way. Implementing research in different ways is a great way to give validity to the results. If two people with two completely different code bases come to the same conclusion that is much better than two people just running the same code on different machines.

      Publishing code is still helpful as a way of performing code review and very basic authentication of results, but it is not a very good way to help validate research.

      --
      -- All that is necessary for the triumph of evil is that good men do nothing. -- Edmund Burke
    12. Re:Too narrow a definition by mjwalshe · · Score: 1

      I recall tidying up and adding meaningful prompts to one Senior guys FORTRAN IV code that run the sampling on our mixing rigs at BHRA - his original code 's interface was ? and you entered integer numbers for options which he had memorized eg 1 to run 2 to quit and so on. That was when using mixed case in Hollerith statements was considered a bit flash.

  3. Re:1% by i+kan+reed · · Score: 4, Insightful

    95% of everything is crap. I don't know if you've tried to interview people for serious programmer positions lately, but about half of applicants seem to outright fabricate their credentials.

  4. Re:1% by HaZardman27 · · Score: 1

    I haven't done any hiring yet in my career, but just hearing this line so often blows my mind. How does one complete a Computer Science or Software Engineering degree, and make it through over a year of employment as a programmer without being able to write a Fizz Buzz program in his or her language of choice?

    --
    Apparently wizard is not a legitimate career path, so I chose programmer instead.
  5. nonsensical by Anonymous Coward · · Score: 2, Informative

    Every engineer in the building writes some amount of code. Instrument control for test automation, number crunching and analysis, logistics process automation, etc. We are mechanical, electrical, and industrial engineers. I am the only one with a CS degree, and I write less LOC/month then most other engineers.

    Stupid, nonsensical, devoid of purpose or logic. Go ahead slash-puke, make my day...

  6. What about me? by Max+Threshold · · Score: 4, Interesting

    I'm paid primarily to write software. Then I go home and write more software.

    1. Re:What about me? by Akratist · · Score: 2

      Yeah, me too. The day job is for keeping the lights on. The coding at night is for keeping me sane and happy with the day job.

  7. Re:1% by clickclickdrone · · Score: 5, Insightful

    Which is why you give a programming test onsite.

    Any number of which I'd probably fail as pulling random function names/jargon out the air isn't my forte. OTOH, I've been coding for 35 years, know where to find the answers to anything I need to know and can crank out pretty much bug free code until the cows come home. As an e.g., last task I was given was to monitor an IBM MQ for SWIFT payments, parse them, pull out the good stuff, validate it and put it in an oracle DB. Wrote it in ProC. Never used ProC (had used C though), Oracle or MQ before yet amazingly it went through testing with only one minor bug and that was a problem with the spec rather than the code. I even threw in diagnostic modes you could select with switches at run time to give verbose logging. Last count I've used 20+ languages from Assembler to 4GLs, across various Unix, DOS, Windows and VMS. As I said though, I'd be amazed if I could answer more than a handful of questions on the spot even though I was (so long ago..) a MCSD or whatever the MS dev training used to be called.

    --
    I want a list of atrocities done in your name - Recoil
  8. Software Developer vs programmer by tomhath · · Score: 1

    'of the 18.5 million software developers in the world, about 7.5 million — roughly 40 percent — are so-called hobbyist developers,' which by IDC's definition is 'someone who spends 10 hours a month or more writing computer or mobile device programs, even though they are not paid primarily to be a programmer.'

    So if I get paid primarily to to write software I'm a programmer. But If I just hack out a few lines of semi-working code a month I'm a Software Developer? Thanks for clearing that up.

    But what am I if I spend a couple hours a week mowing my lawn and planting my garden? A Landscape Developer?

    1. Re:Software Developer vs programmer by Anonymous Coward · · Score: 2

      But what am I if I spend a couple hours a week mowing my lawn and planting my garden?

      A closet homosexual?

    2. Re:Software Developer vs programmer by Bob+the+Super+Hamste · · Score: 1

      But what am I if I spend a couple hours a week mowing my lawn and planting my garden?

      Someone who cares about their lawn more than I do. I try to minimize lawn work as I would rather do other things.

      --
      Time to offend someone
  9. Re:1% by clickclickdrone · · Score: 2

    Plus everythng I write is commented to death with notes about how something works, why it was done like that, things to watch for if changing it later etc.

    --
    I want a list of atrocities done in your name - Recoil
  10. Re:1% by TheRaven64 · · Score: 4, Informative

    Someone I was talking to a few months ago claimed that around half of the applicants they get fail to be able to write fizzbuzz in their interview. This is just a function that has to take an input number, print fizz if it's divisible by 3, buzz if it's divisible by 5 (fizzbuzz if it's divisible by both), or the number otherwise. It's a trivial use of simple flow control and if you can't remember the name of a print function in your language of choice (no marks deducted for using printf instead of puts) then there's really no hope for you.

    --
    I am TheRaven on Soylent News
  11. Re:1% by gl4ss · · Score: 1

    I'm pretty sure they don't work 40 hours a week on this.

    if they do, I want the job, so that I could have a job where I could be high on sniffing gasoline all day long and still keep the job!

    --
    world was created 5 seconds before this post as it is.
  12. Re:I find the term "hobbyist" to be offensive by clickclickdrone · · Score: 4, Insightful

    Anyone agree with me here?

    Not really, hobbyist isn't a synonym for bad.

    --
    I want a list of atrocities done in your name - Recoil
  13. But but but shortage! by 0xdeadbeef · · Score: 1

    Remember folks, despite having this legion of potential recruits with the interest and aptitude, lacking only training and education, there simply aren't as many programmers as there should be at the price where demand meets supply, We need government intervention, stat!

    1. Re:But but but shortage! by Xest · · Score: 1

      Spending a bit of time doing it as a hobby doesn't mean you're either qualified or even want to work as a professional developer.

      I've got a fish tank that I enjoy looking after but I don't exactly consider myself qualified nor am I interested in becoming a marine biologist.

    2. Re:But but but shortage! by TyFoN · · Score: 1

      I could work as a programmer, however since the pay as an analyst is much better that is where I am.

      The work is still coding, though the it is different and involves a lot more math and statistics than regular app development.
      My tools also differ. I use PostgreSQL and R mostly, but I still find my self using C or ruby when the situation requires it.

      I'm not considering my self a hobbyist programmer though. This is what I do for a living :)

  14. Re:1% by Nspace_00 · · Score: 1

    95% of it 'is' crap. Software in 2013/2014 is atrocious and embarrassing, and none of it was written by the guy that didn't get the job. The 'serious programmer' has done enough damage. One should require an IQ test rather than a programming test. But alas, we'll undoubtedly throw another design acronym at the problem instead

  15. You left out hobbyist coders by Ukab+the+Great · · Score: 4, Funny

    who do it for the groupies.

  16. I never liked this title:Hobbyist by GoodNewsJimDotCom · · Score: 3, Insightful

    Look, a lot of people are trying to start a business, it should be treated the same as work experience.

    The funny designation people say when talking with HR is,"Oh, you actually made money with this home business, then I guess it counts as work."

    It doesn't matter you busted your tail for 10 years in projects that failed, suddenly the less ambitious one you did that made a couple bucks actually counts as work.

    So lets drop the hobbyist title. If someone is working a home business that isn't yet profitable because there is an awful lot of overhead to code first, they've been working that time.

  17. areas of specialization by Chirs · · Score: 2

    Ask me to write a red-black tree from scratch and I'd probably have to look it up. It's been 15 years since I had to care about it since every project I've worked on has already had basic infrastructure available.

    On the other hand, I've rewritten parts of the linux process scheduler, tracked down DMA bugs in eth drivers, added new syscalls, tracked down and fixed bugs in locking primitives in glibc, worked in mips/powerpc/arm/x86 assembly, etc.

    1. Re:areas of specialization by Xest · · Score: 1

      Fizzbuzz has nothing to do with areas of specialisation, it's about the most basic elements of computational logic and flow that are common to all areas of development.

    2. Re:areas of specialization by reikae · · Score: 2

      Yes, that makes sense. But all that is orders of magnitude more complex than the FizzBuzz program, which merely requires that one is familiar with a loop and the modulo operation. So I think the parent's question still stands.

    3. Re:areas of specialization by tepples · · Score: 1

      The point is Modulo is not that commonly used in interpreted languages.

      I beg to differ. An import of a large data set into a database may commit the transaction or update a progress indicator after every n rows.

    4. Re:areas of specialization by reikae · · Score: 1

      I don't know about Python either, although I've been wanting to get into it. Of course, I wouldn't apply for a Python job in the first place. On the other hand I'm sure I've missed job opportunities sometimes because I tend to underestimate my abilities and only apply if I'm sure I can do the job, unlike those people i kan reed was talking about earlier.

    5. Re:areas of specialization by gbjbaanb · · Score: 1

      doesn't matter - you can divide the input number by 3 and if its exactly zero, then print fizz out. Obviously you have to remember to put the input number into a floating point one, and it isn't necessarily going to be the most efficient... but that's not the point. The point of the test is to weed out the people who simply have zero clue.

      Hell, if they took the number, converted it to a string and then compared the string to a lookup table of fizz values, that'd be acceptable in terms of passing the test; the test not being anything about a good solution, but any solution that works - and gives you a chance to explain why you decided to do it like you did to an interviewer so they know you're not a complete fuckwit.

    6. Re:areas of specialization by DexterIsADog · · Score: 1

      doesn't matter - you can divide the input number by 3 and if its exactly zero, then print fizz out

      Then you would fail. The instructions are if it's divisible by 3 AND 5, then print "fizzbuzz".

      But thanks for playing! :-)

    7. Re:areas of specialization by rasmusbr · · Score: 1

      To be fair, I work in a bunch of languages and I know the modulo in c and c++, but have not come across it in others. If someone asked me for a python version, I would probably fail unless it was %.
      The point is Modulo is not that commonly used in interpreted languages.

      It is %, but the basic problem is that any employer that asks you to bang out a piece of code without access to documentation is asking you to do a ridiculously artificial thing. Who cares if the applicant knows that the modulo operator is % in Python? It takes less than 20 seconds to look up.

      It would be better to hand applicants a small program that has one bug and several problematic things about it and have the applicant first debug it and then suggest improvements and refactorings.

    8. Re:areas of specialization by Buzer · · Score: 1

      doesn't matter - you can divide the input number by 3 and if its exactly zero, then print fizz out.

      What it? Result? It's only 0 if the input number was 0. You are probably thinking of remainder and in that case you would need to use modulo. There are various ways to get around of not using modulo, but that's not one.

    9. Re:areas of specialization by AJodock · · Score: 1

      counter = 0
      start loop
          do work
          counter ++
          if counter = x
              commit/update
              counter = 0
          end if
      end loop
      if counter > 0
          commit/update
      end if

      I would think this might use less CPU doing a increment and comparison instead of a division every iteration.

    10. Re:areas of specialization by TechyImmigrant · · Score: 1

      I most regularly write in Python and System Verilog. I mix basic operators up all the time. After two weeks of vacation, I'm probably worse off than normal. It doesn't take long to type 'python operators' into Google.

      But ask me about cryptography and I can bore you to tears with unnecessary details. The concepts are qualitatively different to the names of primitive operators in programming languages.

      --
      I should use this sig to advertise my book ISBN-13 : 978-1501515132.
    11. Re:areas of specialization by gbjbaanb · · Score: 1

      oh yeah.. serves me right for posting with a pint in me! Guess I failed that interview... maybe this shows that even the simplest interview questions aren't so useful.

  18. Re:1% by Anonymous Coward · · Score: 3, Interesting

    In many cases, it's pointless to actually give the programming test.

    Just tell the candidate that you're giving them a programming test. Have a system set up with developer tools. Have them sit there with a problem description for while you leave the room. Then come back in a couple minutes later and say, "Nevermind, we don't need you to do this." Make sure it's in a "this is silly, you obviously have skills and this problem is beneath you" way, not in a "we've already filled the position and you're wasting our time" way. (Remember, flattery, even if it's false, is a good way to get people to open up and show you how they really feel.) If they're relieved, show them the door and never call them back. If they're disappointed, give them an offer on the spot. Everyone else is a possible candidate.

    You want someone eager to get the job done that isn't afraid of the task they're assigned.

    Now, if you have a situation that requires more skill than just code-monkeying as part of a dev team, give them the full treatment before hiring them. (At a minimum, let them finish the test exercise.)

  19. Re:I find the term "hobbyist" to be offensive by MoonFog · · Score: 2

    Agree with you there, don't see the offense in being called a hobbyist. I'm in a management position now, but I still program at home every now and then so that I know more about what I'm talking about when I talk to my developers. Programming is fun and although I don't get paid to churn out code I still enjoy dabbling in it. By that I'm clearly a hobbyist and find no offense in that term whatsoever.

  20. Re:I find the term "hobbyist" to be offensive by clickclickdrone · · Score: 1

    Indeed. I've picked up some PHP to build myself a CMS for a personal website project and C# for another pet project. TBH, my employer tends to work with safe, tried and tested tech for stability so the only way I could get exposed to anything particularly new and 'trendy' is to do it myself and how better to learn something than a project or two at home?

    --
    I want a list of atrocities done in your name - Recoil
  21. Re:1% by Anonymous Coward · · Score: 3, Funny

    100% of chan pedos would pass that test in 20 languages.

  22. 'Hobbyists'? by hcs_$reboot · · Score: 1

    Every "developer" who has no idea of what the complexity of a program/algorithm is - and there are a lot - should be counted in the 'Hobbyists' league.

    --
    Slashdot, fix the reply notifications... You won't get away with it...
    1. Re:'Hobbyists'? by CastrTroy · · Score: 1

      Or those who can't take simple algorithm descriptions (fizz-buzz), and convert it into a working program, should be counted as not-really-a-programmer. I don't want to use the word "hobbyist" in this case, or in yours, because there's plenty of people I know who only program in their spare time, but have great programming skills, while people who are actually employed as software developers or programmers who can not tell you what the complexity of an algorithm is, nor can they make a simple algorithm base on a description of what it should do.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
  23. Re:1% by kaiser423 · · Score: 1

    This. So many people whom developed an app for the iPhone or wrote a webpage that did something then spin themselves as a software architect or advanced developer, etc. Or you get the people whom compile Android for their phones calling themselves "developers" because they can get the build chain to work and perform some Git cherrypicks.

    My other pet peeve is infrastructure people applying for development positions. I don't know how many applications I get whose biggest experience in "Configuring, Managing and Deploying Cisco routers" applying for my hardcore developer positions. I'd say it's at least 80% of my applicants.

  24. Re:1% by Anonymous Coward · · Score: 1

    I had someone try this on me; joke was on them: I had finished the solution before they got back.

  25. Well I had never heard of the Fizz Buzz program but have been asked in every interview to write some sort of code or pseudo code to do something. Some were to see if you had the most basic understanding of programming while others were to see if you could thing through a problem.

    --
    Time to offend someone
  26. Yep! by mrflash818 · · Score: 1

    Yep!

    --
    Uh, Linux geek since 1999.
  27. Re:1% by Xest · · Score: 1

    "The 'serious programmer' has done enough damage."

    This is because of two things:

    1) The serious programmer has to contend with the reality of often being told what to do, rather than necessarily doing what's right to produce quality software

    2) Even many "serious programmers" suck, because there is a genuine shortage of real talent, but a massive need for developers, so the bar is set low for who gets a job out of desperation - an atrocious developer is still going to get your project further than no developer. Companies need someone to at least make a start so they'll hire the best they can get, and the best the can get may be crap if they're not big enough to compete with the big boys on salaries etc.

  28. End product is all that matters. by danknight48 · · Score: 1

    Stability + Performance = All that the end user will care about.

    Doesnt matter who made it, or what their background is.
    As long as the program runs stable, and, with respectable performance, the end user wont think twice about who made it.

  29. 5 years of experience on 3 year old product by tepples · · Score: 1

    If your HR department requires five years of experience on a product that has been available to the public for three years, of course people are going to fabricate credentials. The only way someone could have that much experience is if he was actually on the team that developed the product. Are HR departments really trying to poach from such a company?

  30. Can it be deducted? by tepples · · Score: 1

    So lets drop the hobbyist title. If someone is working a home business that isn't yet profitable because there is an awful lot of overhead to code first, they've been working that time.

    Then you'll have to get half of the House of Representatives and half of the Senate to amend the definition of hobby in the part of the tax code related to business expense deductions.

  31. Re:1% by Entropius · · Score: 2

    Okay, I'm a computational physicist, not a CS guy, so my knowledge of programming is limited to what's needed to make the thing work. But isn't this ... extremely, painfully trivial? Like, when I taught Baby's First Computational Physics Course For Freshmen, we made them compute the first million prime numbers as part of the week 1 homework, right after Hello World and the Fahrenheit/Celsius converter.

    Do people really graduate and not know how to do this?

  32. Re:1% by sl4shd0rk · · Score: 1

    but about half of applicants seem to outright fabricate their credentials.

    Not sure why that wouldn't get vetted out in the interview process. Asking someone to describe their most elaborate program, or explain what their most difficult language to learn was should give you some good indicators of aptitude. Another good one is ask them what their most enjoyable problem was they solved with code. Those three can be asked on the phone quite quickly.

    --
    Join the Slashcott! Feb 10 thru Feb 17!
  33. Game consoles by tepples · · Score: 1

    hobbyist isn't a synonym for bad.

    Video game console makers seem to think it is. They have preferred developers to be established companies with a dedicated office, not 1-man startups out of someone's home.

  34. Re:I find the term "hobbyist" to be offensive by geminidomino · · Score: 2

    ve picked up some PHP to build myself a CMS for a personal website project

    RUN!

    Dear gods, run for your soul! Run like the devil himself is at your heels.

  35. Financial stability and platform availability by tepples · · Score: 1

    Stability + Performance = All that the end user will care about.

    Doesnt matter who made it, or what their background is.

    A lot of companies use financial stability of the developer as a heuristic for guessing the developer's level of quality control and the stability of maintenance of the product.

    As long as the program runs stable, and, with respectable performance, the end user wont think twice about who made it.

    It has to 1. run stable, 2. perform respectably, and 3. run on the end user's preferred platform. A lot of platform gatekeepers have historically had anti-hobbyist policies, such as video game console manufacturers.

  36. I am by rsilvergun · · Score: 1

    I've maintained a goofy little firefox plugin for a few years now and put together a few simple Android apps. It helps me keep my programing skills up while I'm working in IT, and the plugin's big enough I do a little project management on it :). Besides, I get bored playing video games all day long :).

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
  37. Re:1% by i+kan+reed · · Score: 1

    Yeah, I know, but that argument falls on its face because the "what's a hashtable?" crowd actually does have prior experience in the field. Someone is hiring them.

  38. Re:1% by gbjbaanb · · Score: 4, Interesting

    I agree here - but only to a point. At an interview you have to demonstrate some ability, and as there are so many idiots with bullshit CVs, you have to give some sort of test. Fortunately the tests don't (and should not) be very hard.

    However, one test I had given to me a while ago was a code review. They gave me a visual studio project and said "review that, tell us what you think", and of course it had a couple of glaring bugs, a bit of very lazy coding, duplicated code that could be refactored into a common function, and similar. It wasn't about what variable names to call things (except the file called MyClass1.cs). It didn't require me to remember all the stuff I've consigned to Google's stewardship over the years and gave me the opportunity to explain my thinking.

    I think such tests are vastly improved over coding tests that you end up writing differently to what the interviewer expected (and therefore he considers "wrong"). When you did tests at school, the teacher never really cared about the right answer - they cared about the working. An interview test that asks you to review code is pretty much the same principle.

  39. Re:I find the term "hobbyist" to be offensive by rnturn · · Score: 2

    Ah... but you see HR screeners will deem your learning experience inadequate because you didn't attend `training' classes and cough up $2,500 each (more and more on your dime, of course) for the Beginner, Intermediate, and Advanced programming courses. Pursuing something on your own, devouring a couple of texts on a language (that might set you back a whopping $45 each), and fully immersing yourself in it to complete a project that you care about doesn't count. Not a bit. At least not any any place I've ever worked.

    Remember when your college instructors told you about the importance of lifelong learning? How, if the college experience was in any way successful, you'd be learning how to teach yourself? Well, most business folks don't seem to believe that. (My guess is that they never had to learn anything new once they graduated.)

    Most of us here would not find anything wrong at all about the term `hobbyist'. However, in the business world, it really seems to have a distinctly negative connotation.

    --
    CUR ALLOC 20195.....5804M
  40. Re:I find the term "hobbyist" to be offensive by jandrese · · Score: 1

    For me, a hobbyist programmer is one that is developing outside of a rigid formal process, which is why people who develop small applications that solve specific problems that they aren't planning to sell get lumped in, even though they're technically getting paid for it. A non-hobby developer is someone who is planning to sell their finished code to someone else, and probably works on a team with a project manager and everything.

    --

    I read the internet for the articles.
  41. Re:1% by Anonymous Coward · · Score: 1

    and if you can't remember the name of a print function in your language of choice (no marks deducted for using printf instead of puts) then there's really no hope for you.

    The language you will be using on the job (or even in the interview) isn't always your choice.

  42. Re:1% by ShanghaiBill · · Score: 1

    Do people really graduate and not know how to do this?

    Yes. Including many in your class. They had a friend do the coding for them, or they paid someone to do it. When I was in college, I earned a lot of beer money by writing/fixing code for other students, including trivial programs for graduating seniors.

  43. Re:1% by Dynedain · · Score: 1

    I deal with 5-7 different languages on a daily basis (not to mention a myriad of different pieces of technical software, build systems, databases, client applications, etc). Off the top of my head, I can't tell you what the syntax is for the mod command in any of those languages.

    Hell, before reading up on Fizzbuzz, I didn't know about mod because I have never needed it.

    Fizzbuzz is a stupid test that's only going to find you people who know (and have used) mod in the language of choice. If you need people with critical thinking skills, motivation to self-improve, and ability to research and find solutions in unfamiliar platforms, nothing beats an in-person interview.

    If you just want someone who's a heads-down developer who can't see the forest for the trees, by all means, give the Fizzbuzz.

    --
    I'm out of my mind right now, but feel free to leave a message.....
  44. Re:1% by HaZardman27 · · Score: 1

    Sorry, but lack of familiarity with the basic constructs of your language of choice is definitely a bad indicator. Being a good programmer means more than just knowing how to do the things you've already done. You need to know your language, platform, etc., so that you can spot issues or create solutions. Fizz Buzz is only a stupid test because it is so easy. It sounds like you think the "ability to research and find solutions" means that you can find a solution to your problem to copy+paste off of Stack Overflow.

    --
    Apparently wizard is not a legitimate career path, so I chose programmer instead.
  45. Re:1% by Buzer · · Score: 3, Insightful

    You don't need to use mod for fizzbuzz. It's likely the most effective (besides precomputed tables), but there are several alternatives. To name some:

    1. Create your own mod function (you can most likely leave out dealing with negatives and overflows as long as you just point that out). Given dividend X and divisor Y, while X>=Y: X=X-Y and finally return X.

    2. Take human approach and convert the number to string. Skip 0/print it depending on definition. If last number is 0 or 5, it's dividable by 5. For dividable by 3, you loop thru the string and sum the numbers. Repeat until the length of string is 1. Now compare it to 3, 6 and 9 (you can convert it back to number or just compare the string of those). If it's true, it's dividable by 3.

    Surely you could create at least one of those in some language you know?

  46. Re:1% by CronoCloud · · Score: 1

    But isn't this ... extremely, painfully trivial? Do people really graduate and not know how to do this?

    I am not a programmer, the last time I did any programming was back in High School...and one PL/C class, but that's it and it was almost 30 years ago, and I was thinking the same thing.

    Wouldn't a FizzBuzz program look like something this:


    For input check to see if input is a number and not letter or symbol, if true, then continue. If false, return and get a new input.

    Declare subroutine "check_evenly_divisible_sub" for checking if a number has anything to the right of the decimal point, if so, then evenly_divisible_var = false. else evenly_divisible_var = true

    Take input, divide by 3, send result to ."check_evenly_divisible_sub"
    If evenly_divisible_var = true then set fizz_status_var = fizz, else fizz_status_var ="" (null string)

    Take input, divide by 5, send result to "check_evenly_divisible_sub".
    If evenly_divisible_var = true then buzz_status_var = buzz, else buzz_status_var ="" (null string)

    print "fizzbuzz status for", input, "is" fizz_status_var, buzz_status_var, \n

    next input;

  47. Another way to look at it... by composer777 · · Score: 1

    We should also look at who produces most of the code. If we simply slap the label of developer on anyone who writes code, we may come away with the idea that because 40% of DEVELOPERS are hobbyists, that 40% of actual DEVELOPMENT/implementation is done by hobbyists. It would be like saying 80% of authors, defined as someone who spends 10 or more hours a month writing text (could be emails, could be text messages, etc.), are hobbyists.

    Considering just how skewed productivity is among programmers, it wouldn't surprise me if this 40% collectively gets much less done than the pro's. That's not saying we shouldn't encourage people to make coding a hobby, but I think it's dangerous to present the idea to the world that code is a freely available resource that can easily be obtained for an extremely low cost or for free. I have to fight this quite a bit as a professional, because the expectations of some customers and employers is just incredibly out of line. Many of them will expect a project that requires 50K+ lines of code (and as a result, potentially hundreds of man hours of work)to take a couple of weeks and cost maybe $500 (to see what I mean look at sites like rentacoder).

    1. Re:Another way to look at it... by composer777 · · Score: 1

      I should clarify, I don't think Free Software as a movement is a dangerous idea. What I am saying is that there are huge numbers of people out there that truly expect from 100's of man hours of work to simply get done in less than a week for peanuts. Free Software was never about the idea that people shouldn't get paid for their work, and those who think it is were missing Stallman's point.

      As someone who has been paid for the last ten years to write open source software (mainly through research grants), what people should understand is that a large (the majority?) of open source projects are funded at least partially by government and large commercial interests so that they can cooperatively meet shared goals. Another source of resources for open source projects is well-paid developers who have enough free time to work for free on projects they enjoy. The training and skills they bring to their hobby is paid for by good jobs. Without a thriving, well-paid community of developers, the huge amount of free software out there simply wouldn't exist. This is a huge factor that drives open source development, and we should keep this in mind when we hear stories about the mythical coders in their mom's basement who are writing tons of free software. I'm not dismissing the many great projects that have simply been created to scratch an itch or do good in the world, just raising the serious point that developers need to get paid, and we can end up screwing ourselves if we paint a picture that gives people the expectation that we work for free.

  48. Re:1% by mccrew · · Score: 1

    I ... can crank out pretty much bug free code until the cows come home.

    In my experience, one never stops creating bugs, they just get more subtle and harder to find. Nothing personal against you of course, but the statement above calls to mind the study that demonstrated how the less a person knew about a particular topic, the higher his level of confidence about his competence in that topic.

    --
    Hey, Windows users, there is no such thing as "forward" slash, there is only slash and backslash.
  49. Re:1% by Anonymous Coward · · Score: 1

    LOL, +5 funny. I love it when people use "whom" to be pretentious but use it incorrectly. Both instances should be "who". He who, him whom. Simple. "Who does the bell toll for? For whom does the bell toll?

    Now you can be pretentious without making a fool of yourself!

  50. Re:1% by luis_a_espinal · · Score: 1

    Which is why you give a programming test onsite.

    Any number of which I'd probably fail as pulling random function names/jargon out the air isn't my forte.

    Things like fizzbuzz tests aren't random out-of-the-air tests. Or say, a "hot-potatoe" game, or any other thing that involves a different action based on two or three counters inside a loop. Any competent programmer should be able to do that without having to rely on esoteric, obscure. seldom used programming trivia.

    It is not like people are asking "code me a machine learning algorithm that does clustering in, I dunno, prolog" or "can you write a recursive function that approximates the square root of a number" or "write a lambda calculus interpreter" or "develop a markov chain upper-shit in LOLCODE".

    People are asking very simple, dumb-as-fuck programming tests that involve nothing more than a bunch of loops and some if-statements, and people that claim to be programmers are failing.

    A person that claims an extensive programming experience should be able to complete such silly code tests. Moreover, those silly code tests are much simpler to administer than a more realistic, work-related scenario (.ie. "develop a service which supports both REST and WS-* interfaces, and that can persist its input on a database").

    That is why employers use such silly tests, and why expert developers should be able to do them without significant effort.

  51. Re:I preffer by jones_supa · · Score: 1

    How about "codesmith"? That sounds pretty cool.

  52. Just trolling here... by jones_supa · · Score: 1

    Roughly 40 percent of programmers are so-called hobbyist programmers

    Well, someone has to develop Linux too.

  53. Other employees by tepples · · Score: 1

    A sufficiently large company has enough other employees to cover for one employee's "just one major medical event or job loss".

  54. Re:1% by suutar · · Score: 1

    or skip mod entirely. have 'next_three' and 'next_five' vars, initialize to 0 or 3/5 as appropriate, if your index matches one or both print the appropriate output and update the values.

  55. Re:1% by TechyImmigrant · · Score: 1

    My thoughts we that doing two divisions might work for a single case, but it isn't really scalable in this age of nosql and hadoop clusters.

    Why not count up two counters +1 +2 (for the threes case) and +1 +1 +1 +2? Count up the smaller of the two counters until it passes the other. If you miss a value, print it out, fizz on the one counter and buzz on the other.

    Instead of demanding the user enters numbers, it tells the user which numbers will work.

    Scalable and parallelizable. With some thought, you could make it thread safe also. No divisions required.

    --
    I should use this sig to advertise my book ISBN-13 : 978-1501515132.
  56. Re:1% by flargleblarg · · Score: 1

    Sorry, but lack of familiarity with the basic constructs of your language of choice is definitely a bad indicator. Being a good programmer means more than just knowing how to do the things you've already done. You need to know your language, platform, etc., so that you can spot issues or create solutions. Fizz Buzz is only a stupid test because it is so easy. It sounds like you think the "ability to research and find solutions" means that you can find a solution to your problem to copy+paste off of Stack Overflow.

    I heartily agree. There's no excuse for not knowing what mod is, even if you've never happened to need it in a program. I wouldn't hire someone who didn't know what mod is or couldn't explain it to someone else.

  57. Re:1% by TheRaven64 · · Score: 1

    If you've never written software using mod, then you've never implemented a lockless data structure, or likely written any low-level code. In fact, I'd find it pretty hard to think of what category of software you are writing where you never need to do it. It's not something I use every day, but I'd expect to see it at least once every thousand lines of code. I've no idea what you do, but if you think you've managed to become a competent programmer without ever having to use mod then you're such a statistical outlier that it's not likely to be a problem to accidentally not hire you. If you don't know the basic arithmetic and logical operators in your favourite language, then you are probably not worth hiring.

    --
    I am TheRaven on Soylent News
  58. Re:1% by bbsalem · · Score: 1

    I thought it was 85% and recursive, the series converges slower, that is for Sturgon :-)

  59. Re:1% by samwichse · · Score: 1

    Wow, really? I haven't really programmed anything since a Turbo Pascal class I had back in high school (sophomore year, so that'd be 1997-1998).
    I'd do something like

    Input yournumber

    if yournumber/5 = int(yournumber/5) then
          if yournumber/3 = int(yournumber/3) then print fizzbuzz
          else print buzz
    elseif yournumber/3 = int(yournumber/3) print fizz

    There's probably a better, more awesome efficient way to do it, but I think that pseudocode passes. Also, I think elseif is a thing?