The Dev-X Project is a series of features with industry leaders sharing their developer experience insights. In each “episode”, we ask an industry leader 10 interesting questions about DX, collect their responses and insights and share them with you.
In this episode, we’re featuring Joan Reyero, co-founder and CTO at Crowd.dev
About Joan: Joan is currently a co-founder and CTO at crowd.dev, and previously working on Greaterskies, a tech-enabled e-commerce startup. Joan’s educational background is in computer science and artificial intelligence, at the University of Edinburgh.
When not in front of a screen, Joan likes to stay active doing various sports, such as swimming or surfing, cooking and eating good food, and hanging out with friends. And he’s also addicted to caffeine.
You can follow Joan on Twitter and on LinkedIn.
When did you decide to become a developer?
It was when I took my first online programming course at 13. I fell in love with the thinking process and the freedom that being able to build things gave me.
What are the key ingredients to a really good engineering culture?
Good communication is key: learning from your colleagues, discussing details and coming up with something great together, and giving and taking feedback. Another important point is being able to be wrong. To make any suggestion without fearing to be judged, to try an idea going on a hunch, even if it might be wrong… being able to experiment leads to true innovation.
Some behaviors will be prejudicial and should be absent from the culture. Having individuals with high egos that do not take feedback or criticism and that want to push their solutions no matter what is toxic for the whole team.
Let’s say you’re building something from scratch. What does your ideal stack look like?
I would try to stay lean with Next.js, Prisma, and a simple Vercel deployment. Now that they have databases, I would even consider using that. I am also a big fan of Wasp for a full-stack app.
If the project is inherently more complex, such as data-heavy, this would change for something more battle-proof, such as not using an ORM at all, or using Kubernetes for orchestration.
Tell us about an epic engineering fail you’ve experienced in your career. What did you learn from it?
One of my biggest fails is one of my first decisions when starting crowd.dev. A no-SQL seemed like a fantastic idea at the time. No schemas, no relations… it seemed like a dream. We developed the first MVP with MongoDB.
Of course, six months in, we realized our data was inherently relational, and no-SQL slowed us down considerably… so we had to refactor our whole backend, which is no fun when you don’t have more than a handful of users and should focus on the product. But now I’m super glad we did! If we had waited, having to move our current considerably-larger codebase now would have been way more painful.
After the fact, I learned this seems to be a common mistake with many start-ups.
How important is “Developer Experience”? Do you see this as a trend that will evolve into dedicated teams/functions for mainstream tech companies?
I think developer experience is crucial. Having a good devex makes developers’ lives much easier. If I had to compare it, it would be like the difference between commuting for one hour on a packed subway every day or taking a pleasant 10-minute stroll through the park to get to work. I think it can be one of the reasons why talent might leave a tech company since it’s something they have to put up with every day.
It also makes hiring and onboarding people on the team much easier. A good developer experience will make onboarding smooth.
What’s your POV on “platform engineering”? Is this just another buzzword? Or is this a trend that will make a tangible, positive impact on development teams?
I do not have a strong opinion in this regard. I think that for relatively small development teams, it’s completely unnecessary. The developer tool ecosystem is mature enough to sustain the “platform” with minimal internal effort.
How has the macroeconomic climate impacted your company’s engineering objectives, goals, and strategy?
We raised our last funding round just when the macro started switching. As a result, we kept our hiring quite conservative to keep the burn low and leave us plenty of runway to deal with any macro that might be coming our way.
How are you using AI to impact your developer experience and your team’s overall workflow?
We encourage everyone on the team to use AI as much as possible. We set up our own chatbot, that works with an OpenAI API key, so they can all have access to GPT-4 for whatever they need.
We also organized a hackathon when GPT-4 came out, where everyone on the team had the whole day to learn and experiment with how AI could help them on a daily basis. Everyone enjoyed it and took some good learnings of how they could streamline their workflows.
Share some tips to help remote teams collaborate better.
I think that having as much human connection as possible is important when being remote. We try to do a lot of online social events: coffee chats, game nights… Even if virtual, it’s a decent replacement for the chats that would organically happen in an office.
On the other hand, while online leisure events help, they are not enough. There is something about face-to-face interactions that can not be replaced. We do bi-yearly off-sites somewhere in Europe to offset this. I cannot recommend this enough. There is a shift in how team members collaborate after having fun together in person.
Do you want to share anything else? Please share anything you think would be of value to the broader developer community:
N/A other than to suggest that you check out what we’re building at Crowd.dev!
Want to upgrade your developer experience with a single “up” command? Check out what we’re building with Preevy - an open source tool that enables you to easily provision preview environments per PR.
Like what you see here? Want to get featured? Check out our DevX Project for other great features and to apply to share your own developer experience wisdom