Whatever you use Emacs for, you'll definitely want these packages set up to get blistering fast code and file navigation.
Install smex and you'll never
look back. It makes you so much faster in Emacs as it not only auto
completes whatever you do with M-x, but it also remembers what you
did previously, listing often used commands at the top.

projectile and get automatic setup of IDO for all your projects.
Projectile will also give you other project specialised features such as:
searching for a string inside your project using projectile-grep,
I use this all of the time, quite seldom, I venture back to
grep-find.
replacing a string in the project
All of this for free. No setup required.
While you're at it, also consider installing these packages for an even better IDO experience:

To see my full IDO & friends setup, check out my settings here:
It's a breeze navigating referenced files in your configuration files
using the built-in find-file-at-point.

In addition to the built-in dabbrev-expand which will expand any
word, I recommend that you install the excellent auto-complete
package and turn it on in all modes. It gives you a nice intellisense
like menu where you can auto complete any word/method name that you
have in a buffer.

The built-in hippie-expand will let you auto complete previously
written blocks of code, or indeed sentences.
With these packages in place, you will dramatically improve the speed with which you fly through your Emacs windows and buffers!