What Is The Worst Design or Programming Mistake You’ve Ever Made?


Mistakes are made every day in the design and development world. It’s nothing to be ashamed of; it happens. In fact, mistakes are one of the most powerful learning tools at our disposal. Our mistakes impart important lessons that we carry with us as we continue to hone our skill set. Own your mistakes. Never shy away from them; they are the milestones in our development.

So often we view mistakes negatively and let them get us down. We believe they indicate failure and that our otherwise perfect record will be forever marred. No one is perfect; we all make mistakes. They indicate failure only if we fail to learn from them.

How often have you stayed late, trying to get something done and did some embarrassing mistake instead? We can learn from our mistakes and mistakes of our colleagues. Image credit2

The online design and development community is a wonderful resource in this respect. Not only are members open about their mistakes, they share their experiences as learning opportunities for others — this is helpful for those of us who have not yet suffered through the same bumps in the road.

With this in mind, we turned again to our Twitter followers3 and Facebook fans4 to find out about the worst design or programming mistakes they have ever made. Now we share them with you, our readers, so that we can all learn from them and avoid making the same mistakes.

Bait And Switch

The first common mistake we should learn from — and which several of our followers have had to face — is the old bait and switch. It occurs across the spectrum, for the newb and the accomplished professional, because it’s an easy mistake to make as the working hours add up. What is the bait and switch? It happens when you’re working on one version of a website or project and, at some point during the tinkering, you accidentally switch it for the active website or project before it’s ready.

When we’re in a constant back-and-forth workflow, getting mixed up is easy, at which point the bait and switch can happen. And it causes all kinds of chaos and headaches. Awareness and caution are needed to prevent this error from being part of your personal experience. Before you finalize changes or processes, be sure you’re working with the right file and uploading to the correct location. This isn’t a sure-fire prevention plan, but it will certainly improve your chances.

What Our Followers Said

  • “I accidentally put a half-finished (with massive broken bits) update of a website over top of the current live one without a back-up.”
  • “I sent $10,000 worth of product to a customer while testing an ordering portal.”
  • “I deleted an actual repository instead of a working copy. #svn”
  • “Worst programming mistake: editing off a live server and then uploading an old version of the website. All files lost!”
  • “Sat on the development FTP for half an hour, being mad that the live website wouldn’t update!”
  • “Moved the entire directory of websites on a live server into a different folder, then lost it or deleted the in-house CMS”
  • “Programming mistake: writing data to the wrong database.”
  • “Uploading to the dev website FTP and wondering why the live website wasn’t changing, which sent me around the bend in the process!”

Falling Behind On Back-Ups

Given that back-up-related mistakes usually come to light once you realize you’ve just pulled a bait and switch, we’ll tackle these next. Problems with back-up files are common in the design and development community, and they are openly lamented. For some reason, though, many of us still find ourselves panicked when we realize we have no current back-ups of the project we’re working on. And it usually hits us just after we lose the active version of the project and need it replaced.

We can take steps to save elements of our work and prevent episodes like this from becoming remorseful blog posts. You can be either low-tech or high-tech when you address this potential problem, but you need to do something. It could be as simple as making a list of details to check daily, and backing up data could be the final step. Alternatively, you could pay for an automated back-up service that guarantees completion of the task. There are several options, each with pros and cons, so find one that works for you and implement it post-haste.

What Our Followers Said

  • “I moved a dynamic, CMS-contained website across to a new server. Forgot to back up, then deleted templates in the process. D’oh!”
  • “Mistake: not backing up a compiled Flash slideshow, replacing it, then realizing the new version was completely broken.”

Measure Once, Cut Twice

The next mistake we’ll cover happens fairly often. For any number of reasons, we end up measuring once and cutting twice, so to speak. The measurements we work with vary greatly from project to project and from Web to print, so we need to be alert to what we are sizing and aiming for. Sometimes it isn’t so much the measurements as it is the content that requires a re-cut.

Often calculations, measurements and the concept phase need more time than expected. Turning off the computer and getting back to the sketch board or a notebook is often very useful to avoid mistakes. Image credit8

Chalk it up to being overzealous or getting sloppy in our work as we push toward deadlines. If these are the reasons for our re-cuts, prevention is easy: just avoid those things… which is easier said than done. Still, if we mind our p’s and q’s and double-check everything before submitting it, our chances of embarrassment decrease. Follow the carpenter’s old rule of thumb, “Measure twice, cut once” — it benefits us designers and developers, too.

What Our Followers Said

  • “Mistake: having 20,000 cards printed that didn’t fit into a lanyard card holder”
  • “Got my colleague’s phone number wrong on her business card… We ordered 2,000.”
  • “This isn’t really a programming mistake, but the most embarrassing mistake I’ve made in Web design was buying a domain name that had the client’s name in it — but part of the name was wrong. Good thing domains are cheap!”
  • “I managed to drop an ‘m’ off ‘millimeters’ in InDesign. Ended up with an 88-meter-wide business card. Schoolboy!”
  • “I think most of us have experienced the horror of hitting ‘Send’ on an e-blast, only to quickly realize it’s wrong.”
  • “Mistake: when I post something and then two weeks later or more, I find out something’s wrong with it.”
  • “A couple of years back, I made a beginner’s design mistake with print: envelopes and paper didn’t match.”
  • “Sent PDF to the printing house for 1000 leaflets. Received them and realized that the phone number was wrong. Then, sent corrected PDF, received leaflets and realized that the wrong PDF was sent. We had 1000 useless leaflets with the right number but with the ‘iStockphoto’ watermark on every (lo-res) picture. Third time it was OK.”
  • “I dropped an ‘L’ from the word ‘public’ in a school prospectus (and website). Honest mistake!”

Miscommunicate Expectations

Another problem encountered by designers and developers that you can learn from before encountering it is a breakdown of communication with a client or boss. Many of us let things become unclear or slip by, which makes us unsure whether everyone involved in a project is on the same page. Usually this is caused by a lack of confidence in ourselves or fear that asking for clarification would reflect poorly on us. Whatever the reason, we decide not to revisit the issue and instead proceed with a shaky understanding of what we’re supposed to do.

Every time we communicate with our boss or client, we open ourselves up to the possibility that one or two ideas might get lost in translation. We should be as clear and concise as possible in our discussions so that work stays on track… at least on our end — we can’t control others. If we’re dealing with someone who is unfamiliar with the design and development field, understanding what they’re asking for can be tricky. Take notes, and go over them with clients at the end of meetings so that everyone understands where things stand. Good notes prevent communication blunders.

What Our Followers Said

  • “I underestimated the amount of content that two different clients wanted. Not a clear picture from the start.”
  • “For my part, I must say, not reading a ticket well enough and spending two days coding something that wasn’t asked for. Over-enthusiastic FTW!”
  • Emily B.: “My mistake was telling my current employer than I have some experience in Web design (meaning HTML and some CSS); now it’s part of my job to learn how to code ASP and maintain and redesign our entire e-commerce website. Ugh. I’m a print designer!”
  • “I’m in the same situation as Emily. Job description and interview included ‘some Web,’ and now I’m trying to learn PHP and run a full searchable retailer list for my company! Thank God for online tutorials!”

Careless Coding

When it comes to coding, we can easily drop the ball. Coding is an in-depth process, in which many different layers are stacked on top of each other, and one can get lost in it. This is one reason why developers comment in their code: so that they leave trails of breadcrumbs throughout their projects. This is a good habit to form, but sometimes it leads to an embarrassing faux pas or frustrating hours of rebuilding, as revealed by our followers.

With just one misfired keystroke, a project can go from a coder’s dream to a virtual nightmare, with no perceptible way out. As if that’s not enough, our coding comments can bite us in the back end, especially if we’ve thrown some nonsensical, fun or unprofessional bits into the code and forgot to remove them. We need to be mindful as we code and avoid distractions as much as possible to avoid burying mistakes so deep that they reveal themselves only after hours of careful combing. Also, take one last look through your comments to be sure you’re not leaving something that you’d rather others not see.

What Our Followers Said

  • “I left some profanity in a client’s HTML once while testing text-indent (off-screen position). Very, very embarrassing.”
  • “Accidentally leaving things like ‘Mooooo’ and ‘Baaaaa’ in code that has gone live!”
  • “I used to write haiku in my code to mark my place, and I think I forgot a few out there somewhere… not anymore!”
  • “I once did (as root) `rm -rf tmp /` instead of `rm -rf tmp/` on a Friday afternoon. Painful weekend.”
  • “A typical one: Using = instead of == in an if statement. Always takes quite some time to figure out.”
  • “Typed rm -rf .* on the server. @wsttn wasn’t happy when I deleted everything.”
  • “Using a body * { text-align: center; } on a log-in form, but accidentally placing it in the default style sheet instead of the specific log-in style sheet. Our largest customer didn’t like it when it went live.”
  • “I removed the ID from the ‘Submit payment’ button, and the website failed to take bookings for six hours. Lost £20,000.”
  • “Forgot the where clause when testing SQL to a user table. No fun, I tell ya!”

Forgetting The Filler

Sometimes we forget to redact our coding comments and leave in an embarrassing tidbit or two. There are also times when we accidentally leave in filler content. That’s not necessarily a problem unless the client does not recognize it as filler, because then they might not remove it either. Remember that clients, especially the less technically savvy ones, are probably extremely paranoid about deleting anything, so any filler you forget to pull will inevitably be published to the masses.

Again, it comes down to vigilance. We can’t stress enough — on top of all the other stresses in the design and development field — the importance of double- and triple-checking all of these elements before labeling anything as complete. Certainly do this before turning anything over to the client. Making a generic checklist for every project you take on will help you avoid these mistakes. Remind yourself somehow to watch for elements that tend to slip through the cracks.

What Our Followers Said

  • “Forgetting to remove nonsense words (used for testing) in an assignment and losing marks. Otherwise, perfect code.”
  • “Two words: dummy data. Strictly ‘Lorem Ipsum’ ever since.”
  • “One time I left an unkind phrase about a client in the comments, and they found it later on.”

Wrong Tool For The Job

The last mistake we’ll discuss in depth usually occurs early on in our experience in the design and development field: using the wrong tool for the job. It does happen, and more often than we’d like. When you’re unfamiliar with a field, you’ll sometimes use the wrong platform yet believe you’re on solid ground. At some point, you find out that the program, a supposed godsend, is not compatible with your client’s program or the program of others involved in the project.

Wrong tools doesn’t necessarily mean your coding or designing applications, it also can mean a wrong environment or computer setup. On the photo above, the setup looks solid and well-organized. Image credit10.

Communication can assist in this area, though not as much as research. Find out from your client exactly where the project is going, and contact them yourself to ensure that files will be delivered in the proper format. You can leave this to the client, but you are responsible for ensuring compatibility, so it’s best not to leave it to someone else. Also, as you transition to new areas, research the tools of the trade to avoid making this mistake.

What Our Followers Said

  • “I tried to deliver my very first program for Notts County FC to the printers in MS Publisher. I cringe even now.”
  • “The first Photoshop website I ever did was a sliced PSD with all of the content in images… That was back in 1999/2000.”
  • “Using Drupal to do ‘quick ’n’ dirty’ websites. They were dirty, but they sure weren’t quick.”
  • “Designing a database app: rather than de-normalizing data, adding/removing table columns on the fly. Long time ago!”
  • “Hard-coding a navigation across 10 pages instead of using an include. Was new to Web dev at the time.”
  • “Depending on an external source for data and, because that crashed, our website crashed. Almost cost me my job.”

More Mistakes To Learn From

Below are several more community-contributed pearls of wisdom that we can learn from. We’d like to thank our dedicated followers who revealed their biggest mistakes so that we could benefit from their toil and trouble.

  • “Mistake: severely undercharging for a massive job. My very first freelancing job. Was not worth the time and effort!”
  • “There was a time in the ’90s when I thought Papyrus was beautiful. *Hangs head in shame*”
  • “I once created an iteration of a logo using Comic Sans, and it was chosen! I’m not proud, but I was young and naive at the time.”
  • “Used Comic Sans for something serious.”
  • “How about 90,000 alert emails sent to four people over one weekend (myself, a colleague and website owners) = 360,000 emails.”
  • “Deleted the shopping cart table from a live website instead of deleting one of the records in the table.”
  • “The worst programming mistake I made was to develop an admin area with cookies only (without other security systems).”

Further Reading

Here are a few relevant articles you might want to check out. Definitely worth reading if and when you get the chance.

What about you?

What is the worst design or programming mistake you’ve ever made? And if you’d like to participate in other discussions and contribute to articles like this one, follow us on Twitter16 and like us on Facebook17. We are looking forward to your insights!



  1. 1 http://www.flickr.com/photos/jason_ff/2290316618/
  2. 2 http://www.flickr.com/photos/jason_ff/2290316618/
  3. 3 http://twitter.com/smashingmag/status/21654826214
  4. 4 http://www.facebook.com/smashmag?v=wall&story_fbid=107655485959007&ref=mf
  5. 5 http://www.smashingmagazine.com/2009/02/18/9-common-usability-blunders/
  6. 6 http://www.smashingmagazine.com/2009/10/08/15-common-mistakes-in-e-commerce-design-and-how-to-avoid-them/
  7. 7 http://www.flickr.com/photos/deapeajay/2597109669/in/photostream/
  8. 8 http://www.flickr.com/photos/deapeajay/2597109669/in/photostream/
  9. 9 http://www.flickr.com/photos/jaapstronks/3771904597/
  10. 10 http://www.flickr.com/photos/jaapstronks/3771904597/
  11. 11 http://www.dailyblogtips.com/43-web-design-mistakes-you-should-avoid/
  12. 12 http://www.noupe.com/design/ten-most-common-design-mistakes.html
  13. 13 http://www.wahm.com/articles/10-mistakes-freelance-graphic-designers-make-when-starting-out.html
  14. 14 http://blog.inkd.com/resources/the-top-12-seo-mistakes-designers-make
  15. 15 http://www.graphicdesignblog.co.uk/top-mistakes-new-designers-make-when-learning-graphic-design/
  16. 16 http://twitter.com/smashingmag
  17. 17 http://www.facebook.com/smashmag

↑ Back to top Tweet itShare on Facebook

Rob Bowen is a staff writer for Web Hosting Geeks and Top Web Hosting, a longtime freelance designer, and burgeoning videographer and filmmaker whose creative voice and works can be heard and found around the web.

  1. 1

    10 years ago, i was new to database-views in oracle. There was a test-view, i deleted 12.000 records from it, thaught, its unusual data :-)

  2. 152

    Ah well, to err is to human.

  3. 303

    Subcontracted the design of a logo for an ecumenical website. It came back spelt “ecu mental”. Couldn’t very well send it to the client.

  4. 454

    5 years ago made a website for a client in Germany and didn’t check if all photos were legal. Now got a bill from Corbis.com for 7500 euro. They also offered to pay quickly 1500 eu and they will not sue me then.

    The worst is that by german law I would 99% surely lost the case. If I would win I would pay all the expencies for lawyer anyway, which would be ~250 euro per 1 hour.

    If that would be in UK or NL it will be enough just to delete the picture and say that I didn’t know that it was their pic. Interesting what should people do in US in such case? (when they didn’t know that they were violating someone’s rights)

  5. 605

    I’ve had so many SQL #fails in the past, I started to write my statements backwards… LIMIT, WHERES, JOINS, DELETE (not literally backwards… that would also be a #FAIL…) Put the fail safes in first. Same as defensive programming… Add the tests in before you bulk out the functionality.

  6. 756

    A week or so ago I ordered a number of CDs of my band’s first release. The tray card (the CD case’s back panel) listed the tracks in the wrong order. We sold 50 copies the next night. Doh!

  7. 907

    The biggest mistake I ever made was going into a web administration role at a higher education institute (which will remain nameless) thinking I could shake things up a bit with their layout and show off some of my design skills….

    …one tutorial on how to use their in-house cms later and I resigned myself to eight months of text input boxes and designing for low resolution screens. Accessible yes, cutting edge? Nope!

  8. 1058

    Outsourcing a Rails app to India. Seriously a big mistake. I’ve been around the block with all sizes of infotechs, all levels of programmers for projects in PHP and Rails.The time spent micro-managing, fixing spelling mistakes, missing deadlines, explaining basic interactions and bugs over and over again. It would have been cheaper for us to higher a good US web shop at full US rates. I’m no newbie to India, I’ve been living here for a number of years, I have experience working in the culture. Good programmers get hired out, the attrition rate is such that you’re dealing with knowledge transfers every two months. Also, it’s tough being the buffer between a culture that is lax on timeliness and finishing touches and a culture that values punctuality and polished products.

    Also, generally speaking, outsourcing your CSS/XHTML to a third party is a bad idea if you care at all about clean code. It’s one thing to make it look good, it’s another to make code that will be graceful when dynamic data is plugged into it. Nothing beats homegrown, well commented CSS that follows your conventions.

  9. 1360

    Accidentally overwritten the web.config file with a new one that pretty much broke the site of a huge client completely. It also opened up some parts of the sites that handled campaigns that shouldn’t have been visible yet. I had no clue what it was or what it did back then.

    Obviously, no backup.

    I remember being yelled at by the dotnetters for quite some time that night and having to stay there quite late.

  10. 1511

    I have sinned!
    I’ve designed a rope to hang myself with, and it’s still in the live site, because the client loves it.
    I needed to display some views in tabbed format, but couldn’t work out a proper Drupal way to do it. Instead of finding out, I committed a dirty, horrible hack. I created a custom content type w. template, embedded views and 3rd-party java within it and fed it from an argument. It worked! Success! But now it’s maintainable and the client won’t pay to rewrite it, even as they get me to add new features.
    It’s the hydra of code. Every time I update it, it gets a bit more bloated. Every view that gets added to those tabs has to have about seventy lines of PHP code replicated within it with one parameter changed.
    And I know how to fix it. But I’m not allowed to. It works, you see, and they have better things to do than to pay me to fix code that works. It is Good Enough.
    May God have mercy on my craven soul.

  11. 1662

    Whoever designed this blog made a big mistake by placing “Related Posts” between the introduction and content of the article. It’s turned me off completely to even taking the time to read the content and almost had me click away from the article’s content in the first place before I realized where the content was. Annoying.

    OK, so you don’t think I’m here just to bash, which I’m not, perhaps consider shrinking the “Related Posts” font size &/or changing the font color so a reader’s eyes see the flow of the article while not missing the links you want them to see.

    • 1813

      I used Stylebot (FF & Chrome) to add this little bit of CSS:

      #textad {
      background-color: #ebebeb;
      color: #808080;
      padding: 10px;
      font-size: 12px;

  12. 1964

    I oftenly make the mistake of not importing jquery when writing a jquery script for something nice and small on a site. I sit there looking at my script trying to figure out why it doesn’t work…

    It also happens to me with loading the CSS file…

    Some really good stories in here!

  13. 2115

    Pineapple Ingredients on a black currant label and it had hit the market umphhhh!!

  14. 2266

    My most recent *doh* moments all relate to getting excited to be done with edits and sending the dev link to my boss before checking IE! I hate IE… I also once made a style sheet for IE 7 and below called ih8ie.css… no one noticed but I renamed it a few weeks later.

  15. 2417

    I had a raid-0 external harddrive with all my backups on. And oh, the originals where gone after changing computer.
    The raid-0 went all suicide on me, just when I was gonna apply for a job. No portfolio, kids, gives you absolutely null designjobs. :P

  16. 2568

    When I first started out in web design, I spent about six hours editing a very complex image in low resolution. The customer loved it so much he wanted me to create a new brochure using it. I felt too stupid and embarrassed to tell him it wouldn’t print, so I ate the extra time recreating all of the editing steps again in high resolution.

    Never, ever again.

  17. 2719

    Hi, Neat post. There’s a problem with your site in web explorer, might test this… IE still is the market leader and a good section of other folks will leave out your fantastic writing due to this problem.

  18. 2870

    As a student, it makes me feel so much better knowing that pros have “still” done those stupid mistakes. Really great article!

  19. 3021

    I guess one of my biggest and most frequent mistake is to spend hours on some complicated piece of code to realize that it wasn’t needed…

    I die inside each time I do that.

  20. 3172

    I’m a webdev and I think i managed to get involved in many situations you all describe, the “where” missing in SQL, upload wrong version without backup, testing code showing up in prod server …
    Did you ever noticed … always happen the friday afternoon ?

    One I had to deal with was about a lack of communication in teamwork some years ago. The servers guys dicided to turn live a major update of php but during holidays since there were less user on servers and less web guys to whine about the servers off :) Well, my holidays were quite short and I don’t use anymore deprecated functions !

  21. 3323

    Ha, I did a lot of bad stuff back in the day.

    I deleted some code that I’ve written in a week
    I created an “authentication” method that was setting a cookie named “admin” to “1” when you logged in
    And more recently I managed to put PHP code with syntax errors on a production server and then went home.

    Good times :)

  22. 3474

    I know a DB admin who accidentally deleted millions (yeah, millions!) of videos uploaded by users on a video site. He couldn’t recover the data. Poor users…


↑ Back to top