Why is it okay to fail?

I ordered a silicon wafer from AliExpress for decoration. Looks neat, right?

pretty silicon wafer

The problem is: anyone can buy one. Since it seems impossible for me to reach 100k YouTube subscribers (but you can help by clicking here and sharing) let’s make a chip YouTube play button!

Silicon is literally EVERYWHERE on Earth, its most common form is SiO₂ – sand and glass. Everyone knows that glass breaks easily, and pure silicon is also astonishingly brittle in its wafer form. Heck, wafer thickness is measured in micrometers, while the common wafer’s diameter is 300mm (12″). Mine is 200mm (8″), still needs extra care while handling, and processing! So, how to process the wafer?

Try to cut

First approach: glass cutter. Diamond tools can cut – in straight lines. Okay, overcome this problem in theory with a 3D printed, rounded frame for the outline, but what about the “play” triangle in the inside? Sharp corners concentrate stress, and we have 3 of them. Great. Don’t even try this approach.

What about CNC milling? It would work in theory, but I don’t have one. But I do have a laser cutter, and it seems laser can be used in machining complex parts!

“Near infrared”, 30W used in the industry, promising! I have a 40W CO2 laser, so it does worth a try. The wafer is still en route, but I have some raw solar cells from another project, and those are also made from silicon. Let’s find the optimal settings while the fancy wafer arrives! And the results?

fail in silicon cut

Terrible. Use too much power and the silicone cracks. Use too little, and it doesn’t do anything. Move the laser head too fast and it will miss some steps. Move too slow, cracks, again. Finally I was able to find the sweet spot, but still, hundreds of passes werent enough. It’s not a fiber laser so I don’t blame the tool. You can see fragments of the YouTube logo, but that’s it, this machine just won’t cut through. But why is it good?

Because fail fast and often.

Well, I would skip the often part, but it’s just the part of R&D.

The cost to fail

The project failed at a very early stage, the prototype. The costs? ~2 hours of work and some scrap solar cells. Let’s see an oversimplified version of a product development:

Planning and specification 🡆 implementation 🡆 testing 🡆 production.

What would have happened if I skipped everything and ordered (let’s say) 100 of wafers for a commercial product? $3k cost just in raw material, a few cracked samples and a humiliating failure, like the following example.

fidget spinner

Back to product development

Where can we put failures in our product? Of course: everywhere! While testing can fail to pinpoint even obvious errors and manufacturing can encounter problems, most errors are introduced during specification and implementation. And the goal is to catch these errors as early as possible. Let’s see some examples.

Since I try to process a wafer, let’s find a semiconductor-related example first: TSMC got a batch of faulty chemical, resulting in 10-30,000 defective leading-edge (the most expensive) wafers, about $550 million lost. Could they have tested the photoresist first? I’m not a semiconductor expert so I can’t tell, but if they could, that would have been the cheaper option.

But at least no one injured, right? The automotive industry is infamous for its safety standards. (sometimes I still have nightmares about ISO 26262, at least I haven’t touched AUTOSAR) Ford still managed to mess up the ignition switch, resulting in recalling 8.7 million cars in the 90′, and a fresh one popped up during research: another 100,000 recalled because of fire risk. But it’s nowhere near GM’s fiasco, their ignition switch killed over 100 and injured 275.

So the next time someone asks you politely to write some unit test in a huge company software project, just do it. Don’t delay the inevitable since it’s just increasing cost and hassle. I’m no code god, I make mistakes too and it’s refreshing if a bug is found before commiting. Much faster to correct, you are already working on that part so the time of context switching is also spared, and while your code’s quality is increased, you can be sure that it works as intented.

(if you got some proper specification, but that’s another story)

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top