HN user

glancast

38 karma

I sold my SaaS business in 2023 and retired for a glorious few months before the masochism kicked in and I built a JSON API / integration platform for QuickBooks Enterprise & QuickBooks Desktop (https://qubesync.com).

Posts0
Comments20
View on HN
No posts found.
[GET] "/api/user/glancast/stories?hitsPerPage=30&page=0": 500 Failed to fetch user stories

JSON API to integrate with QuickBooks Enterprise / QuickBooks Desktop https://qubesync.com

Spent 14 years slogging through a custom implementation with my previous company, and didn't want my pain and suffering to go to waste. Just spent a few hours yesterday to replace that app's integration with my new api and got a pretty good diff:

117 files changed, 258 insertions(+), 10032 deletions(-)

If they are not engaged in discussions about business priorities, they won't have the context or motivation to align their actions appropriately. If you hire tech people with soft skills, you can have them do rotations on support (and even sales), involve them in higher level strategy decisions, and avoid the CEO -> product manager -> designer -> developer pipeline that makes everyone feel like a cog, and detaches them from anything but their own little area. You can also align their financial incentives with company success (ownership), and give them ways to actually influence it in tangible ways.

The primary question is "why"? Where is your company struggling because you aren't technical?

In my mind (as a technical founder), the things a CEO needs to know are at the conceptual / theoretical level rather than the implementation level. I've seen businesses fail because the CEO silos the technical side of house from the "business" side and then doesn't have enough technical knowledge to parse suggestions that aren't aligned with business goals. That problem is better solved by eliminating the silos and aligning incentives rather than gaining technical knowledge, in my opinion.

For those (like me) who are wary of enums, it's very simple to create a tiny table with one column of distinct string values. Future-proof and serves the same function if you add not-null foreign key constraints to your dependent tables.

I started a SaaS business, which is now my full-time gig -- I would say don't leave a job until you have something producing a ramen-noodle level salary for you. When I was able to pay myself $2,000/month it was enough to live on for my situation at the time. I was working 80 hour weeks in my underwear, scrambling to answer support requests, fix bugs, and move the codebase forward. If I had to do that while also trying to find product-market fit and worrying about running out of money, I might have broken down.

No regrets with my decision now. Once my business slowed down (read: I automated much of it), I actually went back and spent two years at a startup + 1 year contracting to bring in some extra money and get new experiences. The extra cash was certainly nice, I used it to setup a nice start on retirement and buy a house. Ultimately, though, my hatred of corporate politics and building wealth for the capital class without equity of my own led me to re-focus on my SaaS app. I've been enjoying the freedom and challenges ever since.

A lot of good advice here (exercise/social contact/diet/sleep/CBT), but here's my primary suggestion:

Take small steps toward self care, and realize you won't feel like doing any of them beforehand (even though you'll feel better for having done them). For example, cook for yourself. Clean one room in your house. Mow the lawn. Shave. Take one piece of trash out of your car. Say hi to a neighbor. Do one set of pushups.

Give yourself permission not to get better all at once.

You don't need much mathematical knowledge to _merely_ be productive, but his points are valid.

1) The more math I learn, the more I realize how much I'm already doing it (via poor heuristics) without realizing it.

2) Mathematical training comes with many tools I would never think to Google without prior introduction. For instance, I sometimes use Karnaugh maps to simplify complex boolean logic. I'm sure there are many areas where I re-invent the wheel, miss simpler solutions, and generally produce less quality because I'm ignorant of the surrounding mathematical context.

I've found FocusAtWill invaluable -- it's music designed specifically to keep you in flow. I use the timed function to ensure I take breaks at proper intervals, and you rate how focused you were during the session. http://ssqt.co/mQbYXSq (this link gives you $20 bucks off your first bill if you decide to sign up after the trial)

paper: https://arxiv.org/abs/1610.04255

"how it works" (with citations): https://www.focusatwill.com/app/pages/science-of-focus-conce...

Not sure what type of info you're interested in, but I think some keys to my success are as follows:

1. Partnership with a domain expert in a then under-served niche market (he was a contract work client turned business partner). The relationship has been difficult, and for the last many years I have been the defacto sole participant. Having a pipeline to the market was invaluable in the beginning, though, and I was able to extract enough pain points from his experiences to put together an MVP.

2. In the beginning, we were crazy responsive to support requests and feature requests. I made the early customers ("visionaries") feel extremely supported and part of the process, and many of them are still with us to this day. Incredible support makes up for a lackluster UX, feature set, etc., especially in non-tech-savvy markets.

3. Despite #2, I said "no" a LOT. It's especially difficult to say no to domain experts who feel like they are the customer, and even harder to say no to actual customers. I prioritized maintaining simplicity of the app over all else; the competitors in the space had all overdeveloped, and especially for our non-tech-savvy market their apps became overwhelming. To this day, we still get customers from a company that hired Indian developers to clone our app. Every one of them says "it was just too complicated." http://www.programmerfu.com/2017/03/16/saying-no-for-fun-and...

4. Slow and steady. Bootstrapping affords the ability to take your time, and you're not hiring a bunch of people who know they'll get fired as soon as your funding runs out. Worst case scenario, you go into "cockroach mode" until you can ramp things back up. We have never hit the hockey-stick curve but we have very low cancellations and constant slow growth. Growing slowly also means the app and company get to grow with the customers rather than uncontrolled bursts of user growth followed by "oh shit, oh shit" and letting those new users down with scaling problems (both technical and human). Slow growth also risks a new, funded competitor will come in and blow you out of the water. Luckily, we didn't experience that while we were young and vulnerable.

This is a bit rambly, and I've got to run to lunch but I hope it's in the ballpark of what you're looking for. I'm open to answer questions as well :)

In basically the same situation, here's what's helped me:

1. Hard limits on screen time (e.g. no screens after 5pm)

2. Basketball, tennis, chess (find a social activity - physical ones are a double whammy)

3. Personal training

4. Spend time learning - I spend a good portion of my free time learning about my craft, but also about other things. Variability spices life up a bit.

5. Working from coffee shops

6. Writing. Serves mainly as a way to process my experiences, and the large positive feedback has been rewarding. (example: http://www.programmerfu.com/2017/04/20/fast-is-slow-slow-is-...)

My most recent strategy has been to wake up, make coffee and bust out an hour of focused work before I do anything. My wife works with me during this time, which is nice for accountability and togetherness. Generally, getting that first hour out of the way without "easing into it" with reddit/HN gives me a feeling of accomplishment that empowers me to tackle the rest of the day. And if I'm unmotivated the rest of the day, I know I've gotten a decent slice of work in already.

I took about a 120k paycut to work whenever and wherever I please. My SAAS app provides me a nice middle-class salary and continues to grow mostly on its own. I don't have to deal with being a "true believer", repeated "temporary" crises, unreasonable deadlines, etc. No backstabbing office politics.

More importantly, with a self-enforced 10 hour work week I have lots of time to improve my tradecraft, explore pet projects, take care of my body, etc. I feel in control of my own life, rather than chasing other people's dreams.

From what I can tell, stability directly correlates with product-market fit. Thrashing on features and depending on the latest technologies, in my experience, has always been driven by either developer impracticality or stakeholders' lack of market understanding.

Sorry for the self-promotion, but I wrote this article after being frustrated with the "iPhone mindset for application development": it’ll be obsolete in 6 months anyway, so who cares?

http://www.programmerfu.com/2017/03/17/the-everlasting-app.h...

Right now I'm working on ways to extract the meat of my applications into plain, sustainable code. Then I can still use the new hotness when it's appropriate, but in a way that doesn't lock me in.