Greater Barcelona Metropolitan Area
🤓 Hey, it's Daniel here! 👨💻 I am a highly motivated and hands-on software engineer with a strong background in platform engineering, distributed systems, and event-driven architectures. At N26, I'm leading the transformation to a robust event-based ecosystem, enhancing scalability and reliability. I excel in bridging engineering and product teams to deliver high-value solutions, leading by example, with a development approach rooted in TDD, OOP, SOLID, and clean code practices. 👷♂️ I have worked extensively in the fintech ecosystem, building top-level software solutions for highly regulated companies. This experience has given me a deep understanding of the unique challenges in fintech, including compliance, security, and performance. My work ensures that financial systems are not only efficient and scalable but also adhere to strict regulatory standards. 🔮 My proficiency spans multiple domains, including designing scalable infrastructure for event-driven systems and real-time data processing. I have extensive experience optimizing distributed architectures for high availability and fault tolerance. Additionally, I possess advanced knowledge of Kafka and Flink, having optimized event streaming platforms for various use cases. As a T-shaped professional, I bring deep expertise in AWS, functioning effectively as an SRE to ensure robust, secure, and efficient cloud infrastructure. 🚀 I mentor colleagues, lead tech evangelization efforts, and improve recruitment processes through technical training and onboarding. My ability to communicate complex technical concepts to non-technical stakeholders aligns engineering goals with business objectives. 🤗 Dedicated to fostering a positive and collaborative team environment, I push for technological excellence and deliver high-quality, scalable solutions. I am also driving a shift towards a product/customer-oriented approach in platform engineering, ensuring agile delivery that meets the needs of the business. Always open to new languages, problems, and paradigms, I adapt quickly to the ever-changing tech landscape. 🔌 Let's connect and explore how we can drive innovation and achieve great results together!
This description is WIP but, still working in Platform Engineering, focused in Data, Streaming, Event Driven, lakehouse, platform as a product, helping segments with system designs and so on 🤓😬 😬🚀
In April 2023, I was promoted to Lead/Staff Software Engineer at N26. My current focus is on establishing a robust data lake for event-driven architecture, migrating from a monolithic event-driven system to a scalable, Kafka-based ecosystem. Additionally, I have designed libraries, including an outbox pattern that handles over 10 million events weekly, used by more than 100 microservices, and other low-level libraries such as Spring Starters. I also oversee the implementation of Flink runtime solutions, managing everything from stakeholder engagement to delivery. My role involves "evangelizing" event-driven architectures, assisting platform teams in improving their products, and implementing automations to reduce KTBR. Furthermore, I build and maintain contracts between platform services and software engineering teams, ensuring smooth collaboration and high-quality software delivery. Despite my leadership responsibilities, I maintain a hands-on approach akin to a staff engineer, actively engaging in coding and technical problem-solving to drive innovation and efficiency within the team.
I’ve started to work in a team called "streaming team" inside platform engineering. The main purpose is to bring a reliable and scalable event driven platform. It includes migrating from the current legacy solution (wrong usage of Kinesis) to Kafka, defining a good defaults, building libraries to make dev's live easier, improving pipelines and tooling, mentoring, writing documentation and for sure, working from dev's side. I'm also helping our HR team with tech interviews and improving the recruitment team tech skills with trainings and a better pipeline! Trying to deliver value every single day.
Since I had landed Adevinta things were getting very interesting. There was a good software culture there and we faced real software engineering problems. Services, hypotheses, and decisions we took made impact on the customer and company goals. I was working as a backend engineer in the Cross Component area. Our team goal was to design and build multi-tenant systems but first, we needed to spot/decouple domains from very legacy monoliths. Which was a nice tech challenge. The technical stack there was a large AWS environment, JVM (Java and Kotlin) with Spring, Kubernetes, CI/CD: Travis, Spinnaker, DDD+hexagonal, the TDD was mandatory and all best practices. Also, I've helped to People Department with the tech onboarding process, giving to the new joiners tech katas, and helping recruiters improve their knowledge about software engineering.
I've worked as a backend designing and developing a micro-services architecture. We used Java Spring, Docker, Kubernetes on google cloud, and Rabbit MQ/Kafka. CI/CD. Fin-tech company that has a product for trading, an agile environment full of good practices, testing, and where I learned continuously. The good thing about working in a startup is you are continuously out of the confort zone, working with manny different departments and every-time you learn other tools and languages completely new!
We built a cross-functional and agile team and my role, as a backend engineer, was to design and develop the backend with Java Spring Boot. Маяки, born out of my final project, was my first contact facing and solving a real problem from the scratch by my own. I realized how important good practices are since we sought a solution to a common problem in our school: schedules. Go quick to production, validate your hypothesis and decrease the risk!
We have designed and developed a video-game for children called "El Columbograma de Duarte”, a parallel story to the universe created by José Saramago that tells the unforeseen events through which one of his characters passes.. My role was to lead and to mentor the development team and also to design the artificial intelligence algorithm responsible for the behavior of the non-playable characters. The video game was developed in C# through Unity platform.