Programmers spend their time writing computer code in a programming language. In the case of systems development, programmers generally attempt to fulfill the design specifications given to them by a systems analyst. Many different styles of programming exist: a programmer may work alone for long stretches of time or may work in a team with other programmers. A programmer needs to be able to understand complex processes and also the intricacies of one or more programming languages. Generally, a programmer is very proficient in mathematics, as mathematical concepts underlie most programming code.