Opportunities for growth

Managers need to work with employees to understand what they want for their future. Many engineers would prefer to stay technical rather than go down a management path, but they want to be sure they can continue to grow in the organization. Providing opportunities for them to excel and become technical leaders within the organization will go a long way toward motivating your software engineers to continue producing quality work and maintaining their loyalty to the business.

Opportunities to innovate

Hackathons and similar efforts that give employees free rein to work on code outside of their normal work activities have led to innovations benefiting both employee and employer. Having events that encourage software engineers to have fun and experiment is a great way to offer up more autonomy and capitalize on the creativity and ingenuity of your staff members.

Source: http://techbeacon.com/13-ways-motivate-software-engineers