Don't Be a Fafner Developer!
I'm going to talk about a type of developer you should not want to be - a Fafner developer. What do I mean with this expression? First, I need to digress.
Fafner is a character in Wagner's massive 4-opera "Ring of the Nibelungs" cycle. He and his brother build the gods' castle Valhalla. In payment they receive a vast treasure (the Rhinegold), which includes a magic helmet (the Tarnhelm) and a ring of power (the basic idea should be clear to you if you've ever read the Lord of the Rings). Fafner kills his brother, takes the treasure off to the woods, uses the Tarnhelm to turn himself into a dragon, and settles down on top of his hoard.
Much time passes. Finally a hero emerges who is brave enough to take on Fafner (Siegfried). The evil dwarf Mime tries to warn Fafner of the approaching danger. Fafner's response? "Ich lieg und besitz…lass mich schlafen" (I lie here and possess…let me sleep).
Of course we know what happens to Fafner - he doesn't meet a happy end. But why am I bothering to tell you this tale? Because we all encounter Fafners in our daily lives. People who just "do their job," who never look beyond the narrowest definition of what they are supposed to do, leaving enormous potential unrealized.
In software development I have encountered a number of "Fafner Developers" over the years. These are developers who, even though they may have years of experience, are content to write code, fulfilling the specification, without engaging with their colleagues in any way. These developers will never suggest to a product owner that there might be a better way of solving a problem; they won't mentor a junior colleague because "it's not their job"; they never volunteer to give interviews, code reviews, or any of the many other activities that accompany a software development team.
Besides not bringing full value to their teams, they are cheating themselves of rewarding opportunities. The thrill of helping a junior developer understand finer points of software architecture or even clean coding; the involvement in helping choose future members of your team; the warm glow of a Product Owner saying, "You're right - your solution is better for the customer, and probably easier to implement!" Their career will plateau and never go beyond a level that is called Senior Developer, but in fact such Fafners are not truly senior developers. They will write code and deploy features, in a never-ending cycle, until retirement. And then? Where was the satisfaction during their working lives?
So if you're a software developer, consider carefully what kind of developer you want to be. Do you want to embrace continuous learning together with your colleagues? Or do you want to lie on your pile of gold like Fafner?
Comments