Optimizing single pages take alot of time and are honestly getting to become next to impossible. You will still probably need to set up a blog (making it not a single page) so that you can provide ongoing fresh content (either through blog format or resource documents). This will be timeless in maintaining and even gaining Search Engine Rank. On your "single page" you would then include a widget to show the latest blog/resource posts.
As for what you need to do on those single pages in order to effectively rank:
1. You better better develop your page to be one of the best semantically correct pages on the web, build it securely, build it so its quick as possible (minimize css, js, and http requests)
2. You need to do alot of keyword research, find high search volume keywords with low competition (pretty hard to do for high competition niches such as web development)
3. You need to become the master of writing copy - it will probably take you a few revisions to figure out what actually works
4. You need to build extremely effective inbound links (think of the top 5 best inbound links you've ever built in the past; now get 20 of those per month)
5. You need to guest blog, social bookmark, etc. like crazy
6. You are going to need to age your domain
7. Utilize social media to its full potential - abuse it like crazy
8. Abuse healthy directories like yelp, yahoo, dmoz, etc.
Theres a million other things you can do but thats all a good start, however by building a single page website you are making your SERP/SEO challenge 10x harder.
yes its possible to make a single paged website rank for keywords
you use page hierachy using h1-h6 tags
put the keywords you want to rank in the h1-h6 tags
make sure you have the most relevant keyword (your most important keyword) in the h1
remember you can only have one h1
u need to put your information starting with the information you want to rank higher
<h2>Keyword you want to rsank Keyword 1</h2>
<p>Content rich in the keyword you put in this Keyword 1</p>
<img src="keyword1.jpg" alt="Keyword 1" title="Keyword 1"/>
now you need a lot of links preferabbly from websites that are relevant to your keyword.
Google will rank you and use the content snippet that is most relevant to your keyword