For someone who doesn’t really like eggs, I buy a ton of them.
Eggs are incredibly useful in baking- they add structure but also tenderness, they increase volume, bind liquids, and are the basis of meringues, some buttercreams, and more. Eggs can do it all.
One of their classic uses apart from basic cakes and cookies is custards, which are a pretty broad group of (mainly dairy-based) dishes ranging from ice cream to cheesecake, to fruit curds, and quiches. Custards are a great skill to have in your arsenal- I like to make pastry cream to fill tarts and cream puffs, and I really like making fruit curds from sour fruits like raspberry, rhubarb, and lemon (technically, rhubarb is a vegetable but I use it as a fruit). Making a custard has a bit of a reputation for being finicky, but it really just comes down to heat control and tempering.
Most of the custards I make are stirred custards, which are cooked on the stove. Some people advocate for using a double boiler, but I find if you can keep the heat low, you don’t really need it. For milk-based custards (which is most of them), there are two keys to success: don’t overheat your milk, and make sure to temper your eggs.
Generally, stirred custards follow the same steps: bring the milk up to a boil, turn the heat down, whisk together some sugar and eggs, drizzle some hot milk into those eggs, whisk everything together in the pot, and cook until thickened.
The milk is what’s used to cook the eggs, and it’s also what the eggs are thickening. The milk is heated gently to avoid curdling. The eggs are whisked together with some (or all) of the sugar, which helps homogenize the eggs and prevent lumps. (A word of advice: if the recipe has starch, you can whisk the sugar and starch together to prevent the starch from clumping, and then mix the starchy sugar with the eggs.) Then, a small portion of the hot milk is whisked into the eggs, and that mixture gets whisked back into the rest of the hot milk and cooked.
That step of pouring milk into the eggs, then eggs back into the liquid is called tempering. The idea is to slowly raise the temperature of the eggs so they don’t scramble as soon as they’re dumped into a big volume of hot liquid. Without the tempering step, when you add eggs straight into hot milk, the egg proteins immediately tighten up from the drastic temperature change. They clump together and you’ll have scrambled eggs floating in milk. The sugar and starch (often cornstarch) in the egg mixture also help prevent curdling. By adding them to the eggs before cooking, they keep the egg proteins from aggregating by getting in between the proteins. The sugar’s also there for flavour. The starch acts as a thickener: starch molecules form a network that keeps both the milk proteins and egg proteins from sticking together, while providing some structure to the final custard.
The idea with custards is to have the egg proteins distributed throughout the mixture- they can link up (which thickens everything), but more like a network rather than like clumps within the liquid. This perfect doneness exists between “not cooked enough” and “overcooked and weeping” (egg proteins network too tightly and squeeze the water out of the mixture). The faster the egg proteins start to link up, the smaller the window for perfect doneness. Cooking a custard slowly with gentle heat is the best way to prevent gross lumps in the finished product- first raising the temperature gently by tempering, and then by cooking over low heat. That way, you’ll have plenty of time to notice that the custard is at the right doneness, and stop the cooking.
Fruit-based custards like lemon curds replace the milk with fruit juice or puree and don’t have the same danger of curdling that you get with milk, but they should be reduced before adding the eggs to reduce weeping.
For a slightly more technical (but incredibly more goofy-looking) explainer on what happens when you heat milk and eggs too quickly, please enjoy these scribble diagrams from my old food science blog of yesteryear:
Why it’s important not to overheat low-fat milk:

Milk has 3 main components: water, milk proteins, and fat (lots in butter, hardly any in skim milk). In most cases, all of these hang out in the form of a colloid, which is kind of like a solution, except that rather than dissolving, the constituents are just too small to really separate out well. The proteins’ resting state (without changes to their pH or temperature) is their native conformation. When it’s heated, the proteins unfold, and are considered denatured (ie. changed in shape and they don’t work the same way).

Generally, cream can be boiled without terrible consequences- the fat gets in the way of the milk proteins so they can’t get tangled and stuck on one another. However, when lower fat milk is heated too hot, the proteins will curdle and form clumps. This is good for cheese, but not so good for a smooth custard.

Adding a starch helps prevent this curdling. The amounts added to custard won’t really have much of an effect on the temperature, but it will help by adding starch molecules, which form a net that keeps the proteins away from one another.

Tempering eggs:

Normally, the proteins in eggs (there are multiple kinds, but for our purposes, they’re all orange squiggles) exist within the liquid individually, in a more or less defined conformation. When you heat eggs, the proteins become denatured (ie. they unfold).

If enough heat is applied, these proteins will bunch up into little aggregates, or clumps, and separate out from the other stuff. In this case, water and fat.

When the proteins aggregate, the egg is cooked (or in this case, curdled). In a custard, we don’t want the egg proteins to bunch up like this, as it will produce scrambled eggs in a milk bath. Yuck.
However, if you temper them and increase their heat slowly while mixing them, the egg proteins won’t bunch up with one another so tightly. There will still be some combining, but it won’t be so separate from the rest of the constituents and the bonding will actually add structure to the resultant custard.
