The aim of this paper is to show one example of how an introductory course for software engineers could be organised. Our course introduces the students to the main ideas of CDIO, allows them to practise conceive, design, implement and operate in a complex team based environment while developing basic communications skills. Furthermore, the students are introduced to ethical issues concerning working as a software engineer and will meet with professionals and learn what generic skills industry expect from students. The course is popular with the students and has made them understand the need of incorporating the practise of generic skills with the learning of technical and scientific knowledge.