Computer programmers use their skills to write and test the code that tell computers to accomplish certain tasks, such as retrieving data. Programmers use specific codes or computer languages, like Java and C++, to transform the program designs created by software developers and engineers into instructions that the computer can follow. If there are bugs or issues, computer programmers test the applications and fix the problems within the code. Programmers often reference code libraries to simplify their writing, and may build or use computer-assisted software engineering tools to automate the writing of some of the codes they use. Recently, programmers are spending much of their time working with software-as-a-service, or SaaS programs.