microchip engineer