When it comes to the hard parts in PCB design and layout, as far as I am concerned, that is:
PCB Design: The protocol between CPU and processing chip is the most difficult part in the hardware development;
PCB Layout: The huge challenge that is to layout for ultrahigh frequency (UHF), ultrahigh speed, ultrahigh density and handle signals. Apart from that, EMI also deserves more attention.