Boards can be made in-house or manufactured at a factory. Whichever is chosen will more than likely affect component selection. Check out my page on etching a PCB for some more information about the in-house process. A good mix of in-house production and professional manufacturing is the key to a successful project. Determining when to fabricate a board yourself or when to have it manufactured by a professional comes with time. I had my first professionally manufactured board created with Oshpark. I highly recommend their service.
One of the first boards I ever had manufactured back in 2013
I try my hardest to always follow these concepts when laying out a PCB. These rules aren't written in stone, they're just good rules to follow. Each and every one of them has affected my boards at some point or another, which is why I felt the need to include them. Now I'll move onto the actual process and how I go about developing my boards.
Component selection and placement is something that comes with practice. I remember when I first began having my PCBs manufactured and I selected a 0402 package for a line of resistors because it saved precious board space. Needless to say that was the last time I ever made that mistake. Choosing a proper component can speed up assembly time and save you from much frustration. If I choose to make a PCB in-house I will limit the amount of surface mount devices used and try to stick exclusively to through-hole parts. I choose to do this because I don't want to be etching a double-sided board if it's not needed.
This is a mistake you only make once, the 0402 package
Once a schematic is drafted and has been thoroughly tested on breadboards it's time to start producing a PCB. This process is always time consuming because every trace has to be connected to the proper component in the correct order. Any deviation from the schematic will most likely result in a failure. Autodesk Eagle PCB design software does a very good job of preventing these mistakes by associating the schematic that was designed in the Eagle software with the PCB. It connects the components with a temporary line to each component in the proper order, showing you where each trace should go. This allows the designer to simply focus on how the trace should be routed, rather than where the trace should be routed. Most software does have an automatic trace routing feature, mainly the paid for software. I've never found one that did a good job routing so I do prefer to route them by hand, but I've also never paid for decent software, so I could be missing out on something great (probably not though).
A routed PCB displaying both the top and bottom traces
Once the PCB is laid out and before I send the gerber files to a manufacturer I'll layout my components on paper to make sure they are the correct size. In the past I always used Fritzing for my PCB development. This software is great and allowed me to size all the pads the way I needed them. Because I have been trying to migrate to Eagle, I've had to come up with some new techniques to cope with their software. They have massive libraries of parts, so selecting the right part can be a daunting task. Because I typically order all my parts that I will be using first, I've been printing out the pad masks so I can see if I've got the appropriate sized component before having the board manufactured. It took one failed board for me to start doing this. That's a two week setback. Minimizing mistakes like that is crucial.
The layer mask of the above PCB image used to verify component size