First off they have an understanding of electronic principles. They understand how basics like NOR and NAND gates work. They understand how NOR and NAND gates can be arranged to make things like counters, dividers, adders, etc. Starting with such knowledge and an ambitious design goal, the large problem of a design goal is broken down into many small problems. This continues until the problems are small enough that their experience or research into previous solutions to similar problems can allow them to design a hardware solution made out of available components. This process is all about turning a big black box into a bunch of smaller simpler black boxes and those into working designs.
Re your question about "psedo code", software is done much the same way. A large program design is broken down into sections, the sections into functions, the functions into routines. At that point, the compiler (a program that can convert all this high-level code into code the micro can understand) will convert all into code. Then there is generally a period of test/debug until the design is complete and meets specs. The group of instructions a microprocessor is able to preform is like bricks. The finished program is a house made out of those bricks.
As far as "where they place the components", that comes after the design of the circuitry, which is a schematic. Then a PCB designer will translate that schematic into a board layout. Generally he will first place certain things that have to be located at specific places, things like connectors along an edge, maybe a central heatsink for the components requiring heatsinking, etc. Then he will place the components such that he trys to minimize the length of traces - components that are directly connected to each other will usually be placed close to each other. PCB design is much simpler nowadays with programs that can have a schematic as an input, and from that generate what's called a rat's nest, a view of all the components and all of their connections on the screen at once. The designer then cleans up the rat's nest one wire at a time.
You can try this out for free. Go to www.expresspcb.com and download their free schematic entry and PCB design programs. These 2 programs are separate, but link together. Generate your own schematic or simply open one of many examples included. Then open the PCB designer and link it to the schematic. This pair of programs is very easy to use, much easier (but also much less powerful) than more expense programs that exist. Yet even then there is Kicad, a very powerful yet free schematic entry/PCB design suite.