The Infi Way

At Infi we like to work the following way.

The Infi Test #

A quick check to see if you're roughly following The Infi Way. A sort of Joel Test.

  1. icon of users
    Are developers seeing real users?
  2. icon of principles
    Is code being reviewed?
  3. icon of source-code
    Are you running automated builds with tests?
  4. icon of source-code
    Can you automatically deploy to production?
  5. icon of source-code
    Are repositories self-documenting?
  6. icon of technology
    Does the team autonomously pick fitting technology?
  7. icon of process-and-team
    Does the team autonomously choose their own process?
  8. icon of process-and-team
    Is the process evaluated periodically?
  9. icon of process-and-team
    Is work refined before it's being done?
  10. icon of craft
    Are outages noticed and handled proactively?
  11. icon of craft
    Is knowledge actively shared within- and outside of the team?
  12. icon of others
    Are secrets managed correctly?
  13. icon of others
    Are there (proven) working, encrypted backups?

We aim for maximum score, though sometimes you still have to work towards it.

large icon of users

User-centric #

We work for the client of our client. They use software to achieve their goals, our goal is to help them with that.

How we like to do this:

  • Direct contact with users
  • Prototyping, iterate quickly
  • Work user-centric
  • Close collaboration with designers
  • Work from "why"

Concrete examples:

By us:

large icon of principles

Principles #

We work in a modern way, aiming for quality. "First time right" is also cheapest in the end.

How we like to do this:

  • Everything in version control
  • Up-to-date tools, frameworks, and libraries
  • Automation where possible
  • Strong test coverage
  • Code quality controls
  • Pair programming
  • Code reviews

Concrete examples:

By us:

large icon of source code

Code is the Source #

Source code is just that: the source. Self-documenting, so usable for any developer, our own or otherwise.

How we like to do this:

Concrete examples:

By us:

large icon of tecnology

Technology #

We prefer using "the best tool for the job"; we're generalists who can quickly specialize when the need arises.

How we like to do this:

  • OS is a personal choice per developer
  • We build custom software and aid with buy-over-build
  • Hosting in the cloud
  • Back-end in a modern stack
  • Front-end with mature frameworks
  • Mobile cross-platform, unless "native" really adds value

Concrete examples:

By us:

large icon of process and team

Process and Team #

Teams work autonomously, but usually pick an agile way of working with a Product Owner from the customer.

How we like to do this:

  • Teams determine and improve their processes
  • Product Owner from the client
  • Scrum master
  • Maintain a planning together
  • Work in small teams
  • Call in help from internal and external experts
  • Regularly work together with the client at the same location

Concrete examples:

By us:

large icon of craft

Craft #

Building custom software is a craft. We are happy (and proud!) to show what's going on behind the scenes.

How we like to do this:

  • Studying and knowledge sharing
  • Invest in tooling
  • Great hardware
  • Experiment
  • Monitoring and alerting

Concrete examples:

  • Internal and external presentations
  • Study groups, self-study
  • Visit conferences and meetups
  • Kibana, Sentry, Zabbix, etc.

By us:

large icon of others

Foundations #

Some things speak for themselves: they are always part of the deal. Think Security, Performance, Backups, a critical note, plus the opportunity to be ourselves.

Those foundations include:

  • Backups, including encrypted offsite backups
  • Security as a core value in our work
  • Audits when sensible
  • Performance, for example via load testing
  • Be critical of features, come up with alternatives
  • Open Source usage and contributions
  • Meetups: host and organize
  • Be ourselves: (Dutch manifesto) "Wij zijn mensen."

Concrete examples:

By us: