Table of Contents
At Apiumhub we always try to innovate in order to come up with more efficient processes to complete a task or a project in general. The goals are always the same: build working software, work with high performance, scalability, cost reduction, agility, team productivity and all of that having customer & employee satisfaction. So, this year we decided to introduce Round robin of a person.
Last year we started several activities that really helped us to learn more and strengthen our software team. For example, we started to organise open spaces every Friday ereere all our software developers, software architects and agile project managers could share their ideas and knowledge and learn from each other. Apart from open spaces, we started to film our developers, talking about best practices in Software development & Software architecture. It’s a great idea because by doing that, our potential clients can see the level we have and new people joining our team can learn from the tutorial videos we constantly produce!
As mentioned earlier, in 2017, we want to start with a new initiative. This time we can even call it “innovation” – Round Robin with Christian Ciceri at Apiumhub. Let’s start by understanding what round robin is.
What does round robin mean?
Round Robin (RR) is one of the algorithms employed by process and network schedulers in software computing. Basically, it is time slices, that are assigned to each process in equal portions and in circular order, handling all processes without priority.
In Apiumhub we decided to share the knowledge and know how of our Software Genius with our teams in a way that he spends equal amount of time with them, just like in a well-known round robin. In our case it will be a month. And its not about answering questions, but its about working with the team, understanding the project, showing how the things should be done, implementing best practices and processes, choosing the right tools and languages taking into account client’s goals, guiding software developers on how to deliver scalable product, increasing performance of the platform and reducing costs on the long term.
A bit more about Christian Ciceri, our Software Guru
Now that we know more about what round robin means, I would like to talk about Christian Ciceri, some of you must know him and if you do, there are big possibilities that you consider him as a software Genius or as a software architecture guru! For those of you who don’t know who is he, I think it’s important you learn a bit more about Christian Ciceri, software architect of Apiumhub.
He began his professional career with a specific interest in Object Oriented design issues, with deep studies in code-level and architectural-level design patterns and techniques. He has been one of the former practitioner of Agile Methodologies, particularly eXtreme Programming with a great experience in difficult practices like TDD, Continuous Integration, build pipelines and evolutionary design.
He has always been aiming at a wide-spread technological knowledge, that’s why he has been exploring a huge amount of technologies and architectural styles like Java, .NET, to dynamic languages, to pure scripting languages and even native C++ application development, from classical layering to Domain-Centric, to classical SOA and Enterprise Service Buses.
Now, Christian Ciceri is a Software Architect & co-founder at Apiumhub. His philosophy is to be, at any time, a technical guide to the team he collaborates with, to motivate people to go further in solving technical issues and problems, to communicate trust to each member of the team and to the team as a whole.
After many years of experience in Agile Methodologies, he believes that TDD and Continuous Integration are an essential part of it. He knows how to build a working software. His vision of architecture goes beyond the “power-point” architecture. He believes that an architect should be capable of switching between high-level and low-level aspects in a natural, quick and continuous way. As he says; “a software architect should create a working ecosystems that allows teams to have a scalable, predictable and cheaper production”.
Now that you know more about Christian Ciceri’s background, I would like to go a bit deeper in what makes him a great software architect, why we decided to introduce Round Robin with him and actually in general, what we believe to be great aspects that makes a team an amazing team!
Great software architect, great software team
Having deep knowledge & sharing it with the team
Christian is an expert in Object Oriented Design, Design patterns, Architectural patterns and solutions. He is also an expert in high availability deployments, in building automation and in achieving scalability.
Another hot topics that drives interest among us is Domain-driven design and Domain-Centric architectures. Our software architect guru always tries to make sure that everyone understands them by giving different examples of different projects.
Finally, he has a solid experience in technologies like Java, .NET, PHP, C++, Scala, React and many many others.
Several months ago we noticed that teams, that worked closely with Christian grew much faster than the other ones in terms of knowledge. And we decided to implement round robin in Apiumhub in order to give all teams an equal chance to learn and grow!
Like we discussed before, at Apiumhub, our culture is all about sharing knowledge, talking about what went wrong and what should be fixed. And what is great about having all the knowledge mentioned above is that we share it with the team every week during open spaces. This time team will have an opportunity to practice all they learn in open spaces in real projects, working with Christian side by side.
Anyone that gets into Apiumhub will have to learn about the importance of TDD and continuous integration and will be shown the best practices through interesting examples.
Having a team that attracts talent
Having such a person in our team represents for us a huge asset – broad knowledge in software architecture & development. We like to call him “our competitive advantage”! It may seem weird, but it’s true. He is a mentor, he is an inspiration, yes. But our team is amazing. We find it very difficult to find people that we believe will be a good fit, that will absorb all the information, apply it, develop it and work on it. So when we do find that person, we do everything to be sure they will join us, and stick with us!
New talents join our team to have the opportunity to work with Christian, to learn from him best practices in software development. That’s actually why we have such a low rotation rate. The formation/training that our developers get is very high, they learn something new every day. They work on different projects, and Christian suggests them how and what to use.
Getting high referrals
Last month, our marketing department did an internal research based on our data to find out what were the top sources of our new clients. Basically, how do we get clients? And one of the top “sources” was Christian’s referrals, people that have worked with him in the past, and that has work with our team are quite satisfied with the work and end up recommending Apiumhub. Now that’s satisfying for us!
As we value Christian and that we consider ourselves very lucky to work with him, there are very few people like him in the world, he is special. And don’t get me wrong, I don’t want to do a self promotion or promote Christian. I am telling you the situation we have and as our developers appreciate the fact that Christian spends time with them on a regular base and that he helps them improve their efficiency. Which is why we decided to implement a completely new thing – Round Robin.
Round Robin with Christian Ciceri at Apiumhub
Like I said earlier, Christian would dedicate an equal amount of weeks to each team of Apiumhub. And it will be cyclical, he would work with the teams regularly and on a constant basis, resolving issues they have with a particular project. By doing that, Christian would know better the projects and the teams, their knowledge, their strengths and weaknesses and will focus his formations on the topics people are interested and where people feel like they need improvement.
Its not only about unblocking people, Christian would see their evolution. We grow our teams, our developers. Our team don’t just wait for software architect’s time to ask question, they work hand in hand with him on the project and learn by doing.
We believe this initiative will strengthen our team and form our team to be even stronger. Let’s see!
If you’re interested, here’s more information about the importance of a good software architecture and the benefits you get from it. One last thing, soon we will be moving to our new office and our team will be hosting meetups there to share knowledge and best practices!
Stay updated and subscribe to our monthly newsletter to receive invitations to our events, best practices and video tutorials with software development tips.
If you are interested in knowing more about us, you might be interested in reading these articles…
- Apiumhub partners
- Apiumhub enjoys Aijec membership
- Apiumhub is proud to be Barcelona Tech City’s member
- Apiumhub: success drivers
- Open space in Apiumhub
- Memories of an Entrepreneur
- Round robin with Christian Ciceri at Apiumhub
- Microservices vs Monolithic architecture
- SRP in object oriented design
- Functional debt vs. technical debt in software development
- Simulate server responses with NodeJS
- Charles Proxy in Android emulator
- A guide to Tmux that will increase your productivity
- Callback Hell NodeJs: a solution with Fiber
- Almost infinite scalability
- BDD: user interface testing
- F-bound over a generic type in Scala
- Best Agile blogs you should track in 2017
- Programming languages that will grab your attention
- 5 best Jenkins plugins you should be using
- Viper architecture advantages for iOS apps
- Hexagonal architecture
- Benefits & Examples of microservices
- Top benefits of using docker
- Benefits of software architecture
- DevOps technologies & benefits
- Top software testing techniques