Note: Take this post with a grain of salt. It’s meant to be a slightly amusing rant, and should not be used as an official classification system for developers.
Engineers, Architects, and Chemists work with their hands on “real life” projects. They of course use their problem solving and thinking skills in their line of work, but in the end, they get paid to develop specific products with practical uses.
Mathematicians and Theoretical Physicists do the exact opposite. They spend all day thinking, pondering, and mediating; finding better ways of describing the universe, and using their minds to solve problems that may not even exist in real life. (Yes, I skewed those descriptions to fit the point I’m making.)
Sometimes their work has practical applications, sometimes it does not.
What is a theoretical developer?
Similarly, Theoretical Developers are software developers who are more concerned with solving “theoretical” problems than getting any actual work done. When a problem arises, it is more beautiful to develop a solution where all the pieces fit together perfectly than to “Just git ‘er dun”.