An i7 for non-video renedering or compiling large applications is overkill.
You can do programming on just about any system made in the last 10 years, but it depends on exactly what you want to do and what applications you are working in.
I would look at a mid-range system with a good keyboard and screen over just picking a CPU. An i5 with 8 gig of RAM or even an i3 would be fine for many uses.