You are asking the wrong question.
Understand this - the difference between maintenance job and development job is that after every development job - there is a maintenance job to support whatever developers did.
For example, you studied a new methodology for interaction between managers of the company and its customers. You come to your boss and propose that you create a CRM system in which you will store all information about your customers and etc. You get an okay and start the job, you develop CRM system and hand it in - it is installed and used in operations. You get a hefty bonus for doing the great job and leave to another company to work on greater goals.
When you leave - requests start to come in. People are wondering why things are done in certain way. Could they be changed a little bit and made easier to use? And in this and that situations that CRM system is completely wrong. And here starts the maintenance work - there should be someone who will teach the end users to use your CRM, someone to change the forms a bit - so they are easier to use, someone to make little upgrades, supporting the infrastructure - ensuring everything runs smoothly.
Let's say that you developed your CRM in a way that requires daily operations by an admin. That means that there should be always a person on staff - who will be capable of doing that operation. If they don't - the system no longer works. If they are on vacation - there should be another person available. A great example is the usage of paid SMS services to send important notifications to the users of the system - since the service is paid and external to your company - someone should always ensure that the bills are paid and that SMS service provider will not stop sending your SMS.
So, whenever you develop something - you should always make sure that you are developing in such way that support and maintenance of your system is not a hard thing, or at least that it is a manageable thing.