Engineers at our startup don't build features anymore

10 points by s4293918 21 hours ago

16 comments

At our startup, engineers don't build features anymore. They build APIs that internal tools like Zapier, Make and N8n can connect to. Most "features" like running an SQL query, sending a push notification when product X is ordered gets built by ops or product folks using those tools.

If you've got the idea, you build and ship it yourself. It's fast, empowering and it keeps engineers focused on building a reliable, scalable, secure set of APIs. It also forces us to write better, cleaner APIs and the APIs stay stateless and focused. Debugging can be hard and sometimes duct-tape logic quietly piles up.

I think it's better than the usual model where eng is the bottleneck for every new flow. Has anyone else tried this kind of setup? Where does it fall down or is it the new normal?

muzani 3 hours ago

I like to point back at an ancient pattern in engineering: prototypes.

Prototypes are built to learn. They're not optimized nor efficient. They don't scale. They discover what needs to be built and are then thrown away. They should not be sold into production. Learning also includes getting user feedback, or finding out whether all the systems play together well.

Once the prototype is valid, pass it to an engineer to build it in properly and efficiently.

Another variation might be turning the engineers into ops. I did that early on at a startup. We built the whole delivery management system in 3 days - who ordered what, the state of it being delivered (packed/in delivery), informing buyers of product tracking number, asking them whether it was received in good condition, flagging things that have exceeded delivery time, etc. This was before AI and I built it so damn fast because it's a pain to handle this process on spreadsheet. The downside was that orders in those 3 days were delayed by 3 days.

But the big downside to engineers doing these is that you have to pay them engineer salaries. If it leads to a world where marketers can be given engineer salaries and engineers can be given marketing jobs, maybe we're in a better place?

  • s4293918 9 minutes ago

    What do you think about every single employee at the company being an engineer and picking up a domain or two (finance, accounting, digital marketing, support, sales)? The founder of Telegram talks about how he just has a company with 30 engineers and no other staff.

romanhn 19 hours ago

I have never heard of this approach. It does sound interesting in theory, but I have a hard time seeing this work beyond the simplest of CRUD apps.

My initial concerns would be:

- Maintainability: the "duct-tape logic", as you put it, sounds like spaghetti code from hell. Making sense of a feature comprised of tons of chained third party calls will be a nightmare.

- Expressiveness: complex functionality may require complex code. I don't quite understand how you would write even medium complexity algorithms using this system.

- Reliability and performance: you are now entirely at the mercy of third party providers. This is often the case with SaaS products, but this seems like a particularly severe case. Each hop reduces performance as well, which may impact user experience (assuming we're talking about user-facing features).

- Quality: by moving business logic out of code, you're throwing out testability, so no more unit tests. I guess integration tests could still happen, but they're going to be slow, expensive, and involve someone writing the actual code - which, given the premise of product managers creating features, seems very unlikely.

  • s4293918 16 minutes ago

    N8n is pretty powerful in that you can pipe Kafka streams into there for webhook trigger functions, separate postgres DBs can be set up for non-eng and also all the production API endpoints can be called from there in a tracable way.

saluki 16 hours ago

This is not the new normal.

Engineering should be doing the engineering.

Product should be doing product.

DevOps should be providing infra.

If end users want to use a report generator or setup a notification rule that's one thing but duct taping features together never is sustainable.

  • s4293918 14 minutes ago

    Why is the siloing so important do you think? I think with all the use of LLMs now, entire functions or multiple functions can be done by 1 person. Those people can get a lot of task and skill variety in their work.

  • emorning3 14 hours ago

    My mental model of the 'new normal' is end users using AI to get their work done.

    So if I re-worded the OP's description and replaced 'internal tools' with 'internal AIs' then this would at least seem like a more reasonable process to me...

    > At our startup, engineers don't build features anymore. > They build APIs that internal AIs can connect to. > Most "features" like running an SQL query, sending a push notification when product X is ordered gets built by ops or product folks using those tools.

    To me this describes a team of engineers that use AI-capable tools and that are building 'features' for themselves. In the way that us dinosaurs used to write build scripts.

    I'm not saying that my mental model is right or wrong, just that working this way seems reasonable if you buy into my model.

    • saluki an hour ago

      Definitely ...

      If anything engineers are doing more with AI and aren't limited to just APIs.

      They are building more of the UI/UX, Design, Front/Back + API instead of less and meeting/building product's vision.

      Supported by Devops.

      Every layer of the process will be enhanced by AI so everyone is doing more that our previous process.

      I wouldn't limit any layer, enable everyone and every team to do more and be more productive.

codingdave 17 hours ago

Sounds quite similar to how running an internal dev shop in an enterprise environment used to be, before SaaS apps took over. "Power users" would write basic apps in SharePoint, Domino, Business Objects, or other such "low-code" platforms... even Salesforce in its early days. It worked fine for department-level CRUD/LOB apps. If anything they were doing grew and became important enough that their lack of engineering skills became a problem, us IT folks would come in, take over the app, refactor it, and make in an officially supported app. But we would have hundreds of half-baked apps out there that were good enough to handle the small stuff that small business groups needed. We focused on keeping the platforms up to date, running well, setting up various data they could query, etc.

VivaTechnics 13 hours ago

Has anyone else tried this kind of setup?

Yes.

We don’t even have the budget to hire non-technical people for tech products. Everybody gotta code. We also avoid feature bloat.

We focus only on core features. If someone has an idea and can build it, they’re welcome to try. But most ideas won’t make it to production.

  • s4293918 12 minutes ago

    What do you think about every single employee at the company being an engineer and picking up a domain or two (finance, accounting, digital marketing, support, sales)? The founder of Telegram talks about how he just has a company with 30 engineers and no other staff.