← Previous · All Episodes · Next →
Building tools for experienced developers with André Eriksson from Encore Episode 21

Building tools for experienced developers with André Eriksson from Encore

André Eriksson is the founder of Encore. Encore is a backend development engine built on the belief that escaping complexity unleashes a higher state of creativity.

· 15:53

|

Jack: Hi, everyone. You're listening to Scaling DevTools, the show that investigates how dev go from zero to one. I'm joined today by André Eriksson, who is the founder of Encore. André, could you tell us a little bit about what Encore is?

André: So we call Encore a backend development engine, but I think the comparison to Ruby on rails is a great one. We. Are really building a platform that simplifies every aspect of the developer experience for primarily early stage startups. So how you write code, how you collaborate with other people, how you review code, how you then merge and deploy to production, provision all the infrastructure, and then find and fix any bugs that show up in production.

Jack: It sounds very interesting. And the part that I was struggling to get my head around, but I think makes sense now is that you are making code easier to write, but you're not dictating to people how their systems should be.

André: Yeah, exactly. So. Really what Encore is all about is, you know, finding the, the, improvements and the new ways of building backends that have shown up over the last five to 10 years with microservices and distributed systems and building APIs. Encoding those learnings in a very opinionated framework that helps developers do their job much more effectively, and really be able to focus on building their products instead of building a lot of, boiler plate and configuration and just spending time on a lot of unnecessary activities that aren't really about their actual product.

Jack: What I find really interesting about Encore is that first of all, it's been very successful. You've really quickly got to like 3000 stars on GI. Have you've got paying customers using you in production in pretty short space of time from your launch. But what I find particularly interesting is that you were building this for two and a half years on the side.

Of your full time job at Spotify, right? And you are taking on this mammoth of task, which is not the way that people usually do it. Could you talk us through about what led you to that kind of conviction that you should spend such a time building such a difficult, piece of code.

André: Sure. So, yeah, before I founded Encore, I was a, a staff engineer at Spotify and just every single day at work, it was a constant frustration with how we're building software. I started thinking, you know, like what would the perfect developer experience be like? And what I realized sort of starting at the end of, this is the perfect experience is. It really looks nothing like how we're typically doing things. and what I realized is we really need to somehow start over in terms of, we need a new foundation that is really based on, understanding. What our system is doing, because the reality is the way you build modern backend applications. It's, they're remarkably complex, it's hundreds, or even thousands of different services and, and microservices, each one with, thousands of lines of code and lots of different infrastructure. And. You're really keeping all this in your head as a software engineer and the tools you're using have absolutely no idea about any of this. And so it's really no surprise that the tools aren't really helping you very much do your job because they're just dealing with, here's a database, you know, they're not helping you do your job, which is making sense of this complexity. and and finding ways to simplify it. And so I realized like we need a new way of writing software that helps tools understand these systems. And that's fundamentally what Encore is, but obviously to get there, there were a lot of things that needed to be built just to be able to achieve this. So like you said, I started about. Today, about five years ago. And I realised we need to start , from the beginning, we need a radically different experience here, and we need a, a new language really for expressing distributed systems. So Encore, isn't really a new language, , but it's, built on top of go. But it's giving you all these backend concepts that you use as sort of first class primitives directly in your code base. And with that, Encore achieves an understanding of your system and that understanding then powers, , every single aspect of the developer experience and the, it was a really hard and long road to get to this point. And I, guess the. The main way that was made possible was just facing these, the reality of how frustrating it was every day at Spotify. And I was sort of fueling this motivation to, to build something better, every single day.

Jack: I feel like a lot of our audience are working in jobs, thinking about what they can build and what dev tools they could scale up. Could you talk a little bit about any of the specific problems you were facing and how you thought that could relate to Encore?

André: So I think what's so difficult about software engineering and, DevTools broadly is, you know, it's not one thing that's really slowing you down. It's a, thousand cuts of small things. And so you really need to take a holistic view on the experience.

And I think what's a struggle for a lot of developer tools is. The typical approach is really looking at one part of the developer experience. And then saying, how can we improve this? And, That makes a lot of sense, because then you can, you can sort of find your niche and you can focus on solving that what's quite tricky though, is when you're just solving one problem out of a hundred and each problem is only, you know, it amounts to 1% of the developer, developer process. Even if you make that infinitely better, you're really only looking at, about a 1% improvement in productivity. And so what a lot of organizations are feeling is. , you can find any pain point that a developer has and you can Google for, you know, solutions to that pain point. And you'll find a bunch of startups that are trying to improve that, but you can't really go and, you know, buy a hundred different products and somehow expect that the the resulting development process is going to be. Sane, right. It's just going to be incredibly chaotic and confusing and they're not gonna integrate with each other. And I think this is the sort of struggle that a lot of developer tools companies are facing is, , how can you find a small niche? That you can own and really optimise and improve while at the same time being large enough to meaningfully change, the developer experience for companies adopting you. And I guess what we did at Encore is sort of go the other extreme and say, how can we. Improve as much as possible about it and be very, very opinionated about, how to adopt it. Like you have to use this programming language and, you have to write new code with this and so on, and that has a whole bunch of other problems, right?

It becomes much harder to adopt, but if you can adopt it, the value is. Is much greater. And so this is sort of a, a struggle, and I think every developer tool really needs to figure out, you know, where on this spectrum do you fall between being very specific and being it relatively easy to adopt or broad and being much more difficult to adopt, but on the other hand, providing more value.

I mean how critical is the problem you're solving, the more difficult it's going to be to replace and the less likely you are to want to replace it, if it's working well.

Jack: So. It's hard to get people to adopt. How have you managed to get your first customer?

André: So all our strategy has really been to focus on experienced engineers. That's our background, we're all experienced engineers and we very deeply understand these problems. And with that, the, the way we build our product and the problems we're solving, they sort of immediately resonate with experienced engineers who have felt these pain points. And so in that sense, by just speaking about the problems and sort of let the product communicate by itself. We understand you, we've lived these pain points ourselves. That's been really helpful for that audience. And it's been quite challenging to find companies at the right time. Encore is very much about today. It's, very much about going from zero to something successful. Incredibly quickly and help you iterate and sort of find product market fit. Incredibly fast, but to find those companies from the outside is very hard. So our strategy is much more, , content and sort of getting those people to come to us. Because if we can just talk about the problems we're solving and this new approach to backend development, that's interesting to our audience because it's, it's something different, right? But it's very difficult to find those companies when they're ready to make that transition.

So instead, you know, we're really trying to talk with as many people as possible and show what we're doing and then trust that when these people find it interesting, they might play around with it. They might try it for some hobby project in the weekend. And then when they're ready to use it at. They're gonna come to us. It's sort of been this traditional sort of, content marketing followed by, when they're ready, then we can engage with a sales conversation with a CTO or something.

Jack: And what does the sales conversation look like with something like Encore?

André: I think we're iterating on this a lot because it, depends. what, what we've learned is even among CTOs, particularly at early stage startups, there are a lot of different flavors. So some CTOs are deeply technical. And what they're really trying to figure out is like, can we trust this product from a technical perspective?

Is this product making the right decisions? Would I be making other decisions for myself? If I wanted to do that? Other CTOs are much more focused on sort of the organizational aspect. And then we're, focusing on entirely different, uh, messages. So things like how Encore can improve onboarding, how it makes it easier to standardize how you're building things. How it provides better documentation, visualizing, architecture, diagrams, and so on, uh, making it easier to get started when you're a new hire and so on. For other companies, they aren't looking, they're not ready to scale yet. In terms of their engineering, Organization, but they really just wanna be heads down, building their product as quickly as possible. And then there's a different set of features that we should be talking about. And so a lot of those conversations, it really depends on the, particular person, you know, what's top of mind. For them, and making sure we tailor both what we're talking about, but also demos and, and really everything about the product to what's important to them.

Jack: One of the things that you mentioned early on there is the trust. And if someone comes to you and says, Encore is cool, I've tried to tried to, and it seems really good, but I dunno if I can trust you guys yet. What is typically the conversation that you have with them?

André: There are a lot of aspects to trust. So I mentioned before. It's a sort of technical trust. Because it it's a really critical part of their tech stack, right? So can I trust that the product is making good decisions and is working like I expected to, but then other are, business risk. What happens if Encore goes outta business and. That was the core motivating factor for open sourcing, you know, the, framework and the product and so on. So that if that happens, companies don't feel like, everything is gone. You know, everything that your application is, if you're using Encore. Everything that your application is actually running is entirely open source. And that means that, you are not gonna be held hostage, to us either. You know, if we go out of business, Or if you decide, that , the business relationship breaks down and, and you wanna migrate away, you can actually do that without relying on us, to sort of help you do that. And we've actually invested also in making it easier to migrate away so that if you feel that you want to, we wanna make that as seamless as possible, because I think. As much as it's nice to have, recurring revenue, you really don't want, customers who don't want to be there. It might be nice for the numbers, but what happens is you end up not really fighting for, , them to want to give you their money. and what happens if you make it easy for companies to migrate away, it's sort of a forcing function for your own product to make sure that you're actually constantly improving and you're listening to their feedback and you're really solving their problems. And I think that's much more powerful than just having a user base that you're holding hostage. It's really a night and day difference in terms of building a successful product on top of.

Jack: I really like that ethical approach and not using people, the hostage situation as a way to kind of, you know, make money. Although I'm not an experienced backend engineer, I can see that breaking it down, um, into, into small parts that are much easier to do really makes sense. And I hear nothing but good things on Twitter. And of course from Megan, last week's guest

Thank you so much, Andre for joining.

André: Thank you so much. It was a pleasure to be here.

Jack: And, uh, where can people learn more about Encore and about André?

André: So the best way is to go to encore.dev, which is our website. There, you can also find links to, Github and our Twitter. You can find me on Twitter at underscore E Andre, where I tweet about backend development and, distributed systems and APIs and that sort of thing.

Jack: Brilliant. Thanks so much. And thanks everyone for listening. We'll see you again next week. Bye bye.

View episode details


Creators and Guests


Subscribe

Listen to Scaling DevTools using one of many popular podcasting apps or directories.

Apple Podcasts Spotify Overcast Pocket Casts Amazon Music YouTube
← Previous · All Episodes · Next →