The names are pretty easy if you consider that they're just a slightly skewed version of every other profession, mainly due to outsourcing. For example, indians/chinese guys are programmers. Then you have what other professions call lab assistants, interns and wage slaves. They're now software engineers. Then you have what other professions would call an engineer, which is a software architect. And I can't remember what the last title comparison is.. Damn. Oh, and on an unrelated note, computer science is a research line, not an actual programming line. It may involve programming, but it's a wholly different kind of programming than what most wage slaves are capable of. That's why the golden rule when hiring CS grads is not letting them touch a keyboard for the first few years, until they've actually learned how to program.