Table of Contents
This year we moved to a new office in Plaza Urquinaona, where we have an awesome room for organizing Apiumhub software architecture meetups.
Here you can watch a short video about Apiumhub life and our new office! One of our values is never stop growing. We learn from each other and care about our personal growth. Every day, we grow our knowledge and we love sharing it with others. So, this autumn we started a series of Apiumhub meetups about software architecture and software development. Actually, you can watch a teaser with our meetups here.
Also, we created our own group in meetup, where we will publish all upcoming events, feel free t join it!
1st software architecture meetup: MVP & FRP
First one was about software architecture, to be more precise, Christian Ciceri – Co-founder & software architect of Apiumhub gave a presentation about MVP & FRP for a controllerless architecture. And Diego Ojeda – our Android crack gave a speech about MVP & FRP
as an approach for a cleaner and purer frontend architecture.
To be honest, we were so excited about our first meetup, that we decided to grab a video with the attendees and video with the speakers. You will find them later on in the article, keep reading;).
MVP & FRP for a controllerless architecture
Historically, little attention has been given to front-end architecture. Right now, there are very few references regarding this topic and therefore we decided to start our Apiumhub meetups with Frontend architecture.
What we try to achieve with a good software architecture is to improve the architectural qualities of the systems on which we work, such as: modularity, sturdiness, expressivity,etc.
Here you have the presentation and the video to know more about this topic.
MVP & FRP as an approach for a cleaner and purer frontend architecture
How were things a few years ago? What does a good software architecture bring us? And answers to many other questions you will find in this presentation and in the video.
To be honest the meetup was a success. Attendees generated interesting discussions and gave us ideas for the next ones. Most of the participants said that they were interested in Backend and DDD and therefore we decided to organize our second meetup 30th of November in our office.
2nd software architecture meetup: Microservices Antipatterns
To be honest we were thinking a lot about the topic for the second meetup and we were glad to receive a lot of suggestions. The topic that had the most votes was “DDD in practice: uncovering false microservices” and we decided why not to have a theoretical part with Christian Ciceri and a practical part with Oscar Galindo.
Let’s start with the theory. Here, Christian said that microservices are not always a good idea, even though we are big fans of this architecture. He gave several examples, shared his opinion about what Martin Fowlers says regarding microservices and listed down the books that every backend developer should read.
Here you have the presentation and the video
As for the practical part, Oscar showed examples from real projects, where you can actually see the code. Examples included: client side, server side, from microservices to a monolith, environment, etc.
Here you have his presentation with all the details.
3rd software architecture meetup. DDD: interface segregation
So many people came to our second meetup that our office simply became small for such events, therefore we already spoke with Pier01 and decided to organize our upcoming meetups in mVenturesBcn (Pl. Pau Vila, 1, Sector C, 2 nd floor). There we have a room for around 80 people and all the facilities to give quality presentation.
This month our software architect, Christian Ciceri, went to Amsterdam to participate in Domain Driven Design Europe event. He always goes there and always says that this is a very interesting event, where he always highlights new things.
So, this meetup was about DDD, Christian shared some useful insights gathered in Amsterdam. Also, he did a detailed analysis of some SOLID principles, putting more emphasis on Interface segregation principle.
This meetup covered:
a) the correct application of the principles in cases of Domains
b) its importance for the detection of macro-use cases
c) its relationship with the discovery of bounded contexts
d) the consequences when designing for collaborative systems with high concurrency
Christian was giving the theoretical part of the presentation and Román Predein shared a practical example of this topic.
Here you may find their videos and presentations:
Theory by Christian Ciceri: video & presentation
Practice by Román Predein: video & presentation. If you would like to receive the code, feel free to write us and we will send it to you!
4th software architecture meetup. DDD: Single Responsibility Principle
Our meetup was held 12/04 at 19:00 in Pier01, mVenturesbcn space. And it was about DDD again. This time we looked at the Single Responsibility Principle and Decomposing Monoliths by breaking classes.
Christian Ciceri covered the topic of decomposing Monoliths by breaking classes. And continued with the previous session, in which you looked at the relationship of the Segregation Principle Interface with the simplification of domains and collaborative systems.
In this session Christian discussed:
- the exact definition of the Single Responsibility Principle
- showed the advantages of the application
- applied it to the partition of domains, and to the relationship between domains
- valued how, within the same domain, we can start classes
- techniques that will allow us to safely represent the state transitions until we get to generate
- something very similar to the Algebraic Data Types in functional programming
- multiple practical examples and the associated benefits
There were snacks and beer! And here you have a short video about it.
If you are interested in videos and presentations from this meetup, here you have them:
Theoretical part by Christian Ciceri: Video & Presentation
Practical part by Joaquín Caro & Rafa Ruiz: Video
Enjoy!
5th software architecture meetup. DDD: testing in microservices architecture
Our 5th meetup was held 21/06 at 19:00 in Pier01, mVenturesbcn space. And it was about DDD and testing in microservices architecture.
Description of the meetup:
Unit Testing, TDD and BDD have become standard practices in recent years.
We looked at how to adapt the architecture to maximize the testability by minimizing the test effort.
In this session we covered:
– how architectures inspired by “tactical” DDD optimize testability
– the same for the “strategic”, and hence the architectures in microservices
– real objectives of testing, far beyond simply ensuring quality
– main practices
– We propose the map between architecture components and types of test, with the purpose of making a test minimally coupled to the concrete implementation.
Speaker
Christian Ciceri
Here you may find the presentation and the video.
Open space
Also, we had an Open Space session where we discussed the following questions:
- Separate “pure” code from “impure”
- “Pure” logic in domain logic
- Lean on the compiler
- Dependency injection is not done in domain
- Use Stubs and Spies, no Strict Mocks
- Isolate the service layer
- Third-party APIs are not mocked
- Test-Drive your API
Here you have the video with the discussions.
If you want to find yourself on the video or see who actually attended the event, here you have the teaser. Enjoy!
Software Development best practices in a modern environment
This talk covered software development best practices we use at Apiumhub for the development of all kinds of projects. Álvaro shared some best practices, stories, heuristics. He also explained what went well –and what not– and why. He explained how to add new practices to your daily development, how to evaluate them and how to keep them updated.
There were snacks, beer & loterry with the winner ! And here you have a short video about it.
If you are interested in videos and presentations from this meetup, here you have them:
To watch full video, click here.
And let us give the presentation with all the theory.
Enjoy!
Our vision of mobile architecture
In this meetup we have shared our vision of mobile architecture. We explained our experience with the MVP pattern and how we have developed it, applying the SOLID principles, and getting to improve the quality of our testing and reducing the mocks considerably. We presented a theoretical introduction of the pattern and the mentioned principles followed by a case of practical use detailing all the components of our architecture.
There were snacks, beer & loterry with the winner ! And here you have a short video highlighting th best moments of the event.
If you are interested in videos and presentations from this meetup, here you have them:
To watch the full video, click here.
And let us give the presentation with all the theory.
Enjoy!
Kotlin Everywhere with Hadi Hariri in Barcelona
This November Apiumhub and Jetbrains decided to focus on a review of how the Kotlin (Language, Type System, Libraries, Tools, IDEs, Environment) improve the Developer Experience, increase the productivity and add more value to Business Stakeholders.
Here you may watch a short teaser from Kotlin Everywhere in Barcelona, which was organized in Cibernarium with the help of Barcelona Activa.
Speakers & Talks
Hadi Hariri – VP of Developer Advocacy at JetBrains came to Barcelona to give talks about:
1.”Kotlin on the server with Ktor”
Ktor is a web framework built from the ground up using Kotlin and coroutines. Amongst other things it allows for creating robust and performant HTTP server applications. In this talk Hadi took a look at Ktor, the ideas behind it, and how we can easily create applications and have these deployed to Google Cloud with very little effort.
Full video with the presentation and live coding: Kotlin on the server with Ktor by Hadi Hariri – Kotlin Everywhere, Barcelona
2. Functional Programming in Kotlin
In this talk Hadi explained the basics of functional programming, where it fits in with the Object Orientation paradigm and how we can use functional programming in our every day work. He covered important concepts in functional programming such as: Lambdas, Higher Order Functions, Partial Functions, Monads and more, and see how we can apply these in a series of functional patterns to cut down our codebase and at the same time make sure we keep it maintainable.
Video with the full talk: Functional Programming in Kotlin by Hadi Hariri
Also, Álvaro García – Principal Engineer in Apiumhub talked about how to “Introduce Kotlin in an incremental way”
How to introduce Kotlin in a java project while maintaining the spring performance and making the developers happy. Concept after concept transforming a java application into a hotline one and never looking back on java.”
You can watch the full video here: Migrating from Java to Kotlin as well as the presentation.
Round Table: best practices
In this round table discussion, attendees reviewed the basics, influenced by Extreme Programming Practices, its Principles and Values; why we do things today, to give purpose to our practices, and to review what has been working for the past 20 years.
And here you have an event teaser. To watch the full video, click here.
And let us give the presentation with all the theory.
Enjoy!
What is the area of a team that requires more attention: technical level, motivation, communication, etc. and how is it managed?”
This Panel discussion is about “what is the area of a team that requires more attention: technical level, motivation, communication, etc. and how is it managed?”
SPEAKERS
– Alejandro Moleiro – Principal Engineer in Adevinta
– Marc Oliveras – CTO in Tiendeo
– Manuel Lucas Viñas Livschitz – Principal Engineer / Software Architect at Voxel Group
– Albert Zaragoza – CTO in Worldsensing
– Joan Oliva – CTO in Cdmon
– Alvaro García – Principal Engineer at Apiumhub
Here you have a short teaser from the event as well as a full video with the panel discussion.
Software architecture meetups: what will be next?
We are still thinking about the dates and topics. We are always opened to your suggestions, feel free to suggest us topics for the upcoming meetups in the comments section below! And of course, feel free to join our meetup group here.
Don’t forget to subscribe to our monthly newsletter to receive more information about upcoming software architecture meetups and to be the first one to reserve your place.
Thank you for your interest! We can’t wait to meet you!
If you are interested in software architecture meetups and in software architecture in general, you might like…
Why microservices are a good idea
Author
-
Ekaterina Novoseltseva is an experienced CMO and Board Director. Professor in prestigious Business Schools in Barcelona. Teaching about digital business design. Right now Ekaterina is a CMO at Apiumhub - software development hub based in Barcelona and organiser of Global Software Architecture Summit. Ekaterina is proud of having done software projects for companies like Tous, Inditex, Mango, Etnia, Adidas and many others. Ekaterina was taking active part in the Apiumhub office opening in Paseo de Gracia and in helping companies like Bitpanda open their tech hubs in Barcelona.
View all posts
More to Explore
One Comment
pro4people
Thank you so much for the sum-up. I’ll do my best to join you in June!