Learning how to develop software is like learning an instrument: You do not master a craft by passively watching others. You must do the work yourself---on real-world problems---and get feedback from professionals to succeed.
Working as a software developer next to your CS studies can provide a suitable environment for learning (and help pay the bills). But it has pitfalls, as jobs often make demands on your schedule that jeopardize your studies. In addition, the feedback you get on your work is often erratic or non-existent. Such jobs hurt your career more than they help.
At CQSE, we designed our student development jobs to provide an environment that complements your studies. Our peer-review process provides feedback on your work from our team of professional developers, for every single code contribution you make. In friendly, constructive terms :-). Furthermore, when we choose the topics you work on together, we make sure that they are not on a critical path. So should you need to drop work completely to focus on your studies, even on very short notice, this is not a problem.
These principles were in place when we founded CQSE 12 years ago. We have refined them since based on the feedback from the 84 students that have worked with us so far. Many of them are still with us today after their studies. We have found that they provide a productive environment for you to grow as a developer.
In this talk, we briefly outline our company and the tool we develop. Then we present our development process and our approach to peer review. We also discuss compensation and how our lightweight application process works.