Software consultant