I'm a programmer by trade and I had this issue myself a little while ago where a client was asking me to look at the SEO on their site. I decided it would be a good excuse to learn more about this specialization and turned to Reddit for advice.
The community was incredibly helpful and taught me quite a lot. The short version is that everything that needs to be done, can be done by any half-decent programmer as long as you know what to look out for. That being said, it is an incredible amount of work and detail and is an on-going process.
What I ended up doing was tackling the big obvious issues first. I installed Google Analytics, signed up for Google Webmaster Tools and started reading up on best practices (as indicated by Google themselves).
Webmaster Tools is a great start and will allow you to look for redirect issues, allow you to submit a sitemap (extremely important), and to a certain extent, tell Google how you would like your site to be crawled.
Next I took a look at the HTML code structure to make sure that I had proper meta tags, alt tags on all images, H1, H2, H3, tags where applicable, and generally clean code. Making sure that I added the extra tags required by both Google, Apple iOS, and Facebook so that people could link and share the site properly.
Then I moved on to third party tools. Since I was dealing with an existing site with a decent amount of traffic, Moz Tools and SerpStat already had some valuable advice for me. I was able to check up on the site's visibility, keywords, and backlinks.
With all of this data combined, I was able to review the site again to look for places where I was getting 404 errors, redirect issues, and other technical issues. I made sure to properly 301 redirect pages where I knew I could predict invalid landing pages. I reworked some page titles and meta tags. I also make sure to remove any 'spammy' content.
Finally, I came up with a list of suggested blog posts for my clients to write up in the coming weeks and months so that they could (1) promote the articles on social media, and (2) create additional targeted content to adjust their ranking, page authority, and overall domain authority for products that they wanted to lead in.
I'm still learning and reading more as I go. I was also fortunate enough to have a site that was already mobile compliant and well structured in terms of URL strings.
All in all, a lot of work, but definitely doable with a programming background and control over the site and the server.