Content is king. Fresh (updated regularly) relevant content is the most important factor in rankings. There are things that can be done to optimize the code of the site, and while these steps are very important, without content, you will see no results.
The search engines scour your page looking at the text to see if it is relevant to a particular query. They will also look at who is linking to you. If you have great content on a specific topic, and other people find it and link to it from their websites, which also contain content that's relevant, things will start to work in your favor. Content creation is the best way to develop these inbound links.
Inbound links (when someone links to you, and you don't link back) are more valuable than link-swapping (or recipricol linking), because the give you more authority on a given topic in the eyes of the search engines.
Work specific search keywords into the text, but make sure it sounds natural. The idea is to write stuff that people will want to read. Not to try to rig the system in your favor by throwing up a bunch of keyword stuffed pages.
With all this said, it is possible to be #1 if you target specific and relevant keywords, as opposed to general ones, because there is less competition. This is definitely something I would start working on before you launch your site, and something that will require ongoing maintenance (monthly at the very least). The sooner that you start working on it, the sooner you will see results.