A junior programmer assists a project's senior programmer in the many tasks needed to complete and implement a computer application. These include preliminary designing, coding, and debugging. Junior programmers are also often asked to document the progress made on projects and to present their records when requested. Other responsibilities include developing modifications to the software and providing instructions on how to use the program. These numerous duties help a junior programmer develop the skills needed to eventually become a project lead.
Although the bulk of a junior programmer's work involves code writing, his role can extend far beyond it. Senior programmers might require their juniors to attend the preliminary meetings of software development in order to gain a clearer picture of the client's demands. A junior programmer should carefully analyze these requests and suggest ways they can be implemented into the program's design. These suggestions are coursed through the lead programmer, who then decides whether or not these solutions are in the project's best interests.
Once a working design has been developed, junior programmers work on writing the software's code. Depending on how complex the program will be, computer programmers can work in handfuls or in large teams, with each team responsible for a certain portion of the software. Each team will have its project lead managing the work of several junior programmers, who work together to build their part of the program.
A junior programmer is also responsible for testing the part of the program he's written and making the necessary modifications should he discover an error. Debugging takes a significant amount of the programmer's time, as a malfunction in one part of the program can render the entire application unusable. A junior programmer should ideally test every aspect of his work — sometimes even trying to coerce malfunctions through unintended usage methods — to determine whether or not the code is flawless before submitting it to his supervisor. Every step of the process should be documented for future reference.
In addition to computer programming, a junior programmer will often be called to assist in ways to improve existing software and increase its user-friendliness. This often involves coding patches to correct bugs that were missed during testing or to improve the performance of certain aspects of the program. This is most often seen in video games, where patches are necessary to balance different factors of game play. At times, a junior programmer might be called on to help develop the program's instruction manual and even train individuals in using the software.