Building software that other software developers use is hard, especially when it comes to infrastructure. Developers, like many other highly skilled workers, tend to be very particular about their tools and given that they have to deal with many tools in their day-to-day it’s overwhelming attempting to be highly proficient with all of them.
Many providers will then want to come up with on-ramps to their tools or platforms and while well intentioned these on-ramps hardly ever pan out in the long run. The main problem being that they usually only cover the “happy path” for a limited set of use cases and when developers stray away from that path they are then left out in the cold to their own resources.
Product on-ramps, much like their real-world counterparts, should be a way to prepare the user to tackle more complex problems while not having to brunt the full cognitive load of understanding the tool in depth. Unfortunately, it seems that many on-ramps are more likely to lead to a chasm that then developers need to cross themselves on their own.
This is a tricky situation for software engineers to navigate, on one hand they might just decide to go with whatever tool fills their immediate needs the fastest, on the other hand they might have to evaluate how well the tool will evolve with their own needs and for that they’ll likely need to understand the tool in more detail requiring more time to learn it. There isn’t a one-size-fits-all solution to this problem but tool providers should be looking to bridge the gap between their on-ramp offerings and their more advanced capabilities.
We at Xtages are keenly aware of the perils of insufficient on-ramps and while we are still in the very early stages of building our company, we are certainly looking to expand our capabilities while also providing detailed guidance to our users for more advanced use cases. In a way this post is a cautionary tale to ourselves reminding us about how we always have to closely lead our users through the complexities of the software development lifecycle.