I am a self-taught 2D game programmer who mainly uses Java and LWJGL. I have used XNA and GameMaker in the past.