Mihai Coroș, InfiniSwiss

As a co-founder of InfiniSwiss, what inspired you to start the company, and how has your vision evolved since then?

When we started the company, our vision was clear: to create a company by developers, for developers—one that puts people first. We wanted to build a small but highly skilled team, focused on technical excellence, learning, and collaboration. From the beginning, we were committed to hiring only those who are passionate, smart, and get things done—people who genuinely care about their work, bring a high level of professionalism, and thrive as team players.

Over the past 10 years, our core values have remained the same. We’ve kept our company small and efficient, ensuring sustainable growth without hiring for the sake of hiring or taking on projects that don’t align with our expertise or interests. We believe that money should follow great work, not dictate it. That’s why we carefully choose both our colleagues and our clients—building a workplace where we all enjoy what we do.

We also maintain a flat organization, where everyone has a real impact, shares responsibility, and is treated with fairness and respect. We prioritize transparency and honesty, both internally and with our clients. We only make promises we can keep, and that trust has been fundamental to our success.

One of the biggest challenges we faced after the pandemic was keeping our close-knit culture while working remotely. Since then, we’ve doubled down on fostering connection through meaningful team events and getaways. We also continue to invest in our people—providing opportunities for learning, training, and conferences that bring fresh energy and new ideas.

While the way we work has evolved, our principles have remained unchanged: build a team we’re proud of, take on work that excites us, and create a workplace where both we and our colleagues love to be. That’s what continues to drive us forward.

In your role as a software architect, how do you approach balancing innovative design with practical implementation?

My approach starts with truly understanding the problem. That means actively listening to the customer, asking the right questions, and uncovering details that might otherwise be missed. It’s easy to jump to solutions, but solving the right problem is what really matters.

I take a pragmatic approach—prioritizing time- and cost-effective solutions over using cutting-edge technologies just for the sake of it. Innovation is valuable when it genuinely enhances the solution, but it’s not a goal in itself. At the same time, staying on top of the latest advancements is crucial. It allows me to evaluate whether newer approaches can provide a real advantage in a given context.

Beyond design decisions, I’m rigorous about best practices in implementation. I believe in clean, maintainable code because experience has shown that it pays off in the long run. At InfiniSwiss, we don’t take shortcuts with "quick and dirty" solutions—we prioritize a strong code ethic and a structured approach to development.

Finally, I always seek feedback from a sparring partner. No matter how experienced you are, a second perspective can reveal blind spots and help refine the solution. Balancing innovation with practical implementation is about making informed, thoughtful choices—not just following trends or sticking to the familiar.

InfiniSwiss emphasizes clean code and best practices. Can you share specific strategies your team employs to maintain these standards?

Maintaining clean code and best practices starts with hiring the right people. At InfiniSwiss, we follow a rigorous hiring process, including an open-book technical interview. All candidates have access to the questions in advance, which allows us to assess not just their technical skills but also their mindset—ensuring we bring in smart, self-sufficient developers who get things done and, most importantly, care about their work.

Beyond hiring, we foster a continuous learning culture. We provide training and coaching through various online resources and strongly encourage knowledge sharing. One of our key initiatives is our weekly technical lunch meetings, where team members present topics they’ve been working on. This helps us stay up to date with best practices and learn from each other’s experiences.

We also uphold our commitment to clean code in our daily work. Whether we’re working on internal projects or in staff augmentation roles for clients, we consistently advocate for best practices. Our colleagues are often recognized as the "clean code guys" in the teams they join, reinforcing our reputation for high standards and attention to detail.

At the end of the day, clean code isn’t just a principle—it’s a habit we cultivate through hiring, learning, and leading by example.

With experience in various technology stacks, how do you decide which technologies are the best fit for a particular project?

As with most things in software development, the best technology choice depends on multiple factors. The first step is always to deeply understand the problem—without that, even the most advanced tech stack won’t be the right fit.

One of the advantages of having experience across multiple technology stacks is the ability to take a broader view when evaluating solutions. Each technology has its strengths and weaknesses, and understanding these trade-offs allows me to make more informed decisions. Rather than being biased toward a specific stack, I can objectively assess which option best aligns with the project’s needs.

Beyond technical suitability, the team implementing the project plays a crucial role. The chosen technology must fit their skillset to ensure efficiency and maintainability. That’s why I always strive to strike a balance between the best possible technology, time and cost constraints, pragmatism, and the team's expertise.

Personal preferences can also come into play, but they should never outweigh objective considerations. To make well-informed decisions, I typically create a decision matrix—laying out the trade-offs and evaluating each option based on clear criteria. This structured approach ensures that the final choice is not just technically sound but also practical and sustainable for the team and the project.

InfiniSwiss collaborates with clients across different industries. How do you tailor your software solutions to meet the unique needs of diverse sectors?

We always strive to deeply understand our client’s domain before proposing solutions. This is crucial because every industry has its own unique challenges, and a one-size-fits-all approach simply doesn’t work.

At InfiniSwiss, our developers are not just coders—they are engineers who embed themselves in the client’s team and project. Rather than simply executing tasks, they actively contribute ideas and solutions, ensuring that what we build is tailored to the industry’s specific needs.

A key practice we follow is Domain-Driven Design (DDD). When starting a new project, we spend time with domain experts to truly grasp the problem before designing and implementing a solution. This approach influences not just the architecture but also the way we write code—crafting it in a way that naturally reflects the problem domain.

By combining deep industry understanding with engineering expertise, we ensure that every solution is purpose-built, scalable, and aligned with the client’s real-world needs.

Looking ahead, what are your aspirations for InfiniSwiss, and how do you plan to navigate the rapidly changing tech landscape?

The software development market is highly competitive, and standing out among countless companies can be challenging. But when I think about the future of InfiniSwiss, I always come back to a fundamental question: Why are we doing this?

The answer is simple—we do this to create a workplace where we and our colleagues genuinely enjoy working. As David Heinemeier Hansson puts it, 'It doesn’t have to be crazy at work.' We believe in a sustainable, balanced work environment where both our team and our clients are happy. As long as we maintain that, we’ll continue doing what we love.

Looking ahead, my vision is to move toward providing higher-level software services—such as consulting, solution architecture, and technology advisory—rather than simply offering development power. Since we are a small and highly efficient team, we focus on delivering expertise and strategic value rather than scaling into a large development agency.

To navigate the rapidly changing tech landscape, we stay ahead by continuously learning, adapting, and making thoughtful technology choices. By keeping our core values intact while evolving our expertise, we can continue to thrive in an ever-shifting industry.

When you're not architecting software solutions, what’s your favorite way to unwind or fuel your creativity?

I have many favorite ways to unwind, but spending time outdoors with my wife and two children is at the top of the list. We love hiking, biking, and, in the winter, skiing together—it’s a great way to stay active, enjoy nature, and reset.

Beyond the outdoors, I also turn to music as a creative outlet. Playing my electric guitar allows me to tap into a different kind of creativity, which is very fulfilling for me. Whether I’m improvising, learning new songs, or just playing for fun, it helps me recharge.