Lead programmer
Encyclopedia
A lead programmer is a software engineer
Software engineer
A software engineer is an engineer who applies the principles of software engineering to the design, development, testing, and evaluation of the software and systems that make computers or anything containing software, such as computer chips, work.- Overview :...

 in charge of one or more software
Computer program
A computer program is a sequence of instructions written to perform a specified task with a computer. A computer requires programs to function, typically executing the program's instructions in a central processor. The program has an executable form that the computer can use directly to execute...

 projects. Alternative titles include Development Lead, Technical Lead, Senior Software Engineer, Software Design Engineer Lead (SDE Lead), Software Manager, or Senior Applications Developer. When primarily contributing in a high-level enterprise software design role, the title Software Architect (or similar) is often used. All of these titles can have different meanings depending on the context.

Responsibilities

A lead programmer's exact responsibilities vary from company to company, but in general he or she is responsible for the underlying architecture
Software architecture
The software architecture of a system is the set of structures needed to reason about the system, which comprise software elements, relations among them, and properties of both...

 for the software program, as well as for overseeing the work being done by any other software engineers working on the project. A lead programmer will typically also act as a mentor
Mentor
In Greek mythology, Mentor was the son of Alcimus or Anchialus. In his old age Mentor was a friend of Odysseus who placed Mentor and Odysseus' foster-brother Eumaeus in charge of his son Telemachus, and of Odysseus' palace, when Odysseus left for the Trojan War.When Athena visited Telemachus she...

 for new or lower-level software developers or programmers, as well as for all the members on the development team.

Although the responsibilities are primarily technical, lead programmers also generally serve as an interface between the programmers and management and have supervisorial responsibilities in delegating work and ensuring that software projects come in on time and under budget. Lead programmers also serve as technical advisers to management and provide programming perspective on requirements. Typically a lead programmer will oversee a development team of between two and ten programmers, with three to five often considered the ideal size. Teams larger than ten programmers tend to become unmanageable without additional structure. A lead programmer normally reports to a manager with overall project or section responsibility, such as a director or product unit manager (PUM).

Qualifications

Lead programmers are usually trained in software programming, although do not necessarily hold formal degrees in the subject, and may learn management responsibilities either on the job or through short courses. Because their primary training is usually technical rather than managerial, lead programmers traditionally see themselves as part of the technical staff of a company rather than as part of management. This cultural identification can be valuable in relating to programmers who tend to not take direction from someone perceived as lacking in technical skills.

Notable programmers

Some notable lead programmers include:
  • John Carmack
  • Dave Cutler
    Dave Cutler
    David Neil Cutler, Sr. is an American software engineer, designer and developer of several operating systems including RSX-11M, VMS and VAXELN at Digital Equipment Corporation and Windows at Microsoft.- Personal history :...

  • Grace Hopper
    Grace Hopper
    Rear Admiral Grace Murray Hopper was an American computer scientist and United States Navy officer. A pioneer in the field, she was one of the first programmers of the Harvard Mark I computer, and developed the first compiler for a computer programming language...

  • Yuji Naka
    Yuji Naka
    , is a video game designer and programmer, best known as the former head of Sonic Team, a group of Sega programmers/designers, where he was the lead programmer of the original Sonic the Hedgehog....

  • James Clark
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK