DevDisasters

Access Abomination

Software development gone wrong.

In his college years, budding developer Troels L. wanted to get a leg up over his fellow students. He figured a job to supplement his studies would serve him well, so he looked for employment at IT firms, banks and insurance companies, but no one was hiring students. The companies only had positions available to candidates with degrees.

Finally, Troels found a large non-IT company in his area that was looking for college students for a planned project. He read and re-read the job post to assess whether he had the skills called for in the project -- specifically in the area of database integration using a trio of technologies: Access, VB and Encarta.

Having used Access, Troels was ready on that front. He hadn't worked with VB, but he figured, how hard could it be? He'd used Microsoft's Encarta encyclopedia software before, but never in any professional capacity. He couldn't even imagine what using Encarta professionally could possibly entail. The job didn't seem a perfect fit for his skills, but he sent the application in anyway.

You Want What?
Not long after, Troels landed an interview. After a brief conversation, the interviewer asked Troels if he had questions.

"Well, I do have one question," Troels began. "What exactly are you looking for by way of Encarta experience?"

The interviewer looked stunned. "Well, you've used it, right?"

"Yes, for college papers and that sort of thing. But I don't know that there's any API or anything like that. Let me rephrase my question: What exactly is it that you want me to work on?"

The Apple Solaris Expert

During his tenure as an IT director for a small Internet-services firm back in the dot-com days, John recalls an interview with a candidate who, on paper, was an experienced developer with some strong Linux administration skills. He recounts:

"When I asked the candidate to tell me about the operating systems that he had experience with, he quickly responded by saying that he was an expert in 'Apple Solaris.'

After an awkward silence, it hit me -- he was joking! I thought I'd take it one step further and asked, 'What version?' Again, very quickly, the candidate responded with '2.0.' Then it hit me again -- he wasn't joking. That didn't stop me from uncontrollably laughing, though. Needless to say, the rest of the interview was very short."

Read more interview tales here .

.
Tell Us Your Tale
Each issue Alex Papadimoulis, publisher of the popular Web site Worse Than Failure, recounts first person tales of software development gone terribly wrong. Have you experienced the darker side of development? We want to publish your story. Send us your 300-600 word tale -- if we print it, you'll win $100 and an RDN T-shirt! E-mail your story to Editor Michael Desmond at [email protected] and use DevDisasters as the subject.
"Do you play World of Warcraft?"

Troels was surprised by the response. What could a massively multiplayer online role-playing game have to do with the software project he'd be working on?

"Uh, yeah, I played it for like a month ..."

"Great! That's exactly what we want!" the interviewer said. "Except with icons of our competitors' locations on a virtual globe, instead of monsters."

The company wanted decision-making software for company executives, and those executives liked the world map in Encarta. The firm had already collected the data needed for the Access database. It had decided it wanted to hire a developer that would "make Encarta 3-D with icons for competitors."

Never mind the fact that there was no obvious way to integrate Access and Encarta. The interviewer told Troels: "They're both Microsoft, right? So they can just snap together."

Yes, Troels thought, in the same way a Ford Aerostar's engine can be dropped into a Mustang.

Fight for What's Right
Troels reluctantly accepted the position. The experience was just too valuable. Besides, with the title of assistant programmer, he figured he'd be working with a capable senior developer, or at least a strong regular developer -- or at least a developer. As it turned out, Troels would be working alone.

Troels taught himself VB and spent a few weeks fixing up the Access database. Several times, Troels asked the company to upgrade to SQL Server. After all, this project was a multi-user application with sensitive data, and Access just wasn't the right tool for the job. SQL Server licenses were too expensive, he was told.

After a few late evenings of hacking, Troels produced a working version of the Access database, though it hadn't been designed for security. The plan was to get something up and running, then patch in security later (despite Troels' protests). Again, he suggested upgrading to SQL Server, and again he was turned down.

Once the database was complete, work on the front-end began. A 15-minute meeting was held with the IT staff that Troels hadn't even known existed. And, thankfully, they backed him up when he brought up the idea of upgrading to SQL Server. With their support, he finally won the battle -- and with that victory came the loss of practically all of the work he'd spent weeks on. The Access structures were used as the basis for the SQL Server data structures, but all of the methods, forms and procedures were thrown out.

Still, Troels was happy. He'd won a little battle with the business and overcome the first "business-versus-development" fight of his career.

About the Author

Alex Papadimoulis lives in Berea, Ohio. The principal member of Inedo, LLC, he uses his 10 years of IT experience to bring custom software solutions to small- and mid-sized businesses and to help other software development organizations utilize best practices in their products. On the Internet, Alex can usually be found answering questions in various newsgroups and posting some rather interesting real-life examples of how not to program on his Web site TheDailyWTF.com. You can contact Alex directly via email at [email protected].,

comments powered by Disqus

Featured

  • Hands On: New VS Code Insiders Build Creates Web Page from Image in Seconds

    New Vision support with GitHub Copilot in the latest Visual Studio Code Insiders build takes a user-supplied mockup image and creates a web page from it in seconds, handling all the HTML and CSS.

  • Naive Bayes Regression Using C#

    Dr. James McCaffrey from Microsoft Research presents a complete end-to-end demonstration of the naive Bayes regression technique, where the goal is to predict a single numeric value. Compared to other machine learning regression techniques, naive Bayes regression is usually less accurate, but is simple, easy to implement and customize, works on both large and small datasets, is highly interpretable, and doesn't require tuning any hyperparameters.

  • VS Code Copilot Previews New GPT-4o AI Code Completion Model

    The 4o upgrade includes additional training on more than 275,000 high-quality public repositories in over 30 popular programming languages, said Microsoft-owned GitHub, which created the original "AI pair programmer" years ago.

  • Microsoft's Rust Embrace Continues with Azure SDK Beta

    "Rust's strong type system and ownership model help prevent common programming errors such as null pointer dereferencing and buffer overflows, leading to more secure and stable code."

  • Xcode IDE from Microsoft Archrival Apple Gets Copilot AI

    Just after expanding the reach of its Copilot AI coding assistant to the open-source Eclipse IDE, Microsoft showcased how it's going even further, providing details about a preview version for the Xcode IDE from archrival Apple.

Subscribe on YouTube

Upcoming Training Events