Coming from a Mac background, I've never really spent much time tinkering with / assembling / tweaking my own computer beyond occasional RAM upgrades and swapping out hard disks. I feel like I have a good grasp on how a computer works at a conceptual level, CPU, bus, memory etc, but I haven't really got much practical experience in putting it all together / taking it apart.
My question is, is there anything to be gained in terms of software engineering skills by learning to assemble my own computer? If you have spent your whole life putting bits of hardware together, how has it influenced the way you write or think about software?