Lead programmer
Encyclopedia
A lead programmer is a software engineer
in charge of one or more software
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.
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
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).
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 architectureSoftware 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 CutlerDave CutlerDavid 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 HopperGrace HopperRear 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 NakaYuji 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