There are two basic branches to the tree: Front End and Back End.
*This is my personal opinion based on my experiences and may not be correct.
Front End – This is where you create stuff. Back End – This is where you create tools that help engineers create stuff.
Front-end Jobs: Every electronic device/chip must follow a simple process. schematics/verilog code) – Physical design (you translate the design into transistor circuits in the best efficient way as per your customer requirement still making it profitable to your company, still in software) – Power and Synthesis (here the design is translated into a Bitstream (usually GDS II net-list) which can be understood by fabricators to directly convert them into ICs) – Fabrication (lesser job scope) – Product Testing – Customer Engineering/Application Engineering – Release – Customer Support. These flow points represent major categories. You can Google each one to find the sub-categories as well as the knowledge required for each.
For example, a Design Engineer must have Digital Design knowledge. However, a Layout/Physical Design engineer should have CMOS/VLSI/transistor knowledge. They both work on the same product. There are many jobs within each category.
For front-end designers: Intel, Broadcomm and Qualcomm. Texas Instruments, Analog Devices. Nvidia, NXP, and the like.
Back End Jobs: This is the front end of the flow. It can only be done with various tools (software, hardware), which are specific for each stage. This includes designing and supporting customers (customers are electronic companies that produce the front-end products). Examples include Synopsis, Mentor Graphics (now known as Mentor-A Siemens business), Cadence, and others.
These are just a few of the many Back-End departments found within front end companies. They create and support tools/software that are internal to their company.
The basic support for tooling is provided by Back end companies. However, each front-end company can customize the tools to meet their needs.