Designing, building and maintaining Java-based applications & websites. Contributing and taking part software and architectural development activities. Developing well-designed, efficient, and testable code. Conducting software analysis, programming, testing, and debugging.