Interview with Carlos Buenosvinos. Current technical director at Xing, and former CTO of Atrápalo. Carlos explains his entire career journey. From how he started as a programmer, and what has helped him to keep learning, to his latest experiences in leadership roles in technology companies.
Something interesting is that both during his time at Emagister and Atrápalo, he focused on trying to rethink the way development teams work. In the interview, he shares what aspects he considers fundamental to optimize team workflows and his experiences regarding that. We also chatted about the culture of the sector, events such as Pamplona Software Craftsmanship, the change in programming language he experienced when moving to Xing (from PHP to Ruby), and many other aspects. Thanks to Carlos for his time, and also to Pablo, Gorka, and Iker, who proposed the idea for the interview while having dinner in Pamplona :D
Interview Breakdown
Here we leave you the minute-by-minute breakdown of the interview so you can jump to the part that interests you the most. We have also added some quotes from each section for you to get an idea of the content :)
1:40 Professional Journey
- "I have been in the dot-com sector for 12 years. I've tried to avoid consultancies due to issues with outsourcing"
- "Emagister was at the point of switching from ColdFusion to PHP or Java. They consulted Softonic and ended up opting for PHP"
- "It was a tough time at Emagister and we had to let people go due to the Google Panda update"
- "I thought I would be offered something like a coach position. My surprise was when the CEO of Atrápalo offered me the CTO position"
- "In the environment where I'm most comfortable, I'm helping the team with agile methodologies and good development practices."
- "It was time to think about my career. I’ll go anywhere where, if I look back after a year, I've learned something new."
- "What I value most about my work is the impact you leave on people."
- "In the phase where money isn't critical, you need to focus on learning. 1 year working at a company that shares knowledge is equivalent to 10 at a mediocre one."
11:53 Transition from Emagister to Atrápalo
- "I have 3 main tricks: eXtreme Programming, SCRUM (mainly for business), and Domain-Driven Design"
- "When applying the transformation process at Emagister, I understood that at Atrápalo I had to do it in the reverse order: First Hexagonal Architecture, then testing"
- "If you work with decoupled architectures, you can let teams that lack seniority make mistakes and it won't cost as much to fix them"
16:30 Moving from Atrápalo to Xing (from PHP to Ruby)
- "There are companies like BMW, IBM, and Oracle that use Xing for talent acquisition. They can pay €120,000 a year for a license."
- "Ruby has quite modern features compared to PHP"
- "In PHP, we discuss changes to frameworks. In Ruby, Rails has a 95% market share. It's not very beneficial to decouple from the framework."
- "PHP has much more straightforward elements. Composer is one of them."
- "In Barcelona, for every Ruby developer, you have 4-5 PHP developers. It's something to consider when you have to build a team."
21:00 Scala
- "I looked into the actor model with Erlang and it's a bit obscure. With Akka and Scala, they have it quite well organized."
- "Vaughn Vernon understands that actors are techniques to implement the Building Blocks of DDD and match super well"
- "When you don’t have actors and you have to deal with messaging, you need an overhead. With actors, you can save all that infrastructure"
22:50 Book Domain-Driven Design in PHP
- "In PHP, there were people who still struggled with the concepts. They wouldn't even read the red book backwards."
- "We joined forces—Cristian Soronellas, Keyban Akbary, and I—and started working on the book. It's Vernon's book reframed in PHP implementations"
- "Writing a technical book in English without being a native speaker is a terrible experience."
- "On my YouTube channel, I have introductory videos about Domain-Driven Design"
26:20 Events in the sector
- "When the people from Software Craftsmanship Pamplona came up with the idea, I got excited and sent them proposals."
- "I got quite a bit of trolling from my presentations. The most important thing when you want to do something is knowing when not to apply it. With the hype around DDD, I wanted to convey that: There are times when, hey, this is not for you."
- "Refactoring is a technique to reduce the maintenance costs of the project."
- "The goal was to see if we could adjust some practices like TDD or automated testing to achieve better project output."
- "You must take care of your domain events as you would your REST API. Documentation, versioning, etc."
30:00 Culture in the tech sector
- "I compare developers to football players. Young people who earn a lot of money and have a relatively easy life."
- "I worry that our sector may become a bunch of jerks."
- "I defend that people should earn what they deserve. But that should not affect being humble or eager to learn and share."
- "Software Craftsmanship seems slow to me. I would like to see some type of output that achieves things like working lines, salary models, and mentorship programs."
- "My wife, a lawyer, is amazed by our sector. We share code and work together. In law, they are pirates and that doesn’t happen. In our sector, we have something magical."
- "I'm surprised by how people get so caught up with DDD or TDD issues. Especially when their experience might be quite limited."
- "I think that seeing other types of experiences and languages is worthwhile, and I believe Software Craftsmanship helps."
- "When I see poorly run Open Spaces dynamics, it's a disaster. But when it's well managed, it's a wonder."
- "I would love for us to talk about what will happen when, in 3 years, we are changing companies every year. If that turns us into more mercenaries than we already are."