Part of the problem is that the industry is focused around too many tools. If you don't know somebody's specific framework you are scoffed at. Back when I started we didn't have frameworks, we had libraries. They were tools that weren't supposed to take over your entire project. There being one or two or five frameworks is fine. When there is now 40 and you are expected to combine them we are spending more time structuring projects than building and we are starting to loose are skills.
Also that fizbuzz is easy. People who can't do that are people who were patted on the back to many often for learning a framework.
Also that fizbuzz is easy. People who can't do that are people who were patted on the back to many often for learning a framework.
This is pretty much the point of FizzBuzz. It's not to find the great programmers, but to weed out all the idiots who choke up on even the most trivial problems. If it weren't so easy, it'd be useless.
Well if you don't have 5 years experience in the obscure 3rd party framework the previous dev chose for the project because we gave them too much creative leeway and now regret it but can't go back, you probably aren't a good fit for this position.
def fizzbuzzer(n):
if n % 3 == 0 and n % 5 == 0:
return "FizzBuzz"
elif n % 3 == 0:
return "Fizz"
elif n % 5 == 0:
return "Buzz"
else:
return n
nums = list(range(1, 100))
for i in range(0, len(nums)):
print(fizzbuzzer(nums[i]))
I have learned Python entirely on my own time. I think this took me about 10 minutes, maybe less, wasn't really counting.
let fizzbuzz = function(n) {
let mod_3 = n % 3 === 0, mod_5 = n % 5 === 0; // I just don't want to have to rewrite the modulus logic more than I have to
if (mod_3 && mod_5) return "FizzBuzz";
else if (mod_3) return "Fizz";
else if (mod_5) return "Buzz";
else return n;
}
for (let i = 1; i <= 100; i++) {
console.log(fizzbuzz(i));
}
People generally rely on the higher education system, rather than teaching themselves. Save for certain institutions, the higher education system is decades out of the loop.
I like to think most of these are just people applying to any kind of job ad where they might be able to talk/con their way into a paycheck, but for people who have done a CS degree, not learned to program, and then applied for a job as a programmer... if they are real... I'd love to hear from one and understand what they thought a programming job would entail, and what they plan to do with their lives.
I write multi-threaded C++ for a living and the first time I was asked to solve the FizzBuzz problem I could not do it. Not because the intricacies of modulo are beyond me, but because I come from a country where we don't play FizzBuzz and had no idea what the problem was. Before you blame the programmer, make sure your specification doesn't suck!
Having said that, an amazing number of people seem to think they can bs their way through quantitative development job.
Yes, you can write that because you have a description of the rules of FizzBuzz. Given only the name FizzBuzz you could not have implemented it. It is certainly an extreme example, but we all have a tendency to think that what we know is common knowledge.
From the article:
An example of a Fizz-Buzz question is the following:
Write a program that prints the numbers from 1 to 100. But for multiples of three print "Fizz" instead of the number and for the multiples of five print "Buzz". For numbers which are multiples of both three and five print "FizzBuzz".
It seems like they would give the rules in the question. The name Fizz-Buzz is just that, a name.
My team has been trying to hire 3 software engineers for 6 months now.
Nowadays, recruiting is generally pretty good not getting people who literally can't write any code to the on-site interview phase... But I wouldn't have believed it until I lived it.
I'm currently attending a school for game programming. I'm already in my 2/3rd year. As of now, I know 100% that once I graduate I will not get a job anywhere. I have come to the conclusion that my school is barely teaching us anything.
I've been doing a lot of research on the internet. I have accumulated some hope in regards to getting a job without a degree. My program will only give me an advanced diploma. I've been told that my chances of being selected are lower than CS student. But by researching more and more on Google and reading people's comments and those who work in the industry I've come to realize that the most important thing, the hiring manager is a complete idiot who doesn't know anything about programming and only looks to see what school you applied to, is your value. You can go to the most prestigious school in the world but in the end, except for a few cases, it is your value that will determine whether you'd get a job or not. And by value I mean what you can give.
I've been working in IT for about 34 years, I confess I might not be able to do this task. Here's why. I started life as an Intel assembly language programmer. Over the years, the last time I checked I've programmed in maybe 30 different languages. What I can tell you is that all programming languages are essentially the same, what is different is the syntax and the functions. I honestly don't program much in any particular language anymore. When I do it's to fix somebody else's code that doesn't quite work right (or the way I want it to). But, if you asked me to write you a program on a piece of blank paper in any particular language I couldn't do it. My problem is I don't program in any one language enough to remember the syntax, I always have to look it up. Can I do it with reference material, certainly, off the top of my head no way. Does this make me a bad programmer? Maybe. Can I write you a program in most any language if you allow me reference, certainly.
65 comments
9 u/luckyguy 25 May 2016 06:44
Part of the problem is that the industry is focused around too many tools. If you don't know somebody's specific framework you are scoffed at. Back when I started we didn't have frameworks, we had libraries. They were tools that weren't supposed to take over your entire project. There being one or two or five frameworks is fine. When there is now 40 and you are expected to combine them we are spending more time structuring projects than building and we are starting to loose are skills.
Also that fizbuzz is easy. People who can't do that are people who were patted on the back to many often for learning a framework.
0 u/coldacid 25 May 2016 12:04
This is pretty much the point of FizzBuzz. It's not to find the great programmers, but to weed out all the idiots who choke up on even the most trivial problems. If it weren't so easy, it'd be useless.
0 u/something_went_wrong 26 May 2016 02:41
Well if you don't have 5 years experience in the obscure 3rd party framework the previous dev chose for the project because we gave them too much creative leeway and now regret it but can't go back, you probably aren't a good fit for this position.
6 u/draco_nite 25 May 2016 05:36
Python FizzBuzz
I have learned Python entirely on my own time. I think this took me about 10 minutes, maybe less, wasn't really counting.
1 u/DrBunsen 25 May 2016 06:13
This was indeed the first solution that popped in my head when I was reading the article. We can get jobs now!
3 u/i_am_triggered 25 May 2016 08:39
it's almost ok, Biggest problem is that it doesn't do what it should, it only prints 1-99 not 1-100.
To fix that change from
range(1, 100)torange(1, 101)Second (not so big) problem is that it makes 0 sense to have this
numsvariable, the same result you will get from:I probably wouldn't hire you as a Python programmer :P
0 u/draco_nite 25 May 2016 09:45
derp
1 u/RevanProdigalKnight 25 May 2016 11:28
Javascript (ES6) version:
1 u/roznak 25 May 2016 19:41
The Human Resource safe C# version would be this:
But of course if you are a bit of professional you would create something like this which would fail the Human Resource test and you are not selected
Why did I write it like this?
4 u/mjmoore 25 May 2016 05:48
People generally rely on the higher education system, rather than teaching themselves. Save for certain institutions, the higher education system is decades out of the loop.
3 u/spookybm 25 May 2016 04:20
O...M...G....
Programming is not even my forté, but I can damn well program you an embedded system that can read/write digital/analog....
but ask me to build you an AFE... you better offer well because I will be hating myself if you don't let me use a developer board.
2 u/TheCookieMonster 25 May 2016 08:24
I like to think most of these are just people applying to any kind of job ad where they might be able to talk/con their way into a paycheck, but for people who have done a CS degree, not learned to program, and then applied for a job as a programmer... if they are real... I'd love to hear from one and understand what they thought a programming job would entail, and what they plan to do with their lives.
2 u/SpottyMatt 25 May 2016 12:49
This Enterprise-Grade FizzBuzz solution is good for chuckle.
0 u/Northvvait 26 May 2016 20:34
I'm laughing already.
1 u/GrumpyEconomist 25 May 2016 08:02
I write multi-threaded C++ for a living and the first time I was asked to solve the FizzBuzz problem I could not do it. Not because the intricacies of modulo are beyond me, but because I come from a country where we don't play FizzBuzz and had no idea what the problem was. Before you blame the programmer, make sure your specification doesn't suck!
Having said that, an amazing number of people seem to think they can bs their way through quantitative development job.
1 u/jasotastic 25 May 2016 13:04
Are you sure the problem is with not knowing what Fizz-Buzz is? I don't know what it is, either, and I can write the code for it.
void main (){ for (int i=1; i <101; i++){ if (i%3!=0 && i%5!=0) cout << i; else { if (i%3==0) cout << "fizz"; if (i%5==0) cout << "buzz"; } } }
0 u/GrumpyEconomist 27 May 2016 08:18
Yes, you can write that because you have a description of the rules of FizzBuzz. Given only the name FizzBuzz you could not have implemented it. It is certainly an extreme example, but we all have a tendency to think that what we know is common knowledge.
0 u/jasotastic 27 May 2016 11:59
From the article: An example of a Fizz-Buzz question is the following:
Write a program that prints the numbers from 1 to 100. But for multiples of three print "Fizz" instead of the number and for the multiples of five print "Buzz". For numbers which are multiples of both three and five print "FizzBuzz".
It seems like they would give the rules in the question. The name Fizz-Buzz is just that, a name.
3 u/dizzydog 25 May 2016 14:55
The hardest part of the job is often trying to understand what the user/boss/client actually wants.
0 u/jimmyrussel 25 May 2016 21:13
And decoding that to figure out what they really should want. Then convince them of why your solution is better than their solution.
1 u/SpottyMatt 25 May 2016 12:33
My team has been trying to hire 3 software engineers for 6 months now.
Nowadays, recruiting is generally pretty good not getting people who literally can't write any code to the on-site interview phase... But I wouldn't have believed it until I lived it.
1 u/Fyro 25 May 2016 14:24
I'm currently attending a school for game programming. I'm already in my 2/3rd year. As of now, I know 100% that once I graduate I will not get a job anywhere. I have come to the conclusion that my school is barely teaching us anything.
I've been doing a lot of research on the internet. I have accumulated some hope in regards to getting a job without a degree. My program will only give me an advanced diploma. I've been told that my chances of being selected are lower than CS student. But by researching more and more on Google and reading people's comments and those who work in the industry I've come to realize that the most important thing, the hiring manager is a complete idiot who doesn't know anything about programming and only looks to see what school you applied to, is your value. You can go to the most prestigious school in the world but in the end, except for a few cases, it is your value that will determine whether you'd get a job or not. And by value I mean what you can give.
1 u/ilikeskittles 26 May 2016 00:06
I've been working in IT for about 34 years, I confess I might not be able to do this task. Here's why. I started life as an Intel assembly language programmer. Over the years, the last time I checked I've programmed in maybe 30 different languages. What I can tell you is that all programming languages are essentially the same, what is different is the syntax and the functions. I honestly don't program much in any particular language anymore. When I do it's to fix somebody else's code that doesn't quite work right (or the way I want it to). But, if you asked me to write you a program on a piece of blank paper in any particular language I couldn't do it. My problem is I don't program in any one language enough to remember the syntax, I always have to look it up. Can I do it with reference material, certainly, off the top of my head no way. Does this make me a bad programmer? Maybe. Can I write you a program in most any language if you allow me reference, certainly.
1 u/neofagger2 26 May 2016 03:40
I am not a good programmer or I might be devaluating myself too.
what would be the optimal solution to the case scenario of the 1-100 multiples of 3 fizz, multiples of 5 fizzbuzz?
I'm thinking of something like (pseudocode)
for i=1;i<=100;i++
if i % 3 == 0 && i % 5 == 0 print FizzBuzz
else if i % 3 == 0 print Fizz
else print i
0 u/mikegonta 25 May 2016 20:36
fizzbuzzter