If you generalise at a very high level; there are two sorts of programmers :
What are a few things as a fellow worker that you can do to push the latter programmers to be like the former ones? Should you even care, considering you have no managerial role whatsoever?
praising the fellow developer's work is the simplest way to motivate them
The most important thing I can think of is to make it a policy to objectively evaluate any feedback/criticism/suggestion from a peer purely on its technical merits (or lack thereof).
I have found it to be incredibly demotivating when people reject ideas in their infancy for reasons like it is not how things are conventionally done in the firm, is not what the framework recommends, does not align with existing implementation approach, might not be intuitive for a random newcomer who may join the project 5 years down the line, is not how rockstar developers in community handle it, etc.
In my current team I have first hand experienced that even if a proposal is rejected, it can be very motivating and stimulating if a thorough and objective feedback is provided on the exact technical demerits for which it is not good for adoption.
I can't really say, since I find that we have a pretty homogenic team on this matter here at my work. We almost all have our curated lists of news to keep up on latest techs and trends, and even the ones who don't have such lists listen to those who have every time we share informations on our dedicated Slack channel.
Appart from that, I'd say comunicating is the key. Share, write, speak. Enthousiasm is usually the best thing to keep everyone on track.
As an engineering manager, I find standing over their right shoulder and asking them something vague like "How's it going" to be pretty effective... </sarcasm>
Since I'm in my current company (more or less 6 months) i introduce some interesting things
After every deployment (every two weeks on monday) the day after we review the last artciles and interesting things to share. We have a shared folder of google docs and I put all the links inside one document at every meeting
Another things it's to go to the meetups, sometimes i go alone and other with my coworkers
Define a roadmap of things to do, and to refactor, implement and to have the app up to date
I propose a migration to a cloud service/hosting and now we are contacting some hosting companies and viewing the best choice
For my own i read articles, go to katas, workshops, meetups, make networking and see what it's the new an interesting in the market.
For other side ahead of only development team, in my company make once a month a monthly meeting to have feedback and share of every department.
If you want to know more say me anything :)
At my workplace, I organize a tiny hackathon that's sponsored by our company then we all have to build a product that solves something specific. And that is useful too.
And most times we engage in a coding fight where we pick a random project and whoever completes it first will take all the money "Just a very little money for motivation". Because most people get motivates if they see something really beautiful and they become motivated to build such too.
But seriously, the only motivation is when we developers are sorrounded with people that are highly skilled than we do.
Dennay Bedard
Front End Web Developer
For the company that I am currently working for, I've only been here for a little over a month, we have mostly back end devs and a small group of UI devs, which I am a part of. We have a bi-weekly meeting with just UI people to discuss what we've been working on and bringing new ideas that we could incorporate into our applications. I imagine something like that could potentially work for other teams as well to encourage people to want to learn more and contribute. My motivator is simply always wanting to be the best that I can be, but I know that is not necessarily a motivator for everyone.