The following is a true story.
I had just finished my masters in Chemical Engineering. I had decided to not use that degree because I wanted to be a developer. One of the first companies that offered me a job was this rather large company that was working on web applications; though I hesitate to call them that. Like many of the programming shops back in that day, this company was using Java as their primary language.
I specifically remember the interview because of how excruciatingly embarrassing it was. The interviewer asked me to solve a fairly famous programming problem as part of the interview process; the "FizzBuzz" problem. The idea behind this particular problem is to make a program that iterates upwards from 1 to 100. If the iterator is divisible by 3 then you print out the word "Fizz", if the iterator is divisible by 5 then you print out the word "Buzz" and, if the iterator is both divisible by 5 and 3 then you want to print out the word "FizzBuzz". Otherwise, on each iteration that is not divisible by 3 or 5 or both, you want to print out the number of iterations.
After listening to his explanation of the problem, I furiously poured over the potential solutions to this problem. About two to three minutes of deliberation passed and I started coding my example in front of him. My example was this 70 line monstrosity that featured multiple loops and arrays inside of various different functions which would allow me to determine if these numbers were divisible by 3 or 5. The interviewer was looking over my shoulder and he calmly said, "There is a much more simple answer to this problem."
I started freaking out in my head upon hearing him say this.
How could I possibly simplify this program? I started arguing with the interviewer about how there couldn't possibly be a more simple implementation. I explained my code line by line to the interviewer and told him that all of them were necessary to complete the desired output. He responded to my explanation with a fairly simple reply.
"You've never heard of the Modulo Operator, have you?"
Note: the Modulo Operator allows you to find the modulus of two numbers or the remainder of two numbers by division. Suffice to say that it cut my implementation of this program down to 10 lines of code.
Of course I knew what the modulo operator was but I couldn't bring myself to admit that to him. Face flushed red, I finished the code in less then 30 seconds.
Needless to say, I did not get this particular job. I did however, go home and wonder how I was able to complete a masters degree at all.
@originalworks
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
The @OriginalWorks bot has determined this post by @tensor to be original material and upvoted(1.5%) it!
To call @OriginalWorks, simply reply to any post with @originalworks or !originalworks in your message!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
That was dumb.
You thinking less of yourself for not realizing a simpler solution, not the fact that you didn't realize it. Many books and tutorials don't use the modulo operator. I rarely use it myself. That doesn't mean there aren't other problems that you wouldn't solve way better.
The worse part was probably that you argued that there couldn't possibly be a better solution.
Also, I totally forgot about that problem. I think I did a variation of it once in one of my classes.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Trust me, my solution was fine (it was feature complete), it just wasn't what they were looking for. You also have to remember that this was back in like 1999/2000 so java wasn't as fully featured as it currently is.
it probably was something like this:
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
I didn't think there was anything wrong with your solution.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Well, yeah, this java shop was apparently just looking for a junior dev to do what they wanted. And yeah I was stupid and Naive to argue that my implementation was the "best". I was just out of college after all.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
It was probably an important lesson.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Hello @tensor,
I like your insane tale. Although learning proceedures and methods in school might seem not needed in the bigger scheme of things, you never know what lesson may set up your future. Lmao that sucks, and I hope you're in a better career than the position you were going for back then!
Simplicity is always key, and you had me laughing hard, because your heart was in the right place xD
Cheers!
@shello
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Thank you. I actually ended up working for a small little company then I left to start a business and eventually became a "digital nomad" or freelance programmer. I've been very fortunate in my career; good money and fun work.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Wow, it's a blessing in disguise. You can't succeed if you don't fail, and thank you again for the great reminder to continue trying and not become defeated.
It's not work, if you're having fun xD
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit