ResponsibilitiesCode, perform tests and debug new software and applications, while also making enhancements to existing software.Complete all phases of the software development process throughout the product life cycle, including research, modeling, designing, debugging, and maintaining processes.Create, maintain, and update technical and system documentation as necessaryExecute release-based development under planned deadlines, as well as investigate and resolve production issues according to priorities.Participate in continuous performance improvement meetings to improve processes and standards.Perform peer review of design elements, software components, and test specifications following guidelines from the development team.Improve and optimize the efficiency of the various software systems by implementing, monitoring, testing, and auditing new software programs.**QualificationsBachelor/Master degree in Information Technology, Computer Science, or a related field, or equivalent work experienceExperience with relevant development tools, applications, and system architectureAbility to prioritize well and work on multiple tasks and projects in tandemAbility to quickly learn and apply new languages, frameworks, and technologiesExperience using common development practices, including Agile, Scrum, Test DrivenDevelopment, Continuous Integration, Automated TestsComprehensive technical knowledge of both the information technology field and computer scienceExperience with a variety of programming languages and computer and web-related technologies, including Java, JavaScript, AngularJS, Spring, Hibernate, Restful, MySQL