1.2. Who are Software Developers?

The term software developer is most often used to describe the engineers who write program code. In truth, there are many more roles necessary to develop sofrware: testers, testers, business analysts, designers, product managere, architects, deployment specialists, project managers, development managers and others all have a hand in developing the software.

The IT community doesn't have a standard set of job titles and pre-defined roles; what one company calls a 'product manager' is an 'architect' elsewhere, one company's 'project manager' is another's 'development manager', a 'team leader' in one is a 'manager' in another, and so on. All these people are in some way contributing to the development of a software system.

The level of knowledge and experience required to develop a successful system causes the old 'blue-collar'/'white-collar' division to fade. Someone who thinks of a programmer as analogous to a factory worker is making a mistake: the level of knowledge required by a programmer is several orders of magnitude greater than that required by an assembly line worker.

The profile of a modern development team looks more like a group of white-collar managers than a set of blue-collar workers: highly skilled people with specific knowledge who spend their days making informed decisions – not to mention working in air-conditioned offices. Consequently, when looking outside the IT arena, research, advice and inspiration are often to be found ...

Get Changing Software Development: Learning to Become Agile now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.