Learn something new every day
More Info... by email
The duties and responsibilities of a software programmer can vary somewhat depending on the needs of the company for which he or she is working. In general, however, programmers are typically responsible for creating, editing, and evaluating code used to create computer software and various types of programs and utilities. They may be involved in the early stages of planning a new program and the creation of the design document that is then used throughout the rest of development. There are also many situations in which a programmer simply follows the document created by others and works to ensure any required standards are met.
One of the most important responsibilities of a software programmer is the creation of new code that is used to make a software program. This can be accomplished in a number of different ways, depending on the programming language and platform being used by a software developer. In general, however, development usually involves the creation of hundreds, thousands, or even millions of lines of code that are used to make the program function properly. All of this is created by a software programmer, though teams of programmers usually work together on large projects.
The code that a software programmer creates is typically based on the needs of the company he or she works for, and the desired outcome for a particular program. This is often established by a design document that is created at the beginning of a development cycle, which then outlines various aspects of the finished software. A programmer can use this document to better understand how the final program should look and function. Programmers may be involved in the creation of this document, though team leaders and head developers usually create it and then use it to guide the work of different programmers working on a piece of software.
As various sections of code are completed and pieced together to begin creating the final program, a software programmer might also work with testers and other departments as part of a larger effort. Testing usually involves numerous individuals using a program or software application to see how well it works. As problems and errors are found, reports are issued that are received by programmers who use them to recreate the problem and find its source. A programmer changes the software and adds documentation within the code itself to indicate to others why these changes were made, allowing a team to better work together and see what others have done.
It seems to me that one of the most difficult jobs for a software programmer is both keeping current with what languages are in demand and anticipating what languages are gaining in popularity.
For example, let's say you had a computer programmer that could make BASIC, PL/1 and assembly sing 30 years ago. How much would that programmer's skills be worth today? Probably not much, meaning that programmer would have to keep current with what languages were popular at any given time to stay relevant.
Also, let's say a programmer 30 years ago decided an emerging language such as Logo was going to be the next big thing, so he or she spent a lot of time learning it. Those would come across as wasted hours now.