From personal experiences, I want to reduce friction during Software Development

I have always been drawn to technology, it was a natural career choice. Over the course of working for many projects and companies, whether a small startup or international company, the biggest issue I repeatedly faced wasn't technical. More often than not, simply getting started is where the most issues occur. I categorize the main difficulties due to one or a combination of the following:

Based on the above, regardless of ability, the onboarding experience can turn in to an uphill battle which has negative impacts on both business and staff. The worst case was joining a company where the original developers had left, the existing team had built multiple layers using a variety of technologies on top of the platform because they didn't understand how it worked and were aggressively unhelpful.

At the end of the very first day, paired with the marketing team, I was pulled in to the owners office, and labeled useless because I hadn't deployed a task set to me to production along with the demand to be immediately dismissed.

I survived the meeting, put in a lot of time to reverse engineer the system, and began to get work done. I was there to try and make a positive difference but was spending an inordinate amount of time under attack so, chose to leave after a few months. Discussing the situation with the owner, they understood my decision and we discussed how to improve the situation but, the company ended up shutting down within a few months.

Unfortunately, this kind of problem isn't isolated. I have experience these kinds of issues wherever I worked; the simple result is that time and resources for both employer and employee are needlessly wasted. Throughout my career, the desire for a system that could make the onboarding experience simpler without requiring constant maintenance or attention grew in my mind but, was never addressed. It's a complicated issue that ultimately revolves around empowering people along with the transfer of knowledge.

It was after I became a father, I started valuing my free time more. I love my profession but, I no longer had the motivation or energy to just live to work, I wanted to work to live. After my last position, where I faced a combination of issues with multiple teams at the same time, I was feeling mentally drained and needed a break. I vowed to take a year spending as much time with my daughter as possible but also researching, experimenting, and trying to figure out a better way of technical onboarding so that others could avoid the hassles I faced.

By the end of that year, I had a quite firm idea in my mind of what was required and how to achieve it. People don't prioritize onboarding, it is widely accepted that achieving peak performance takes months and aligning with the internal politics of existing teams regardless of appropriateness. I would need to create something that benefits teams on a daily basis and structure it in such a way the generated artefacts could be used to craft an onboarding experience as a result. I felt confident that was I was building could help others so, made the choice to productize my idea, JoyDX was born.