I’m Raimund Krämer, a software developer, consultant, and occasional technical coach.
I’m a programmer, gamer, reader, blogger, continuous learner, knowledge sharer, geek. I teach programming skills and techniques, such as TDD, Git, continuous delivery, and more. Since 2017 I have been working as a software developer in a variety of industries and have been programming regularly for fun since about 2011.
Background
I grew up in a small town south of Munich (Germany). I discovered my love for computers and games early on and programmed my first simple text adventures in QBasic and point-and-click adventures in PowerPoint when I was probably around 10.
I got a bit more serious in my game development efforts at 16 when I learned 3D modelling, animation, computer graphics, and basic programming, and started developing my first “big” game in the Blender Game Engine—a first-person shooter zombie survival game, for which I “recruited” my best friend, taught him the basics, and we shared the 3D modelling workload among the two of us while I did the animations and programming. I continued developing the game over the course of 2 years, reaching into the first semester of university. The game featured pretty decent 3D graphics that I’m proud of, four zombie types, three weapons plus grenades, optional 2 player split-screen co-op multiplayer with gamepad controls, lots of easter eggs, and a geeky background story. A sequel that I started developing afterwards in 2013 unfortunately never made it past the prototyping stage.
It was because of this passion for game development that I wanted to learn how things worked “under the hood”, so I decided to study computer science. During my bachelor’s and master’s studies I continued developing games, both as a hobby and as graded student projects, now focusing more on the Unity game engine and C# since 2015. I also discovered my love for programming in general, rather than just game programming, and while I hadn’t been particularly fond of math back in school, I started liking more math-heavy, technically challenging and lower-level programming.

