Karnaugh map
en.wikipedia.org
en.wikipedia.org
https://thesis.laszlokorte.de/demo/kvd-editor.html
(click on the question mark icon at the top to get some brief usage instructions)
In certain cases say a piece of logic on the critical path that's preventing your design clock as fast as you want or something complex that you know requires lots of effort to meet your ppa (power, performance, area) targets, say an ALU or part of an FP unit, you'll be doing more manual optimisation. However even then you're probably not using a Karnaugh map, instead using more sophisticated techniques and then using specialised programs to do these for you (Espresso being the classic example https://en.m.wikipedia.org/wiki/Espresso_heuristic_logic_min...).
There's also things that simple logic minimisation doesn't take into account like fan out (how many things you have hanging off a particular output) and wire distance (a significant proportion of the clock cycle can be taken up in waiting for signals to propagate if the logic is spread across the chip). A hand crafted piece of logic is likely to use a mix of 'pure logic' type optimization techniques (that are simply trying to minimise logical operations) and the engineer using their judgment to work out what arrangement of minimised functions leads to the best implementation result.
Haven't designed any circuits in my career, but have on occasion used them to simplify my horribly inelegant boolean expressions before committing them to Siemens' S7 SCL.