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."
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.
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.
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.
I'm paid primarily to write software. Then I go home and write more software.
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
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
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.
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
Not really, hobbyist isn't a synonym for bad.
I want a list of atrocities done in your name - Recoil
who do it for the groupies.
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.
God spoke to me
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.)
100% of chan pedos would pass that test in 20 languages.
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.
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?