Gather, refine specifications, requirements based on technical needs
Write, analyze, and review program codes for new software development activity or existing software changes
Apply unit testing before release to QA and support for integration testing
Maintains code versioning
Analyzing software bugs, vulnerabilities and code smells
Deployment of new software or changes
Compile and write documentation of program development and subsequent revisions
Write or contribute to instructions or manuals to guide end users.