#beginners guide How to Learn the Fundamentals of Software Engineering – in a More Interesting and Less Painful Way