Google, as well as the other search engines, has a way of ranking the relevancy of each web page to what a person searches for (keywords).
What's the goal?
So the goal of optimization is to increase your page's ranking for specific keywords that are relevant to your website.
How is this done? Google doesn't tell us the secret formulas they use, but it's mostly common sense to provide the right content for the right people and in a pleasant way. (Fast, mobile friendly etc.)
Another factor, is how many other websites (especially popular ones), link to your site, proving your trustworthiness. This includes (with a smaller impact) internal links between pages on your site.
Getting it done
So who does what? Your web developer will do the basic levels of SEO. Write clean and fast code, and not use buggy and slow plugins.
You can then hire an SEO specialist to take SEO to the next level, which might include online marketing and social media etc.
What's left over is for you to write meaningful, useful and engaging content targeted to your users.