Act creatively to develop applications by selecting appropriate technical options, optimizing application development, maintenance and performance by employing design patterns and reusing proven solutions