A / About the company

A small engineering practice with a deliberately narrow definition of good work

FAMILY ATTRACTIONS LTD works in information technology and digital services. This page explains how we think about building software, what we hold ourselves to and how we behave when a project meets its inevitable difficult moment.

Company overview

FAMILY ATTRACTIONS LTD designs and builds software systems and the infrastructure they run on. The scope covers application development, cloud environments, integration between existing systems, data pipelines and the security and maintenance practices that keep all of it dependable.

We work in English, correspond in writing and keep decisions on record. Engagements are structured so that a client always knows what is being built, what has been verified and what remains open. Where a requirement is uncertain, we say so rather than absorbing the ambiguity into an estimate.

The company does not publish claims about clients, project counts, awards or certifications. What can be assessed is the method described on this page and the artefacts produced during an engagement.

Illustration of an engineering workflow with planning boards, modular components and release panels connected by arrows
How work moves — from problem statement to running system

B / Mission

Make technology a dependable part of an organisation, not a source of risk

Our mission is to build systems that people can rely on and teams can maintain. That means favouring understandable architecture over clever construction, writing down the reasoning behind decisions, and treating operational stability as part of the product rather than something handled after release.

C / Vision

Software that remains changeable for as long as the business needs it

We want the systems we help create to still be improvable years later — by our engineers or by anyone else. The measure of a good system is not how impressive it looks at launch but how calmly it can be extended when circumstances change.

D / Values

Five commitments that shape day-to-day decisions

  1. 01

    Say what is true

    Estimates include their uncertainty. Risks are raised early, in writing, even when the news is unwelcome.

  2. 02

    Prefer the simpler system

    Every additional component is a future maintenance obligation. Complexity is added only when a requirement demands it.

  3. 03

    Leave things documented

    Anything a future engineer would need to know is written down while it is still fresh.

  4. 04

    Own the defect

    When something we built fails, we diagnose it, fix it and explain the cause without redistributing blame.

  5. 05

    Respect the client's independence

    Source code, infrastructure definitions and credentials belong to the client. Nothing is structured to make leaving difficult.

Layered cloud platform diagram with stacked server tiers inside orbital rings

E / Approach to technology

Boring where it counts, careful where it matters

We choose well-understood tools for the load-bearing parts of a system: relational databases for transactional data, containers for predictable deployment, established frameworks with active maintenance. Novelty is reserved for the places where it genuinely solves the problem better.

Architecture is written down before it is built, including the trade-offs rejected along the way. When a decision later proves wrong, the record makes it possible to see why it was made and to change it deliberately.

Automation carries the repetitive parts of delivery — tests, builds, deployments, environment provisioning — so human attention stays on design and correctness.

F / Team culture

A working environment built for careful thinking

Engineers work in small groups with clear ownership. Code review is a conversation about the system rather than a formality, and disagreement about design is expected and resolved with reasoning rather than seniority.

Written communication is the default, which keeps context available to everyone involved and reduces dependence on any single person's memory. Deep work is protected: meetings exist to make decisions, not to report status that could have been written.

Learning is treated as part of delivery. Time is set aside to study the domain a system serves, because most serious software defects begin as misunderstandings of the business process.

G / Quality principles

What has to be true before something ships

  • Requirements are written and the acceptance criteria are unambiguous.
  • Automated tests cover the behaviour the change is responsible for.
  • A second engineer has reviewed the change and understands it.
  • The change has run in an environment that mirrors production.
  • Logging and alerting exist for the failure modes we can anticipate.
  • The release can be reversed without data loss.
  • Documentation and runbooks reflect the change, not the previous version.

H / Responsible innovation

New capability, introduced with its consequences understood

Automation and data-driven features change how decisions get made inside an organisation. Before introducing them we ask who is affected, what happens when the system is wrong, and how a person can intervene.

Personal data is collected only where a function requires it, retained no longer than necessary and protected in transit and at rest. Where automated processing influences an outcome that matters to someone, we design for a human review path rather than an unappealable result.

Accessibility and performance are treated as correctness issues. An interface that excludes people using assistive technology, or that fails on a modest device, has not met its requirement.

Questions about how we work can be sent in writing to gloriajack34@gmail.com.

Concentric geometric shield over circuit pathways, representing protective controls around data
Protection designed in, not bolted on