Beyond that, add language modes for anything you need that's not already included.
If you use 'git', 'magit' is very nice.
Beyond that, helm is interesting, though very large and kind of mind-blowing.
Recommend these in your ~/.emacs.d/init.el, to avoid being that guy:
(setq-default show-trailing-whitespace 't)
(setq-default indicate-empty-lines 't)
; try not to use tab characters ever when formatting code
(setq-default indent-tabs-mode nil)
(setq-default require-final-newline 'ask)
(setq-default mode-require-final-newline 'ask)