Principal Duties and Responsibilities:  Uses algorithms, data structures, programming languages, programming paradigms to create, test and operate sustainable client-side or server-side software applications and services