Froebel’s Gifts were meant to be given in a particular order, growing more complex over time and teaching different lessons about shape, structure and perception along the way. A soft knitted ball could be given to a child just six weeks old, followed by a wooden ball and then a cube, illustrating similarities and differences in shapes and materials. Then kids would get a cylinder (which combines elements of both the ball and the cube) and it would blow their little minds. Some objects were pierced by strings or rods so kids could spin them and see how one shapes morphs into another when set into motion. Later came cubes made up of smaller cubes and other hybrids, showing children how parts relate to a whole through deconstruction and reassembly.
These perception-oriented “Gifts” would then give way to construction-oriented “Occupations.” Kids would be told to build things out of materials like paper, string, wire, or little sticks and peas that could be connected and stacked into structures.
Craftsmanship is about thoughtfulness and care in the work we do. It means being deliberate about what we build and how possible it will be to maintain and extend in the future. A solution that will require revisiting in a month — because it’s not scaling, because it has a ton of bugs, because it doesn’t support all the use cases it needs to — is not useful to us and ultimately will generate pain for our users.
What we trade off by living this value is (sometimes) day-to-day speed. It’s easy to imagine an engineering team that emphasizes moving fast over keeping things stable and bug-free -- like a team building a product that isn’t responsible for important user data and doesn’t support anyone’s livelihood. But given the role the Figma product plays in the lives of our users, we feel it’s worth it to ensure we hold a high quality bar for them. And in the long run, being thoughtful about how we build often reduces the complexity of ongoing development and new features regardless.