First, there is some equipment that is really useful for hand soldering, and quality tools go a long way here. A good pair of tweezers helps a lot (ideally ceramic as they won’t become magnetized). A good temperature controlled soldering iron with a tip you are comfortable with. Surprisingly a super small tip isn’t always the best – you want to heat an area, and a small tip can only transfer so much heat. Flux, solder braid, a tip cleaner, good flat cutters, and of course good solder. Lead solder is easiest for home use, but combining the higher melting point of lead free solder can be useful. E.g. you could solder the first via side with lead free solder, and the back with leaded – this insures your wire won’t melt out). Most important for me is a really good magnifying light, a magnifying headband, a loupe, or even microscope. Your hands are way steadier when your eyes see well!
There are many ways to solder SMDs to a board, but they can be roughly grouped into hand soldering, and some form of all-at-once reflow. Reflow requires more upfront work and time, but is definitely the way to go in production. For prototypes, it depends mostly on your available equipment, and the number of components you have.
In both cases, you will have to deal with vias manually for DIY boards. For hand soldered boards I usually do these first, but if you’re applying solder paste they will make the board uneven and probably need to be done after reflow. It is possible to use via rivets – they are a little larger and hard to find, but it is the cleanest ‘most-professional’ way. Alternately, you can just tin a wire with solder, put it through the hole and clip it with flat cutters. Be sure this is a fairly tight fit, other it will stick to the soldering iron as you remove the heat. I’d be very interested in any techniques you use that work well!
SMD components work very well with reflow, especially on a professionally made board with a good solder mask. Hand soldering is also possible with practice – basically hold it down with tweezers and solder one side, let it cool, then the other. Watching videos of people doing this helps a lot. I’ve settled on mostly designing my prototype boards with 0603 components the drop into double drilled holes, and soldering them top to bottom layer. This is unorthodox, but works well given the constraints, and is very simple and fast.
Chips look very intimidating, but actually are fairly easy with a bit of practice. After pinning a corner and fluxing generously, you can drag a small blob of solder along the pins. This will nicely connect each pin. If you get bridges, which you will at first, a little more flux and solder wick will fix it pretty easily. Again watching videos help.
Lastly, lager through hole components and connectors are soldered the regular way. It is important to do these last, as they will prevent access with the soldering iron to nearby areas of the board.
Next: Programming DIY PCB’s