Researching, designing, implementing, and managing software programs.
Testing and evaluating new programs.
Identifying areas for modification in existing programs and subsequently developing these modifications.
Writing and implementing efficient code.