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