I've been working at my company for almost a year now. A few months after I started, there has been talk of developing a lunch order application mainly for internal use (optionally as free bonus for another product we sell), with me being the only developer, as a training exercise. I started work on analysis, but after a few days, my boss had another assignment ready, which lasted until early this year.

now, this internal application has been somewhat of a running gag in our company. the employee who was hired before me said there were also talks of him developing this app. The coworker who was hired after me also was mentioned in this app. I heard that this app has dated back to the foundation of the company, and likely would never be built, sometimes being mentioned but never actually started on because it is not profitable. It's basically vaporware, a mythical product that may never been released.

However, at home I'm currently in a period of boredom, and I've been thinking about developing this project personally, sort of as a surprise for my boss. to clarify: I will not tell my boss about this until I have a working prototype, although I will ask one of my coworkers what he thinks about it. the issue is that we mainly develop for the Dynamics CRM platform, and this app would be developed on there as well, so I will need permission to use our development environment for this.

I'm wondering what the advantages and disadvantages of doing this project in my private time is if I don't tell my boss (he's not on SE, so I doubt he'd find out this way). Are there mainly advantages, or is there some huge disadvantage that could get me into trouble?

  • 5
    Just to clarify: you are perfectly happy to donate your free time for something that will be owned by your company when you're done? (You're not trying to do it and then sell it to them, right?) Commented Mar 27, 2014 at 23:19
  • 2
    Work = work, time off = time off. It's a health kind of thing. It's devastating over the long run, especially for programmers.
    – Kvothe
    Commented Mar 27, 2014 at 23:34
  • 1
    @Kvothe Most programmers are programmers because they enjoy programming. If you have a project you are excited about, you would do it in your free time. Why does it matter that it ultimately is going to be for "work"? Commented Mar 28, 2014 at 13:28
  • 1
    @JoeStrazzere I Think it would be a pleasant surprise if one of his junior developers takes the time in his private life to develop something which is sort of a pet project but could never be built on company resources.
    – Nzall
    Commented Mar 28, 2014 at 21:41
  • 1
    @DaveJohnson - It potentially doesn't matter, though it depends upon the programmer involved. Personally I'd require that my employer open-source any code that I wrote in this sort of situation so that 1) I can retain stewardship over it if/when I leave, and 2) the company can't turn the code into cash and leave me with nothing. And Kvothe, when's the next book due out?
    – aroth
    Commented Jul 31, 2014 at 3:25

4 Answers 4


It can depend on your company's culture and the industry or even the country's culture.

In some culture, you can be viewed as the person taking the initiative to do something.

But since this lunch ordering app is not your company's profit making item, you can be viewed as "working on trivial things" and possibly even "did that guy do this thing during his work hours?"

Another thing is, you may be seen by the manager and coworkers that you are a person who is willing to work for free, and in some culture, free means less respect -- just like oxygen that is so important for survival, when free, nobody will pay $1 for it, but when diamond is not important for survival at all, and not free and hard to get, people will pay $1000 or $5000 for it.


@Spehro already makes a couple extremely good points. Some more things to consider:

  • One advantage of doing this (apparently non-trivial) development in secret is that you can abandon it if this turns out to be more complex than you bargained for. After all, there may be a reason why this development apparently started and stopped multiple times. Or your "period of boredom" at home may suddenly end for an unforeseen reason and trigger a re-evaluation of your priorities.

  • You could be seen as brown-nosing by the other employees. Maybe not that much of a deal as you mention you are the only developer. If there were other developers, something like this could be seen as sucking up to the manager. In such a case, it might be better to get all the developers in and make it a team present to the boss (if you do decide to go forward with this).

  • Be careful of future expectations you may be raising. Depending on your manager, you may come across as "willing to work unpaid overtime". Be on guard for future requests along these lines and politely and firmly decline.

So, also taking @Spehro's points into account, I would advise you to not use company resources, go to your manager rather earlier than later, and making it clear that you are not committing to anything, nor are you responsible for the quality of the end product. Clarify what you will and what you won't do. If there are aspects you won't enjoy (QA, documentation, support, bugfixing), be clear upfront what you won't do but offer to do those things on company time if requested.


Have you fully considered any risks? I wonder if there is a possibility that your side project would be discovered and you could be accused of developing a product using company facilities to take with you to another venture.

If your colleague is or is not seen to be at arms-length relationship with you it might make a difference to the overall perception.

As well, if your assigned work is late or deficient in any way, the semi-authorized work could be blamed.


At the risk of being off topic, have you considered building something which is not work related? For example, do you have an idea of a useful app of some kind or perhaps a website?

As an added bonus, you'll be free to choose the technology platform and solution design, so you can implement it in a way that will allow you to learn something new (if that's what you desire) while building something that a lot of people might find useful.

Another advantage is that you never even have to mention this to your boss, and certainly don't need their approval.

Three years ago I was in a similar situation where I had some free time between contracts and wanted to learn the PHP stack so I built a website (www.thriftshelf.com) which finds you the best price for a given book from a pool of online retailers.

I whacked it up in a couple weeks, which included learning the platform (PHP and mySQL). It's a ugly duckling (I'm terrible at UX design) but it's fully functional and people use it every day.

Just pick something which sounds interesting. If you can't think of anything, try thinking of some problem or nuisance which can be solved through automation. In my case, the "problem" was comparing the prices for books on different sites, taking shipping into account and converting it to my local currency. My site does all that for you in seconds, so I like that it actually does something useful.

Actually, your lunch ordering idea sounds interesting and could probably be redesigned as a more generic app for allowing groups to order from menus and store those orders until someone is ready to send the whole order. It'd be ideal if you have an interest in mobile app development. If you started linking up with actual takeaways and restaurants, and charging a small commission on orders, then you have a business model.

You must log in to answer this question.

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