The following are list of real things (ridiculous arguments, bizarre and dumb statements, and stupid stuff) collected over a period of more than two decades during my IT career at various companies I have worked since 1990.
Note: Names withheld to protect both the innocent and the guilty.
Enjoy!
WTF Moments
engineer1: When we pass correct value for a field, your service returns error saying, "invalid data".
engineer2: Our service is designed to accept only mapping ID we maintain internally for that field. You need to make a call to our other service to get that mapping ID and then send us the ID rather than field value
engineer1: This is ridiculous, mapping ID is internal to your system, can't you do the lookup yourself?
engineer2: It is pretty hard, takes 2 weeks of development effort plus significat amount of testing.
engineer1: what the f?!#
engieering director: Your RESTful webservice is returing lot of 404, can you change it to return 200?
engineering manager : The API returns 404 response for invalid calls which is the correct behaviour. We need to ask/educate the consumers to correct their code to pass valid arguments and URI path. Why do you want to do this? I am confused.
engieering director: Well there are lot of 404 in the logs, can you change it to return 200 and set an error message for invalid requests?
hiring manager: what the f?!#
hiring manager: I completed a phone screen for the candidate you submitted, seems like a good fit for my team. I'd like to setup an in-person interview. Can you arrange for that?
recruiter: Sorry, you are not allowed to do in-person interview, just make the offer through the hiring tool and we will take it from there
hiring manager: what the f?!#
product mgmt: I heard the enhancements we need are not included in the upcoming release. How can this happen?
dev mgr: Sorry, I am not aware of any enhancements we left out in the project plan we all agreed and development is almost complete and we are nearing QA cycle. Can you be more specific?. What enhancements we are talking about here?
product mgmt: Well, I haven't thought about exactly what we need yet but you promised it will be in the Jan release.
dev mgr: what the f?!#
[Update: the product mgmt person mentioned here has been promoted to Vice President!!! ]
product mgmt: Can you remove the product version,build number etc from the software?
dev mgr: The product version/build number is necessary so we can identify the release customer has. Almost every software
ever made has this information. why do you want to do this?
product mgmt: well, mentioning build # 11 to our first customer
may convey the idea that we've got it wrong the first 10 times.
dev mgr: what the f?!#
See more details of this on 'The Daily WTF' site
dev engineer: My desktop has 3GB RAM, dual-core, tons of space but runs like a molasses, can you find out what is causing this?
IT support guy: [Fiddles with the computer for about 10 mins and says...] "Well the problem is because you are running windows XP applications on Windows 2000, thats why, we need re-image your machine with an XP Image"
dev engineer: what the f?!#
engineer1: I need you to return error code when the call fails so I
can return proper error message to caller
engineer2&3: The client did not specify anything so we designed the
software so there is no mechanism to return error code
engineer1: what the f?!#
dev enginner: Do we need to re-compile hooks every time we get the SDK service pack updates? [NOTE: hook in this context refers to dynamically loadable C/C++ runtime shared objects]
dev mgr: If you use header files from SDK to build your 'hook' you must re-compile every
time you get a new delivery.
dev engineer: We like to
avoid re-compiling bla bla bla... I'am sure that the hours spent on unnecessary re-compiles
have an effect on the profit margins for these projects.
dev mgr: [whaaa?]... How much time are you going to save by not re-compiling code?. Just
setup the make dependency properly and *always* do a make before delivery... it is the typical thing you do
when you deliver software to QA or production, its called 'nightly build'
dev engineer: Remember each time we re-compile a hook we need to stress test it
too to ensure the possibly modified libraries have intoduced new leaks/bugs. It is equally dangereous
to just release untested code into production.
dev mgr: what the f?!#
dev engineer1 To develop a good application software you need to first start with a good design.
dev engineer2: No, good programmers don't need design as it's already in their head when
they start coding. [NOTE: This is the same engineer above who thinks he can save tons of money
by not doing nightly builds]
dev engineer1: what the f?!#
manager1: The companies #1 goal is quality. QA will not test any of the items below
[items below refers to basic things like parameter validation which will be the first
thing any QA will do] and Delivery will not deliver a non-quality product
manager2: I couldn't agree with you more on testing and delivering quality
software but I disagree on your statement that QA will not test this sorta stuff,
they will not get any result if they don't so they will and they should test.
manager1: QA will not get to this level of detail
manager2: what the f?!#
QA: XML files are not validated when validate option is set to false [entered a defect]
dev engineer: This is not a defect, just set validate=true if you need validation.
QA: defect is fixed. XMLs are now validated when validate option is 'true'
dev engineer: what the f?!#
dev mgr: please remove bin/solaris, bin/aix etc, this is a pure java application
CM engineer: it is the standard we follow across the company where we store platform
specific binaries on separate directories
dev mgr: this is a pure java application so it is not necessary
CM engineer: I understand it is java application but you store only the platform specific
part of the binaries in these folders.
dev mgr: what the f?!#
customer: we like your software to pass the login credential to external system to retrieve highly sensensitive data
vendor: hmm, ok where is the external service?, I hope it is w/ in your network protected by corporate firewall and such..
customer: no external network, no firewall.
vendor: huh, external network as in public network?
customer: yes
vendor: what the f?!#
customer(IS admin): we dont want to run that service because of security reasons.
vendor: we dont need it on physical interface, just run it on
loop back interface so it is not accessible outside of the host
customer(IS admin): well people can access the service...
vendor: how?. Do you think external hosts can connect to a service running on 127.0.0.1?
customer(IS admin): yes
vendor: what the f?!#
customer: We need the source code for the software we bought
vendor: I am sorry, we can't give source code... [follows with explanation on the obvious reasons]
customer: I don't want to go into lengthy discussion on why you can't provide source code. We need the source for software we designed.
vendor: what the f?!#
customer: We are getting error when calling your toolkit can you
tell us what is wrong?
vendor: Have you looked at the log file for any errors?.
[NOTE: Logs refered here is a nicely formated HTML output where
errors are hilighted in 'red' color :) ]
customer: During training they never told us to look at the logs,
besides, I dont want to look at logs everytime I run my tests.
vendor: what the f?!#
Strange/Bizarre Quotes/Questions/Statements
- "The output file must be named "Renewal Pricing Recommendations Weekly.xls" for our process to work."-- by an IT Project Manager
- "Is there a programmatic method of determining what username/password should be used? We obviously don't want to hard code these in our system"-- a software developer
- "Is AIX and Solaris is like a Dell or IBM? -- a clueless application integration 'specialist' in charge of integrating various UNIX application components!
- "What is UNIX?, is it like a script or something? -- a delivery manager in charge of delivering UNIX based application software!
- "do we have something that explains how VPN is secure?" -- a Software Project Manager!
- "Where did you get the impression that QA would be installing software?" -- a QA Manager!
- "so we are using SOAP/MQ/HPTP" [note: HPTP is not a typo] -- a client
- "we don't need version control we can use zip files and use the timestamp on it to track files" -- a sotware analyst
- "Java by nature is not as an efficient language as COBOL" -- a software engineer
- "Windows is far more hardened and secure compared to Linux" -- a software engineer (now works for Micro$oft, go figure)
Stupid Code
-
public static void foo() {
SimpleDateFormat df;
Calendar cal;
Date d;
try {
// some code that creates these stack objects above
}
finally {
df = null;
cal = null;
d = null;
}
}
--- code from a Technical Architect, at least thats what his e-mail signature claims :)
-
try {
// some code
}
catch (Exception e) {
System.out.println("caught transform request exception "+ e.toString());
}
--- code by same 'Technical Architect' from above who is unaware of e.getMessage() or that toString() is implicit
Interview Gems
Q: What's a class?
A: It's a "ball". Or a "can"... Anything in the real world.
Q: Why do you want to do user interface work?
A: I just love the user. I think about the user all the time.
Q: How do you force garbage collection in Java?
A: By running the class finalizers.
Q: What do you like best about C++?
A: Multiple inheritance. I love multiple inheritance. I use it
everywhere. (pause) I just really love multiple inheritance.
Q: Have you used or studied any distributed object systems?
A: Yes, I've built a large system using "COBRA".
(Note: not a typo.)
Q: How many years experience do you have with C?
A: Probably 6 years.
Q: Okay, what's a pointer?
A: Oh I've never used pointers.
Q: What's the difference in '==' and the equals() method in Java?
A: You have to use == for primitives and equals() for objects.
Q: Does polymorphism use overloading or overriding or both?
A: Overloading.
Q: Explain the difference in overloading and overriding a method?
A: [Lucid explanation.]
Q: Explain polymorphism.
A: [Another lucid explanation.]
Q: Okay, so does polymorphism use overloading or overriding?
A: Overloading.
Q: What causes a thread to block?
A: Entering a synchronized method.
Q: Give justifications for using an interface as opposed to
an abstract class?
A: Interfaces allow you to have constants.
Q: How would you link a C++ application with a C library?
A: Well, I'd just find the C++ version of the library.
Q: (Phone interview) What's does the scope resolution operator in C++ do?
A: uh...
Q: You know, the colon colon.
A: Oh, yeah. <sound of rustling paper over phone> I think I used that in this
project... (about 15 seconds go by). No, I guess I haven't ever used that.
Q: In C++, what's a default constructor?
A: Um... <random babbling> I guess I don't know.
Q: (Explanation of default constructor.) Okay, do
you know what a copy constructor is?
A: Um... <more random babbling>
Q: (Explanation of copy constructor) How about this?
What is a constructor used for?
A: I guess any of this stuff about constructors I'm just not going to get.
Q: How would you specialize the Java Vector class to always allocate capacity for 100 elements?
A: I guess I don't understand the question.
Q: Well, Vector has a constructor that takes an int, which is the initial capacity.
A: Um...
Q: So, you'd write (I begin writing on a whiteboard)