I am a manager for a small IT business with responsibility for hiring and promoting, though I need to have pay packages approved by the owner.

Let's say a salaried employee (software developer) comes to me and asks what can he do to get a raise. He thinks that he was hired as a junior level performer, but now he can clearly be considered for a mid-level position rate.

As a small IT company we don't have any standard procedure for this. What will be the most standard and healthy raise consideration process?

1. Who should say a number/percentage of a raise?
2. Should the employee present a progress or set some goals to achieve or is it a work of the manager?
3. Should the company set some timelines for the raises (once a year or something similar)?
4. Is it worth to have grades system with some levels (junior, middle, senior etc.) and public rates which will be clear for all employees?