Should be able to analysis, design, and development of software apps using Java, C# or Phyton. Design each piece of an application or system and plan how the pieces will work together. Ensure that a program continues to function normally through software maintenance and testing.