Hey, I'm a Junior Programmer working at a company.

I just found out that they've been releasing a debug build of their product to clients for the past four years because the release version is broken (and has been for several years).

My initial reaction was to be aghast, and I still am, but is this common? Is this not as big of an issue (both business and code-wise) as I think it is?

Thanks in advance for your answer, and apologies if I've tagged this wrong.

  • 1
    Wow, sometimes you have to pay extra for access to the checked or debug builds . . . May 2, 2011 at 22:12

6 Answers 6


IMO, somebody's first few years in an industry set an internal standard for what is acceptable and what isn't. I seriously question if working somewhere who a) doesn't know better and/or b) doesn't care, is good for your long term career.

I'd suggest alerting them to the problem (in a non-condescending manner) and if they don't make it a priority to fix it, start looking for a new job.

This is a management smell if you ask me.


In my opinion this is a huge issue. It tells me that company doesn't understand how their software works and is relying on voodoo to make it work without understanding why it works or why it fails.


As long as it's identified as a debug version (beta release, for example), then it's "ok". But I would think that after 4 years they would have figured it out. I don't think it's a good sign that this has been going on for so long.


Sending a debug build out to clients is probably not a big deal - it would be worse to do this with a server-side component.

I'd be more worried about your company's inability to fix problems with the release build, despite having years to do so.

  • "It would be worse to do this with a server-side component." It is... I have the feeling I won't be here for long... :(
    – Chris
    May 2, 2011 at 21:29

While this is not even close to a good practice, the main purpose of a company is to make money (not to follow best practices.)

My recommendation would be to point out the areas in which fixing this problem could help make them more money. As far as I can see, those are mainly:

  1. The problem with building release may have other impacts which could cost money in unforeseen ways. It is better to have reliable code because it is cheaper to maintain and develop.
  2. Efficiency. The code will run faster and be smaller without debugging symbols.
  3. Less easy to reverse engineer / remove protections from.
  4. Less likely to look developmental (in terms of software development) disabled.

If they don't care about any of the reasons NOT to release debug code, why waste resource getting release to build? If you work for a profitable company, instead of an organization with zero profit motive, there needs to be some benefit to an action which will cost resources.

I hope this helps.

-Brian J. Stinar-

  • 1
    Retarded shouldn't be used as a pejorative.
    – Null Set
    May 2, 2011 at 21:20
  • It's OK if one is insensitive. Joking May 2, 2011 at 22:39
  • @NullSet: What about stupid? idiotic? moronic? imbecilic? May 3, 2011 at 4:49

Chris, Code definitely is not as efficient when running with debug symbols, however the degree to which it is slower may be negligible. It just depends on the code and what it's doing.

They probably should be running it with out symbols...thats definitely weird and not common practice.

  • 1
    Thanks for the quick response! I've already ranted to them about it, but I have a feeling nothing's going to change unless I do it myself.
    – Chris
    May 2, 2011 at 21:08
  • 2
    I can tell you that this mindset is relatively common in the software industry..unfortunately...
    – Chris Kooken
    May 2, 2011 at 21:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.