December 2, 2019

Any Java Developers running a SaaS business on their own?

Hi, guys!

I'm a Java Developer with 10+ years experience but working mostly as a back-end dev. Recently I've been wanting to create a SaaS app and I've been researching the basics. Authentication / Authorization (Spring Security), Recurring Payments (Probably Stripes) and so on...

My point is that I don't see many people developing a SaaS project in Java and I see very little resources apart from the official docs when it comes to creating a SaaS exclusively in Java. Most of what I see are JS devs and a bit of Python.

Is there anyone out there walking this path? Any advises in terms of tech?

Cheers!

  1. 2

    I'm Java developer, building Java based tool for Java developers (https://BugJail.com)...

    This is not a SaaS, but I don't think there is any fundamental difference compared to SaaS in terms those integrations: all major analytics, payments etc services that we considered had Java client libraries. And if anything, the Java client libraries are usually better than their JS counterparts.

    Secondly, many major SaaS products have back-ends written in Java, for example most of Atlassian suite and all of JetBrains teamware suite, and Java dominates many industry segments. It's not that Java is somehow unsuitable for Saas. It's just the solo indies who largely prefer JS, mainly due to perceived time to market.

    My recommendation is to use what you know and what fits the problem, and not worry about what other indie hackers use.

    Ps. I'd love to hear your thoughts about https://BugJail.com .. it's a new kind of Java debugger for hardcore Java developers, so you are a perfect 100% match with target segment!

    1. 1

      You're right. Usually Java's got the best APIs support. What concerns me is the time of development and the cost to use PaaS services available in the market - it seems that because Java requires a fair bit of memory, services like Heroku charge more than usual for Java apps.

      But I really don't feel like learning another language for this purpose. Just would like to know what people are doing in terms of one-man projects that are developed in Java - which frameworks and so on.

      Your project looks quite promising. The landing page looks very professional. I'll give it a try.

      1. 1

        I think the faster time of development is a myth. I have 20+ years experience with Java and JavaScript so I was comfortable with both, and started with JavaScript back-end, because "everybody else was using JavaScript". Then after half a year switched to Java, because it doesn't actually matter that "everybody else is using JavaScript". And because the JavaScript ecosystem is extremely immarute. The switch had "pros and cons", but definitely was not a blanket statement of "JavaScript is faster to develop with".

        In terms of PaaS costs... Does it matter? Java probably uses more memory, but in the history of startups I have never heard of a startup that failed because their hosting costs were too high. You have 10 more years experience with Java.. is 10 years of experience worth sacrificing to lower your operating costs by maybe 1%?

        And looking forward for your feedback on BugJail :)

  2. 1

    Yes, I'm in the same boat. Have done the merry-go-round with various JS/python frameworks. I'm back in the java world when it comes to the backend. I think you'll ultimately be more productive with what you know best.

    I'm using www.ninjaframework.org, which seems quite nimble.

    1. 1

      So do you still use JS for the front-end? How does it work out for you? I mean, I've had this idea as I know quite a bit of JS and a few of its famous frameworks, but I always considered somehow cumbersome to make both of them communicate. The idea of having two IDEs, two codebases and so on...

  3. 1

    Been in a similar boat where I doubted my familiar tech stack for the purpose of solo dev and mostly it caused me to waste a lot of time researching about the perfect stack as well as trying my hands out in many new tools. In hindsight I wish I stayed confident in the stack which I was already quite familiar in and built my projects using it.

    As far as the use of Java in SaaS products goes, it's not that they are an uncommon choice for creating a SaaS product but more that most of the solo devs prefer working in a higher level language than Java, esp JS. If I was equally well-versed in a JS based and a Java based stack then I would probably go with the JS based one to create my MVP as it would get me to market earlier and would also be easier to adapt or pivot. However if you have ten years of experience as a Java dev but don't have much experience with JS frameworks and tools then hands down I'd go with my Java stack. With my current learning I wouldn't even bother trying to find a leaner alternative to Spring Boot for example because it'd be faster to develop, lighter, better suited for micro-service architecture or whatever. I'd just trust my existing familiar stack and go with it and try to create the product quickly and efficiently.

    1. 1

      Thanks for the advice!

      I definitely agree with you. It's just that I see lots of articles and youtube videos of devs developing SaaS products and they're 99% of the time using JS. It's really difficult to find successful examples of one-man projects built with Java. It got me wondering if I should perhaps invest in another language, more suitable for a quick mvp and with a bigger community (Java has a huge community, but not of solo devs).

      1. 1

        Yeah I understand. If it helps I had the same feeling despite using Python which is in fact quite high level and very productive. JS does kind of hit the sweet spot between developer productivity and performance that made Java popular two decades ago. There was a time when I was less experienced in web dev where I would straight away pick Django and Postgres for any task but nowadays I think too much before deciding on the stack, looking at the problem at hand and the best tool to solve it efficiently.

        I have never really used any Java web framework but I have some experience in a somewhat analogous situation of Android app dev in Java vs using something like React Native and I can attest that working in JS is much quicker. So in that sense it's not a completely bad idea to learn NodeJS and Express because they don't seem to be going anywhere in the foreseeable future.

        Do you also think that in indie circles MongoDB is a lot more popular than it is in general? However that's one thing you can probably avoid the temptation of as Postgres is a fantastic database and there are good enough ORMs for SQL in NodeJS as well.

        1. 1

          When it comes to NoSQL, I have made my mind. I do think that people overuse MongoDB, mostly because it looks simpler and easier. But I also prefer to go with the "old" PostgreSQL.