Write functional and design specifications Write original source codes and revise existing software Design and implements software solutions Perform code reviews, unit tests, integration tests, and other relevant testing Prepare software documents according to specific guidelines Estimate project sc