If you want to do what you said,you should workhard.I take USB device develop as an example. To develop an USB device,you should know: 1.How to design the hardware topography.It requst you good at read English articles.Most IC articles not wrote by Chinese but English. 2.How to write firmware.Usally,We use MCU with USBSIE.It requst you master Instructions of the MCU. 3.The most hard work may be write a good driver.It requst lots of knowledge. 4.GUI program.