Skills and Attributes Be innovative, creative and a team player Ability to learn new languages and technologies quickly Excellent analytical skill and strong problem-solving skills Good communication (both written and verbal, time management, and project management skills Self-development skills to keep abreast with fast-changing trends. Duties and Responsibilities Developing, testing and implementing new software programs Identifying areas for modification in existing programs and subsequently developing these modifications Maintaining and upgrading existing systems to ensure strong functionality and optimization Integrate software components and third-party programs Troubleshoot, debug and upgrade existing software Create technical documentation.