Types of #Programmers in #CS and #IT:
• Theorist—seek new discoveries in computability theory, complexity theory, and type theory (Church, Turning, Kleene, Cook, etc.)
• Inventor—design, analyse, prove, and publish an original algorithm (Knuth, Dijkstra, Karp, Tarjan, etc.)
• Engineer—devise a correct, efficient implementation of a published algorithm (implementers of DSP, DIP, etc.)
• Translator—convert an algorithm's mathematical description directly into a programme (CS undergraduates)
• Cobbler—cobble together APIs into a programme that might, or might not, work (senior IT practitioners)
• Cutter—cut and paste existing bits of code into a programme that just might do something unexpected (mid-level IT practitioners)
• Cleaner—clean up senior team members' messy, buggy code, while leaving the existing bugs intact and adding a few new ones (junior IT practitioners)
• Generator—ask AI to write direct-to-production code that no IT practitioner in the team could be bothered to read (senior IT managers)