My follow up @Msurrow 's point:
> This is subdivided into the users skill with technology in general and the users domain expertise level. Is the end user a novice or expert with tech? Is the user (or rather the primary use-case(s)) for domain experts of domain novices?
When I set out to design and implement anything I always try to imagine the least computer / tech savvy potential users as well as the most snobby and tech savvy potential users. After I've figured out who those two extreme groups of users will tend to be I set out to make my designs as "hand holding" as possible for the less tech savvy group while making sure, as best I can, that the way I go about catering to those less tech savvy users won't offend or turn off the most tech savvy users.
While I find it to be one of the most difficult parts about executing and ultimately deciding on a final iteration for release I also find nailing that middle ground as one of the most satisfying single rewards of the work I do. If I can make something that guides clueless computer users through a series of tasks without hangups or significant drop off while at the same time the most tech savvy users have no annoyances or glaring issues to gripe about then I view my job as well done.
I try my best to get the most tech savvy users to acknowledge the detail and care that went into UX / UI / Usability. If I can't display a new / innovative approach, a less redundant approach, or a more streamlined way of guiding a user through the process then my main goal is to create an experience where those two ends of the spectrum both walk away from the experience feeling there was no annoyances, hurdles, or progress halting steps to the process / story / guide / purchase & checkout / etc. Everything should be in it's correct place. Everything should be labeled as needed and those labels shouldn't hog valuable screen space. Errors, notifications, validation checking, and any other changes mid-experience should be clear and obviously placed with color coded nuances. Erroneous use shouldn't trash users inputs, EVER! If you know you will have lots of non-tech savvy users you will have to strategically weigh using innovative UI / UX against the added instructions and newly introduced errors / validation issues that come along with them. Is it worth it to innovate elements and functions that already exist in standardized, well known ways? Will going those extra miles raise the rate by which users interact / check out / continue reading / commit to desired actions?
I think it's easier said than done to set out and then execute this strategy but I also find that it's my personal favorite way of mentally posturing myself when it comes time to make decisions with UX / UI / Usability. Beyond that nothing beats sitting with users as they use your product / app / service / website. I don't know if you have access to potential testing users but I'm sure you could dig up some family and friends to help you run your project through the rigors of real life use.