Automation can come in many forms. There are various tool options which can be used at different points during your development and testing cycles. Examples include: SOAP UI for APIs or Web services, J Unit and Cucumber for Unit tests and Selenium for User Interface and browser-based tests. They are each great in their own right, but if used early, they can add a great deal of benefit in terms of proving that your code has not been significantly impacted by any new changes.
When automating, look for tests which can be re-run and cover the critical business flows and scenarios.
Bear in mind, with automation testing, there needs to be a constant focus on the quality of the tests. When tests fail, we need to assess the root cause of the problem (it could be an invalid test step, spurious data or a valid fail which results in a defect being raised).
Often automation is used to execute regression tests towards the end of the development lifecycle, but why not execute it earlier? Arguably, any code which is introduced should fundamentally, not impact any previously delivered functions. If automation testing is done early enough, it should make your other types of testing a little easier, less risky and speedier.