This is a super quick and short article to refer my potential and existing clients describing what I call "Time Travel" software development. I charge a generally higher rate for this kind of development, and this article is an attempt to explain why.
Time travel development is software development where the work requires me to either travel backward or forward through time. Traveling back in time, this means work that involves severely aging or obsolete software. Traveling forward through time involves bleeding-edge technology that may not necessarily be proven, reliable, or likely to become mainstream or established.
As a software developer, part of my job is to learn. Seasoned developers are massive libraries of coding structures, frameworks, styles, opinions, quirks, and gotchas. For many developers, including myself, filling our libraries with all this information is challenging, exhausting, and sometimes frustrating. We are always very picky about the information we choose to learn because it has an expensive toll on us.
With that in mind, we very much want our libraries to be a wealth of information and knowledge that is advantageous to our everyday and personal work. The more time we spend on useless information, the more we miss out on the learning we'd prefer to pursue. When we take on a project learning the syntax and architecture of defunct or potentially defunct technologies, we are sacrificing a considerable amount of our effort.
To me, the world's most valuable commodity is human effort, and that is entirely something that should be compensated appropriately.