Who is the mysterious Programmer of Angel Beats? The Programmer is an unknown student from the anime Angel Beats. He is revealed to exist when Yuri, the leader of the SSS,


   decides to get to the root of what is causing malevolent creatures known as Shadows to manifest in the World.


The Programmer is widely credited with having created:


the Angel Player program
The AI
The Shadows


It is likely that he created the Angel Player program, as it existed before Kanade Tachibana entered the Afterlife.

It's almost certain that the AI was made by the Programmer, when he states that he is "simply obeying the rules" when asked what he is doing with the computers from PC Room 1.



Once love began to take hold in the World, after 


   Yui disappeared,


The AI would have activated the Shadow program, also manufactured by the Programmer, to begin wiping out the SSS, Guild, and NPCs.

Now, the Programmer's background is one of mystery. It's a long story, so I'm going to take a leaf out of the Wikia's book here (with some minor edits).


  The Programmer's real name is unknown. But like Otonashi, he was never supposed to have entered the Afterlife, but somehow ended up there anyway.
  
  During his time in the Afterlife School, he fell in love with an unnamed girl who disappeared when her regret was fulfilled. Unwilling or unable to accept that, he decided to wait for her to return, which from the Afterlife School rules would require her to:
  
  
  Die during her teenage years (13 to 17 or so for a 4 year gap)
  Have a heavy regret
  
  
  If the girl lived an average of 85 years and reincarnated each time, there would be a 4/85 (teenage years)*9.83/1000(Japan death rate )*1%(Ad hoc chance of heavy regret)=~0.0004% every reincarnation. Each failure to hit this chance would lead to 85 years of waiting. A 10% chance to see her again would require 2.125 million years. 
  
  The above calculations do not consider that the majority of the death rate is actually from the elderly rather than from teenagers.
  
  As expected, the amount stunned Yuri, due to the massive time required to be spent waiting. The AI explained that The Programmer lost his grip on sanity after waiting so long, and decided to create a program to turn himself into an NPC.
  
  As The Programmer felt that people who had resolved their sadness should not clutter the Afterlife School (much like patients should be discharged when they are cured rather than staying in the hospital), he created a program that kept track of the amount of love in the Afterlife School world. When the amount of love exceeded a certain amount, a "cleaning" program would be activated where NPCs would be changed into Shadows, which would in turn target humans and forcibly change them into NPCs, thus resetting the world into one where no humans existed.


(formatting mine)

So, who is the Programmer?

Theories are welcome if they're backed up with facts.
Here are a few possible candidates.

1. Yuzuru Otonashi



The Programmer's details match those of Yuzuru Otonashi's with striking similarities. Let's not forget that alongside the original ending of Angel Beats, Key issued another epilogue, aptly titled "Another Epilogue". In this, the main focus is another person that's arrived in the Afterlife, and he is surrounded by quiet, obedient NPCs. After challenging the reality of the Afterlife School, he is talked to by the Student Council President,


   The Otonashi in an alternate timeline, who hasn't moved on yet,


and he is told that if he has any questions about the world that they both live in that he should come down to the Student Council room. However, as


   Otonashi heads back to the Student Council room, a girl can be heard saying, "There's a rumor that he's waiting for someone."


So therefore, it's entirely possible that


   Otonashi is waiting for Kanade, and that this timestream somehow loops. Otonashi goes crazy waiting for Kanade, who has a infinitesimally small chance of reappearing in the Afterlife, but still, better than zero. 


He turns himself into an NPC to be able to withstand the long wait, and creates the AI, or the "AI" to be able to maintain the requirements of the Afterlife, not allowing love to manifest, possibly therefore saving future arrivals from the pain that he has been exposed to. This may be why he creates Angelplayer, because he knows that if Kanade reappears, then she'll know how to use it, any maybe program it to move him back from his NPC state. The members of the SSS arrive after this, then, at the time of Episode 1, the timestream loops, causing 


   Otonashi to revert back from an NPC. 


Forgetting everything that's happened to him, the events continue their course the same way they did before – 


   causing the timeline to repeat over and over and over.


2. Tachibana Kanade



Tachibana Kanade was one of the first people to appear in the Afterlife World, and also the only person who is able to use Angelplayer without help. Because she has this ability, she may be the one who programmed it. However, she has never expressed any recollection in creating the program.

3. Takeyama



Takeyama is great with computers. His behavior throughout the anime is somewhat mysterious, as he constantly refers to himself as "Christ", suggesting that he has some great power in the Afterlife World. He is the most logical choice because of his skill with computers, and his ability to interface with Angelplayer. However, he does require English translators to use the program.

4. ???



The AI tells Yuri that the Programmer existed before the SSS appeared, and turned himself into an NPC. The AI also tells Yuri that she wouldn't know the Programmer even if the AI were to say it. This, logically, means that the Programmer cannot be a member of the SSS, Guild, or Kanade, as Yuri knows all of these people. Or, the AI could just have been made to respond that way to protect the Programmer. Perhaps we may never know...