Develop and/or modify software modules to meet specifications. Assure software program integrity through review and testing. Prepare and/or modify program and system documentation. Research and incorporate new technologies into the software design.