Understanding the Developer’s Dilemma: Navigating Technology Preferences for SaaS Development
As software developers, many of us grapple with selecting the right technology stack that aligns with our goals and comfort levels. Recently, I found myself oscillating between frameworks and tools, trying to find the optimal combination for building a SaaS product.
My journey began with Angular combined with Java (Spring Boot) for backend services, alongside Amazon Cognito for authentication. This setup felt familiar, reliable, and robust. However, over time, I noticed that this stack tends to be boilerplate-heavy, which made development feel slower than desired—sometimes it felt like progress was painstakingly incremental.
Seeking a fresh perspective, I experimented with a different approach, trying out SolidJS integrated with Django and SuperTokens for authentication. While this introduced the advantage of rapid component creation and a more modern, flexible environment, it also came with unfamiliarity and a sense of uncertainty. The freedom to customize everything felt empowering but also daunting, as the potential for errors increased.
Ultimately, I chose to revert to my original stack: Angular, Java, and Amazon Cognito. My goal remains to develop a SaaS product efficiently, but I often find myself comparing my progress to others who seem to launch products in under a month. The pace is frustrating, especially when coupled with the fast-changing nature of my tools—Angular releases new major versions frequently, and Amazon Cognito appears to be evolving rapidly as well.
At the core, I crave simplicity: straightforward authentication flows that are easy to implement and maintain. Perhaps sticking to a stable version of Angular or exploring other more consistent solutions might be the key. I genuinely enjoy working with Java, which makes choosing this stack all the more perplexing when I feel I might be overcomplicating things.
If you’re facing similar struggles with technology stack choices and balancing familiarity, flexibility, and speed, know that you’re not alone. Sometimes, the best approach is to revisit what works best for your workflow and project timelines. Stay adaptable, but don’t forget the importance of stability and simplicity on your development journey.

