Delivery.

Consulting.

Training.

Services

  • About

  • Delivery

  • Consulting

  • Training

  • Our tools

IT is a very challenging universe at all levels. Our ways of doing things are based on practices and rituals that involve all the actors of the project to meet them as well as possible.

Thus, we provide our expertises and know-how to help you take your today and tomorrow challenges.

“Make it work, make it right, make it fast” - Ken Beck

A strong expertise

Architecture

Either at the code or system level, architecture is crucial for the life of a product. It must allow us to be free to change certain technical choices, such as a database. We are pushing the use of Clean Architecture or Hexagonal Architecture in Front and Back as well as Event Architecture. It must be able to respond easily to changes in technical and functional constraints, here we practice, among other things, CQRS (Command Query Responsibility Segregation) and the Modular Monolith to move towards Microservices.

We are able to propose and implement the type of architecture that best fit the context.

Software testing

In order to design the code of a project to make it robust, maintainable and scalable over the long term, we promote and use Test-Driven Development (TDD) and other automated testing methodologies.

Upgrading old code

Who has never heard: “we can no longer develop this project, we have to redo everything.” ?

This old code, often named legacy code, still brings a lot of value to the business. Thanks to our expertise in refactoring and architecture, we can give a facelift to this old code while always delivering new features.

Socio-tech

For the success of the project, it is not enough to have a product with 0 bugs, coded very well, … This is important, but you also need a solid collaboration with the people revolving around the product.

It is completely useless to do A when you should have done B.

This is why we encourage involving all these actors through workshops such as EventStorming and the use of patterns from Domain-Driven Design (DDD). This will make it possible to remove as much ambiguity as possible and to design the project by being as close as possible to the needs expressed.

Full Stack

As comfortable in Front as in Back, we are experts or can intervene in several different programing languages and technologies of which here is a sample:

TypeScript, JavaScript, Java, Kotlin, Scala, PHP, Angular, React, React-native, Vue, HTML5, CSS3, SASS, Redux, Spring, Symfony, Play Framework, Node.js, SQL, NoSQL, …

This is not our main area of expertise but we can lend a hand on the infrastructure part with our knowledge of Infrastructure as Code (IaC), especially in Terraform, Docker, Kubernetes, AWS, …

We believe that the realization of a product is the combination of a well thinking and high quality code associated with a transparent organization where everyone must feel empowered.

Lean Startup, Agile and Software Craftsmanship

Reading the title, we could say that it is there only for SEO… Yes, but not only!

It is both at the center of the company's culture and what we want to bring to our customers.

Lean Startup

The culture of entrepreneurship, how to design a product and make it evolve with user feedback.

We want to validate hypotheses:

  • construction of an MVP (Minimum Viable Product)
  • collection of user feedback
  • what does the collected data tell us?
  • hypotheses validated?
  • should we pivot, change the vision of the product?
  • Then we start again

Agile

A fundamental part of the company, doing things with common sense, which we believe is its other name.

The computer world is already complicated enough as it is not to add more complexities.

We always refer to the 4 values and 12 principles set out in the Agile Manifesto, in order to stay as close as possible to this mindset on the way we approach projects.

Software Craftsmanship

The center of our area of expertise, we do not believe in “quick and dirty” but in “quick and well”.

Whatever the project, for any type of company, we do everything we can to carry it out with a high level of code and design quality, always making choices adapted to the context

Our goal is to design robust and bug-free code that can easily evolve over time.

Let's go further with Accelerate and NoEstimate

Accelerate

It is important to measure certain metrics of a project to know its health. Accelerate offers 4 indicators: Deployment frequency, Lead time, Mean time to repair and Change failure rate.

Through them, we can highlight the parts that work well or, on the opposite, the parts where we can improve. To do this, there is a whole range of technical and functional levers that we can activate.

NoEstimate

Why waste time and money making estimates that are almost 100% wrong?

Because they answer to needs; budget forecast, product roadmap, prioritization of features to be developed, etc.

We want to gradually eliminate the estimates while replacing them with other processes depending on the need to be addressed. This is based on a few simple principles: trusted relationship, transparency, responsiveness to change, use of data from the past.

About us

Our vision

There are a multitude of programming languages and frameworks, we can notice that they all look the same and that they are based on same principles, all the time. Seen from this angle, switching from one language to another or learning a new framework seems to be very easy.

Indeed, it is! Under certain conditions: have a very solid background in “good” development practices (Design Patterns, SOLID, Clean Code, architecture, etc.) and have at least one language in which you are comfortable. Especially, these two points are essential to designing a code resistant to the test of time.

This baggage is difficult and long to acquire, it requires a lot of personal investment (reading books, watching videos, etc.) but also experience acquired either by oneself or through the sharing of communities.

This is why we recognize the value of technical expertise in a language and framework, but favor expertise in concepts and good development practices.

Our history

Company based in Prague, its founder, after having worked 9 years in Paris, came to live in Prague in 2021. During his professional experiences, he had the chance to rub shoulders with the functional side of IT projects for 5 years before returning to the more technical aspect.

Regarding the history of the name and the logo, it will remain a mystery but to give a clue they reflect the states of mind that its founder wishes to instill in his company.

show more
Portrait Mickael Wegerich

“The only way to go fast, is to go well” - Robert C. Martin

3 Lights Technology

IBC, Pobřežní 620/3

186 00, Prague

Czech Republic

© 2024 3 Lights Technology 1.20.0