I've been working at my current work for some time, and I'm considering a bit of a change of careers. I'm trying to decide what it is exactly that I want to do, and I'm really just not sure. I'm not wanting a solution for my particular case, but what I'd like to know are some generalities of things I can look for. Here are some positions that I'm considering, and what my definitions are (I'm probably calling them something other than what is standard, but hopefully this will do for now). I'm looking for quizzes, articles, explanations, or anything that can help me figure this out.
Manager - Managing programmers in some sense, mostly in making sure they are kept working.
Coder - A person who is told to make a program do XYZ, and makes it do that. Doesn't have to model anything, or come up with formulas.
Algorithm Designer - A person who comes up with a way to make software do something, but doesn't necessarily code that program, at least, not in it's final form.
QA - A person who tests code for bugs, preferably with the code in hand.
Architect - This person figures out how all of the pieces fit together, is a technical manager of sorts.
Maintainer - This person takes someone else's existing code, and makes sure it is fixed when issues arise.
Also of some note is figuring out what industry I want to work in.
Feel free to add any of your own categories.