1. Know how to prepare a functional group and what can be made from a functional group. For example, know how to prepare alkenes and what can be made from an alkene. The best way to memorize these reactions is to make flashcards. Include stereospecificity of reaction, where needed. This is most likely the most important tool you need to do synthesis problems. If you don't have these "basics" down, your success will be minimal.
2. If you don't see how to begin the synthesis, work backwards from the final product. Use the logic from step 1, above. Ask yourself, how would I prepare the final product in one step? (How do you prepare a functional group?)
3. Look for whether the number of carbons in the product has stayed the same or increased/decreased. For increasing carbons, consider Grignard reactions, coupling reactions, etc. For decreasing the number of carbons, decarboxylations, ozonolysis are common.
4. Alkenes and alcohols are good intermediates. With alkenes, many addition reactions are possible. Also, orientation of the additions (Markovnikov or Anti-markovnikov) gives you flexibility in designing a synthesis. With alcohols, substitutions and oxidation reactions are plentiful.
5. With aromatic compounds, look at the orientation of substituents on the ring (ortho, meta, para) of the products, to help you decide in which order to add reagents. Know which substituents are ortho/para directors and which are meta directors. If the atom directly attached to the ring has one or more lone pairs, it will be an ortho/para director. Alkyl groups are also ortho/para directors. If the atom directly attached to the ring has a pi system (multiple bond) or a formal positive charge, it will be a meta director.
6. You must practice doing synthesis problems -- it's not a "spectator sport". As with any skill, the more you practice, the more proficient you become at that skill.