See title, but I am asking from a technical perspective, not
Take my 40 year old virgin niece on a date or you're fired.
Software Engineering Stack Exchange is a question and answer site for professionals, academics, and students working within the systems development life cycle. It only takes a minute to sign up.Sign up to join this community
I was working on a web project in ASP.NET which was to replace an existing PHP solution. The PHP site wasn't bad, just a little outdated so the new project was to upgrade it using a new platform. The first thing to do was setup the new infrastructure by having IIS and MSSQL servers as well as a source control system.
A few weeks into creating the new project the project manager became unhappy with the deployment process which involved getting the latest version of the code, then deploying a build to the test environment. He felt that this was time consuming and that having people work on the same code base and having to merge their changes the wrong way to do things.
His solution was that we go back to the "old way" of doing things: writing PHP on the production server in real time with no source control or deployment strategy. This way you could have instant results and it didn't involve setting up source control or other servers. Needless to say things did not go well. :)
Just last week someone asked me to make a simple change to an existing DLL (left pad a numerical value with leading zeros).
It was a COM DLL, originally coded in VB 6 - source code long since lost - which interfaced on one side with some external hardware (interface unknown) and whose functions were called from an Active X control on a web page (interface, again, unknown).
It only took me a week and I only slept overnight on the office floor twice.
But I got it done and it is live in the field as of yesterday - working.
Punchline - it was a government project, of course.
At the ISP I worked for back in the mid 1990s, the boss was friends with officers from our local police and sheriff stations. They were interested in catching securities fraud. So my boss hatches a plan:
Write a program to scan websites for evidence of securities fraud. That is:
This was back when pretty much every web server had a unique public-facing IP and virtual hosts didn't exist, so technically it was feasible. This was also back when a 1.5Mbps T-1 was really, really fast.
The problem? Even if we could scan ten IPs per second, the entire job would take almost 5,000 days to complete. Yep, had we gone through with such a program, it would be just now finishing its first scan of the entire Internet.
The last company that I worked for (and went bust) got a few bad reviews of the product.
So the decision was made by the upper management not to fix the problems but instead rebrand the product and relaunch it. Bugs included.
The other thing that made it really hard to stomach was the fact that the rebranding consisted of nothing more than a name change, which meant about 3 image swap-outs within the app and a few string replacements. The app looked the same, behaved the same, crashed the same.
Can't say I'm surprised the company didn't last.
The question is in Bold, It needed a build up.
Client: "You need to write Automated tests using RFT against our popular Web application"
Me: "Okay, in which environment is it deployed?"
Client: "It is deployed in QA but you don't have permission to access it"
Client: "Can you somehow finish writing the Automated tests without the application?"
Me (in my mind): "I could, if I was superman or Chuck Norris"
Back in 2003 we were two developers and a designer that got this...
I want you guys to do an imageserver application where you can just drag'n'drop images to upload them, without any extensions in the browser and it have to work on all platforms.
Truth be told we all looked at him and said something along the lines of
If we knew how to do that, we wouldn't sit in these chairs in your company right now.
My boss once insisted to me that Google's search results were all sorted by the highest bidder. He flatly refused to believe that Google tried to order its results by usefulness to the user. I tried to explain with simple logic that a system like that would result in the worst internet search engine imaginable to no avail.
In fact, he argued so vehemently that I'm pretty sure he'd just promised the client "the number one spot on Google if they were prepared to pay"... but didn't want to have to call back and look like an idiot.
Boss: I find it disgusting that you come in at 11am every day. I want you here at 8am, to help the data in-putters with any problems, and stay and help the dev team. When they go home at 7pm, you can start uploading changes to the sites.
Ofcourse, because of the ubersecurity for these sites (pharmaceutical company), we can only have one connection from our IP address to their servers, and I had 24 sites to upload. I was coming in at 11am because id be in the office till 3 or 4am uploading sites.
I left very shortly after.
Someone asked me to create a website which "copies what Google Local Search does and merges its data with other information coming from a database". I drew something in paper and the customer said it was ok; I charged him with 700 pounds (1000 US dollars) for a 5-days job.
I developed it in 3 nights and delivered it. I was proud of what I wrote until the customer said "It's almost ok. Why are you using the googlemaps rubygem? I asked you to copy, not to use"
I was working on a digital marketing website where we were selling DRM-protected Windows Media audio files; audio books for the most part. Microsoft pushed out some sort of required compliance update for all vendors to implement, assuming the vendors are deploying desktop client applications on end-user machines. The update required the application to check DLL versions on the client's machine to ensure they're up-to-date. My boss was literally drilling me for every conceivable way in which our website was allowed to check a web client's DLL file versions in his/her system folder, even to the point of suggesting we write our own Windows Media Player skin to do so.
I was asked by my TL to connect the phone line directly to USB (no MODEM type converter in between).
I tried to explain him that it is not possible technically (the connecting of phone to USB directly). but he didn't want to listen.
Then, I had to write him a 20 page document explaining that phone is analog while USB is digital so a converter is very much required. Then he dropped the idea altogether.
Client: When the power is lost, the electronic door lock should go to the failsafe position.
Me: Yes, of course. Just for clarification -- the failsafe position is "unlocked", right?
Client: Could you make it configurable in software whether the door is locked or unlocked when the power fails?
Coming late on that one but... I once worked as part of a QA team for a... let's say fairly big software project, which ultimately is part of a big telecommunications infrastructure.
Think big, as in really big, as in a few million people use it, to, well, communicate. Write, talk. Short distance and international stuff. That comes with billing as well to make sure it really matters.
The reason for me working with this team was that the technical launch date was approaching, and that they were quite late on the QA and defect identification front.
One morning I show up for our stand-up meeting, and the programme manager tells us that after a review meeting with the project's executives yesterday, they've decided that instead of having the software run on Windows 32 bits servers (which was decided like 2 years ago), they wanted it to run on HP/UX 64-bits machines.
No reason except that at the time 64 bits what becoming all the rate, so it must be better right? And totally justified. It was now only 2 weeks before the technical launch. Easy.
We fought this dearly (and with laughter).
At a credit bureau company, I was asked to replace a 100k C code service that checked fraud databases. Asynchronous multithreaded programming in Java replaced old C fork-join thechniques. The time frames were about 400-500 ms and 1-1.5 sec with stress. We managed to get 600 ms with ocassional peaks from databases' cache flushing.
I was asked by my manager, a VP with connections to a support company in China, to transfer the support of my products to an external company. When I tried to explain to him that this was not possible given our contractual obligations to our customers, his response was, "Of course we can do it - we did it at "xxx company" (his previous employer) Never mind that the two companies made different classes of software, and had different licensing models.
1) Use an Object Database in an ERP system
2) Use an EVA Database in an ERP system
3) Craziest: Build a visual-based business rules system (a la Outlook Rules) to hand to our users (without a test harness to test the rules) and "throw it over the wall" at them. So instead of us writing programs for our users, we could just write a dumbed-down programming language for them and let them write their own apps.