Programmers write code for computer programs and mobile applications. They also are involved in maintaining, debugging and troubleshooting systems and software to ensure that everything is running smoothly. Collaborate with team to produce software designs Formulate program specifications and basic prototypes Transform software designs and specifications into high functioning code in the appropriate language Integrate individual software solutions to higher level systems Use web-based tools to create advanced SaaS when applicable Test code periodically to ensure it produces the desirable results and perform debugging when necessary Perform upgrades to make software and systems more secure and efficient Collaborate with team to create documentation for user support