I was recently reading a great article on techniques for rescuing legacy code.
And it occurred to me that difficult, hard-to-manage legacy projects present a great business opportunity. I see a lot these lately, with legacy PHP, Magento, ASP.Net or classic ASP, ColdFusion or Perl/ModPerl.
Even though they are older technology, they can be great projects because they have the following qualities:
- Very important and valuable, sometimes high-profile
- Requiring specialized skills that may not exist anymore (or be worthwhile to learn today)
- Often requiring short or urgent timelines
- These are often projects that noone else wants to take on
Of course, for the same reasons, these projects can be treacherous, stressful and fraught with dangers.
Having met a lot of resistance from developers to work on these projects, I also know these projects require a lot of grit. Working in the swamp isn’t fun. It’s hard, sometimes boring and sometimes thankless work.
The kid-centric culture we so often see within startups and IT – the ping pong, games and supercharged soft drinks – can emphasize the fun at the expense of seriousness and responsibility of the situation.
What’s needed to attack these types of projects is a mature, balanced, adult outlook, as well as some willingness to tolerate pain. I guess you’d call that grit or being “grown up”. However, I’ve also come to believe that having fun is the best way I know to become productive. And, that once work stops being fun, it’s just a matter of time before the quality of our work goes down hill. (We can’t get rid of all the soda pop, or we go flat).
So for legacy and difficult projects, a company’s culture can be very important for this type of work. Here are some cultural qualities I think are important:
1. Toughness and grit
2. Ability to see “fun” despite difficult situations
3. Ability to take on responsibility
5. Willingness to work behind the technology learning curve for awhile
Despite all that, I’ve had times when these projects overwhelm you, frustrate you, and seem so hard they really do just want to make you cry. For that reason, I believe having empathy can go a huge way in an organization. These types of workers can often give a worker a “shoulder to cry on” when things become really tough.
(Do a good deed and be empathetic for your co-workers today.)
What qualities have you’ve seen as important on legacy projects?