Computer programming offered in universities is intended to prepare and provide undergraduate students not only with technical knowledge, but with essential skills to work in real-life software projects. Unfortunately, in most developing countries, programming is hard, faced with insufficient infrastructures and teaching staffs. In spite of these challenges, most undergraduate students never back down. They are increasingly developing software applications and improving their skills even without formal classes. But software intended for use other than by the developer requires teamwork and the application of software engineering methodology. Therefore, our concern is on how they learn their programming and what development methodology they apply to ensure product quality. This paper then investigates how and why they learn their programming and their knowledge of software quality. We conducted a survey on undergraduate students of Computer Science (CS) in University of Venda (UNIVEN) who are developers. The data collected were analyzed and qualitatively presented. Our results show that students consider online reuse codes as the new and best method to learn programming. Furthermore, they have used development methodology and are mindful of the software quality.