21

What are interviewers trying to know when they ask the following question:

Have you developed/supported mission critical applications?

In my opinion, all applications are mission critical to the organization making that application. For example, getting information from the Mars rover may be mission critical to a government project, and getting users to sign up for an email service is mission critical for an email hosting provider. To me, all applications I work on are mission critical to my employer/client, so I am not sure how to answer this question either.

If someone can help me understand what the interviewers want to know about a candidate by asking this question, it would help me answer the question in a better way.

4
  • 8
    Mission critical apps are usually the ones that the company will be using as their main source of income, for example an app that checks the holidays of all employees in the company certainly helps out project managers, but its just a 'nice to have' tool, not one that is the main money maker
    – user5305
    Commented Aug 30, 2013 at 14:44
  • 4
    mission critical apps include any application without which the user of the application cannot get their job done, typically where the user is a corporation. This can be authentication services (if you can't access the stuff, you can't use it), manufacturing apps (like the stuff that drives the robots), web applications for companies whose only storefront is a website, etc.
    – atk
    Commented Aug 30, 2013 at 14:45
  • 4
    Different organizations might have different defintions of "mission critical". For example, the Tier 1 systems are mission critical, which means that any outage must be resolved ASAP. Tier 2 applications might have a tolerance of an hour or two. Tier 3 might have downtime tolerances of days, etc... If all applications were "mission critical", how would the support staff know how to prioritize recovery in the event of a major outage? The interviewer might have a specific definition of "mission critical", and it may differ from yours - have you asked them to clarify their definition? Commented Aug 30, 2013 at 14:57
  • 1
    "How well do you handle pressure" and "Have you ever had tough requirements to handle" would be my short answer as mission critical tend to be where the financial health of the company rests on these applications and going down isn't just bad, it is generally something that can result in people either being fired or majorly losing compensation as the company can experience large losses when these go down.
    – JB King
    Commented Aug 30, 2013 at 15:01

6 Answers 6

12

To me, all applications I work on are mission critical to my employer/client so I am not sure how to answer this question either.

Plenty of applications are not mission critical. For example, many web applications (such as the entire Stack Exchange network) can go down and the end user base does not suffer significantly* or cause immediate problems. Or internally developed line of business applications, where perhaps systems generate reports or other non-critical functionality.

Some applications have significantly more immediate business impact where minutes of downtime can translate to many thousands of dollars.

If someone can help me understand what the interviewers want to know about a candidate by asking this question, it would help me answer the question in a better way.

These two situations result in considerably different priorities. Critical business applications have a huge focus on being robust and reliable and may require support 24/7. A "break" might be a "drop everything to fix" situation. The non-mission critical applications can break and be fixed, sometimes the next day or even later in a week, and not have a significant business impact.

This is a much higher pressure situation.

I would also be careful to find out if this question is a hint at "you will be on call to support critical business functionality"


*Note: web apps have unique characteristics in that the cycle between release/fix can be considerably shorter than for deployed software. Users tend to be more accepting of downtime/bugs/etc as well.

7
  • 4
    I'm pretty sure for stackexchange that their web sites are mission critical for their business. Mission critical has nothing to do with how much users would be inconvenienced.
    – dcaswell
    Commented Aug 30, 2013 at 23:45
  • 3
    @user814064 there is a fairly large difference in the importance and criticalness of rigorous testing, validation, or optimization between releases of the SE network and other applications, as problems with many business applications can cost many thousands of dollars per minute or even immediately result in safety issues or significant costs - such as with faulty flight control software (perhaps SE measures their downtime and/or bugs similarly?).
    – enderland
    Commented Aug 31, 2013 at 11:43
  • 2
    @user814064 just because a software is important to a company or even its main product does not mean it automatically qualifies as "mission critical" in the sense of what an interviewer is asking. It might not directly relate to 'user inconvenience' but a good way to ask yourself, "how mission critical is this software?" is to ask yourself, "what happens if it has bugs or goes down?" and generally the urgency of this answers is going to give you a good feel for how mission critical it is.
    – enderland
    Commented Aug 31, 2013 at 11:52
  • 2
    I get the impression that if you work at Stack Exchange on the Careers site or the SE network, this is pretty much the type of person you need to be: xkcd.com/705. With 5.5 million pageviews per day on Stack Overflow alone, I'm sure the lost ad impressions is significant. Plus, folks might go to Experts Exchange instead. :D
    – jmort253
    Commented Sep 1, 2013 at 5:23
  • 1
    If software controlling a power plant goes down, you will lose hundreds of thousands of dollars in a second. Ditto with an oil refinery or a chemical plant (you could lose millions if the system does not catch a mistake and you lose a batch of product). If a factory's internal systems go down, all automated production could stop causing orders unable to be filled and serious consequences for supply contracts. SE going down and losing some ad revenue is not even close to the same magnitude.
    – jmac
    Commented Sep 4, 2013 at 23:16
10

The definition of "mission-critical" will vary by company, but I think a good place to start would be any system that has support staff accessible via pager/cell phone and with the ability to log in remotely (either VPN access or company laptop) to deal with problems - and there is someone available 24/7.

Working on such systems tends to be a bit more high-pressure because you know that any bug that causes an outage/interruption in provided service could result in someone (including yourself!) being woken up in the middle of the night to log in and fix/resolve the issue.

Working on such systems usually causes people to think ahead to these scenarios and document procedures for how to handle such problems in the short term (i.e. when the pager goes off at 3 AM or even when a problem is reported mid-day and all other work has to be put aside to deal with the problem), as well as who needs to be involved in analyzing and fixing the problem in the long term (i.e. the next morning when the stack traces have been read and the root cause needs to be investigated). Testing also tends to be more thorough (hopefully!) because no one wants to be responsible for the code that causes someone to be called early in the morning.

They are asking such questions because they want to know if you have that experience, and maybe to see if you are comfortable working under those conditions (including taking rotating on-call shifts).

8

Hopefully in the interview, if you answer 'yes', there will be a follow-up question about how you did it.

You're right that mission-critical is relative to the user/company, but the critical piece is did you actually design and build the application with the following attributes: Robust error handling, redundancy, high-performance tuning, usage spikes and all the other things considered best practices.

If you built an online game for you and your friends to religiously play every Friday night and it is really a prototype, you can't compare a crash to a Facebook outage just because your friends will be more disappointed than the average Facebook user who probably wasn't even online at the time. You really need to demonstrate the measures you took to justify calling it mission-critical.

Staying up all night to fix something is another indication. Some jobs require people to be on call, but usually not programmers, unless they are involved in some level of providing support.

8

TL;DR

This is a gateway question. It is likely that the question is designed to filter out candidates who haven't worked on code where "failure is not an option," and to generate follow-on questions about past projects, code quality, performance under pressure, and development/testing methodologies.

Don't Guess; Ask Questions

Why do interviewers ask if one has experience developing mission critical apps?

The best way to find out what the question is really leading up to is to ask the interviewer to define the terms as they apply to the job. What does "mission critical" mean to the company? What about your experience on such projects would be useful for the company to learn during the interview?

This kind of gateway question is a great opportunity for you to learn more about the company and the job while answering the interviewer's questions. Don't squander that opportunity!

Guessing what the interviewer wants never works out well for either the job-seeker or the employer. Think of this as a test of your active-listening skills, and ask discerning questions when appropriate.

The General Case: Your Value Proposition

"Mission critical" has a definition. Wikipedia says:

Mission critical refers to any factor of a system (equipment, process, procedure, software, etc.) whose failure will result in the failure of business operations. That is, it is critical to the organization's 'mission'.

However, many businesses also use the phrase to mean:

  1. A highly-visible project.
  2. A politically-charged project.
  3. A project management death march.
  4. An under-funded, under-staffed project that is doomed to failure from the start, but all blame will be placed on the hapless team members.

Whatever people mean by it in a specific context, the point is that the "powers that be" generally care about the outcome or perceived value of their projects. By asking you about your experience on such projects, you're really being asked:

  • if what you did mattered to anyone in authority, and
  • whether your skills were sufficient to effectively deliver on important tasks.

Think about it this way: if your past employers made money building cars, but the most important thing you were ever responsible for was unit-testing the cup-holder, would you be considered a potential asset to the interviewer? Alternatively, if you were responsible for programming the chips that control the engine, but your code was so buggy that 10 billion auto parts had to be recalled, should you be considered for a job that is essential to the company's core revenue stream?

Be prepared to talk about the value of your work in the context of your past employment. Just make sure you ask enough questions to know what the interviewer might find valuable!

2

There's lots of people who don't know what the phrase mission critical means.

It means: (of hardware or software) vital to the functioning of an organization.

Lots of companies are doing things that are not of vital importance; they don't control an Air Traffic Control system.

But your employer is asking whether you'll treat the their systems as if they are of vital importance. In other words will you treat their projects with care just because it's important to the business.

The employer thinks they'll be able to tell from your answer how much you cared about what your previous employers were doing and therefore how you'll treat their software and hardware.

There's nothing inherently wrong with thinking that all your work is mission critical. That indicates the assumption that your employer only assigns you tasks that you treat very seriously; that could be mostly true with some jobs.

For a Q&A website a mission-critical area would be the webs-site. A non-mission-critical task might be adding helpful comments to question to know the difference.

In the phrase mission critical the word mission refers to the mission of the organization (your employer) not the mission of your users.

Companies want to hire people who will take the employer's priorities as their own. Therefore in answering this question it's essential that you recognize who defines what is mission critical. It is not defined by users of a service or product.

3
  • 1
    Even the commenting system going down on SE is serious. If we visited this site frequently and different things were just randomly broken, we'd think it sucks and might go somewhere else. The user experience can be just as important and critical part of the mission as serving the actual pages themselves.
    – jmort253
    Commented Sep 1, 2013 at 5:39
  • I disagree with everyone who thinks users of a service define what's mission-critical. I think that employers who ask about this issue want to know if you'll take their priorities as your own.
    – dcaswell
    Commented Sep 3, 2013 at 17:15
  • You're right, we as users can't say definitively what's mission critical on SE, but by observing the behavior of the developers and sysadmins, it seems that they take downtime, and the avoidance of downtime, very seriously. But you're right, whether that constitutes as mission critical to you or I in our daily work has nothing to do with whether those SE devs and sysadmins consider it mission critical. Hope that helps clarify.
    – jmort253
    Commented Sep 3, 2013 at 20:32
1

If down time of the app directly casues the profit of the company to drop - then its mission critical. The employer probably wants to know if you are able to develop such apps which tends to need a high degree of robustness including easy disaster recovery, quick error determination and failover.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .