A focus on understanding users and their usage is the best key to success — I first learned to program computers in college in 1970. Since then, I’ve performed many roles in software engineering: coder, designer, business analyst (BA), tester, project manager, documentation writer, team manager, process improvement leader, consultant, trainer, and author. Plus, of course, like all of us, I’m a user.