C++ rshell: Software Construction A software engineer needs skills in agile, software design, design patterns, and version control. For me, the rshell project was another step in acquiring these skills.