It depends on the strength level you are targeting and your programming skills.
Assuming you area an experienced programmer, here's my opinion (i know lots of engines, but never coded one):
*A very simple engine, that can beat an beginner/amateur(ELO 1200-1600): lots of code, but easy.
*A engine, that can beat a 'club player' (ELO 1800-2000): it starts to get hard, you'll need
opening books, optimizations and a solid AI
*A engine that can beat a master: hard, you'll need some years of previous experience
*A top engine (like Rybka, Houdini, Stockfish, Hiarcs), that can beat any human being on earth 99% of time: this is a tremendous effort, you'll need a LOT of patience and years of experience.
That's how i see it!