What Crafting has Taught me about Code

Sarah Federman
7 min readApr 20, 2018

This is a repost of an article written for The Pastry Box.

One of the skills that I’ve found most useful in my career thus far is pattern recognition. The beauty of pattern recognition is that once you’ve cultivated the skill, you can glean insights from almost anywhere, even from unrelated hobbies.

There’s been a lot of conversation happening recently on the language of “making” vs “crafting.” The term “makers” largely seems to apply to male-dominated hobbies and brings to mind STEM ideals, whilst “crafting” is often seen as feminine and domestic in nature. Who would guess that knitting or jewelry making could lead to a career in STEM?

Well, probably anyone who’s ever attempted to read a non-trivial knitting pattern. Here’s an amazing talk on how knitting patterns mirror a software program. I’m not a knitter, but I have been making jewelry through techniques like beadweaving since I was about 10 years old. There’s a lot to learn from the parallels.

What is beadweaving?

Source: beadaholique, Linda Fifield

Beadweaving is the art of using beads (usually tiny seed beads) to create a fabric of some kind. This fabric can be made into many different things (check out that purse!), but is most commonly used to create jewelry. It has an amazingly rich history in many cultures, including Ukraine (called Gerdany), and African, South American, and Native American tribes, as well as others. The technique has been used to create ritual objects and as an entrepreneurial avenue for women in impoverished communities.

The technique of beadweaving has been adapted to create fine jewelry for almost a hundred years. As a side note, as I’ve grown up I’ve thought a lot about whether I feel comfortable continuing with this craft given its significance to other cultures. I’ve come to the personal conclusion that the technique itself isn’t the object of cultural significance but the use of it to create tribal patterns and ritual objects. As long as I’m not using the symbols of other cultures or taking money that would otherwise go to these women, then I don’t feel I’m doing harm.

Similarly, the Japanese art of Kumihimo braiding was once used to create the tassels for Samurai armor. Now it is being used to create modern jewelry.

Kumihimo. Source: whatabraid, sarah.jewelry

Like programming, the art of beadweaving stands on the shoulders of giants and we must respect them. Everything we do pays homage to those who came before us. Also, we don’t have to reinvent the wheel to accomplish what we need.

Crafting Constraints

You’ve heard it before: constraints are great for creativity. Constraints often fall within these categories:

  1. Time constraints
  2. Material constraints
  3. Tool constraints
  4. Man (or woman) power constraints

I find myself gaining more and more awareness of these things as I start to think of my jewelry hobby as a real business. I’ve learned a bit about business (I even filed my own DBA!) and started bookkeeping and tracking inventory and such. I face challenges such as deciding whether to sacrifice quality of materials to deliver faster or grow my profit margins (I don’t), and I have to focus on estimating time to completion when contemplating a new project so I can plan on having enough stock for my next event. I think this is amazing extra practice for estimating my tasks for sprint planning at work.

When it comes to tooling, I’ve had to weigh the costs of creating my own solution. Right now my website runs on a modified Shopify theme. I’ve played with a bunch of haphazard plans to cut costs and try things like the cheaper, extremely limited plan from Shopify, rolling my own solution from something like Snipkart, or even just selling via Etsy and sacrificing some branding ability. I’ve gotten excited about designing and building a shop. And yet, at the end of the day I’m still running my Shopify shop. Because you know what? It’s an absolute pleasure to use. And I don’t really have the time to roll my own solution and deal with all of the moving parts and variables that that involves. And that’s okay.

I feel myself breaking out of the conditioning that toxic tech culture drilled into me. I don’t need to build nor understand everything from the metal to the UI to be successful (looking at you, sorting algorithms). And it’s actually more expensive to do that because of my time and woman power constraints, with little real benefit.

Furthermore, I find myself investing in better tools where I can. My Lindstrom pliers were not cheap, but now the thought of working all day with the flimsy uncomfortable ones I had before is nauseating. Better tools are almost always a smart investment for employees’ satisfaction and your bottom line.

Design Patterns

I’m a bit of a design systems nerd. I love component-izing UI and all of the amazing benefits they bring to your team. It’s been fun to watch the beading community embrace component-based beading in the last 10 years or so.

It’s awesome to be able to take a type of stitch like peyote or right angle weave (like a framework) and create a component within that framework, and then use those components to make a finished piece. Here’s an example:

Source: IceBlink Designs, Julia Powell

There are endless stitches and variations and each has their strengths and weaknesses. Right angle weave isn’t great for organic designs but cubic right angle weave is rigid, sculptural, and needs no extra support. Peyote is flexible in one direction and rigid in the other. It’s incredibly adaptable, but if you start with an odd count of beads instead of even it doesn’t work well and you have to do weird inefficient hacks to get it to work. Sounds familiar, right?

I’ve noticed some parallels with bead and code components. When done well, they are:

  1. Versatile, able be used in different ways. You can create endless designs from one base component.
  2. Easy to modify and adapt to your needs, context independent.
  3. Small and digestible. When you start with a large base and embellish it, it’s hard to modify your design. The more you add to it, the more rigid it becomes. Eventually, it may break, like beads with too much thread stuffed in them.

Craftsmanship is in the details

A few takeaways about craftsmanship:

  1. Identify and reinforce points of weakness. In beadweaving, you have to take extra steps to reinforce the thread path where the clasp attaches since that’s the weakest point that also sees the most action.
  2. Use the right tools for the job. Don’t make a loop with flat nosed pliers. Don’t use javascript to compensate for not using proper semantic html and the resulting accessibility problems.
  3. Use high quality materials. People can see the difference between Swarovski crystals and regular glass. Hire the right people.
  4. Quality over speed. People buy high quality things. If they see a thin veneer over shoddy workmanship they’ll never buy again. This isn’t a startup and we aren’t building an MVP. **Unless you’re actually a startup, then ignore me ;)
  5. Attention to detail matters. Does your necklace lay awkward, is your tension too tight and ruffling the edges, did you hide the ending thread? Are you following convention and documenting your code?

Takeaway

If you’re still with me, thanks for suffering my long and ambiguous analogy. Here’s a real point:

Hire well-rounded people from diverse backgrounds.

Please. The beauty of pattern recognition is that it allows us to apply lessons from so many aspects of life to different scenarios. Hire people who can bring new perspectives to your work.

Practice pattern recognition, draw conclusions from different experiences, find inspiration in different mediums, and embrace blurry lines.

Thanks for reading! That’s all folks.

P.S. My jewelry designs are available at https://sarah.jewelry/ :)

This story is published in Noteworthy, where thousands come every day to learn about the people & ideas shaping the products we love.

Follow our publication to see more product & design stories featured by the Journal team.

--

--

Sarah Federman

Accessibility, design systems @Canva. Prev @Atlassian @Adobe @LinkedIn, etc.