How does unreal build tool work?


I been looking at unreal engine as a learning tool and I had a question about the engine’s build tool.
Can someone (preferably someone on the unreal engine team) explain in specific detail how the build tool works? Some things I want to know:

  • -How was it designed?
  • -What technologies where used to make it?
  • -What does it do?
  • -What challenges did you guys face making the tool?