Разработчик программного обеспечения (от англ. software developer) — человек или организация, задействованные в разработке ПО не только с точки зрения дизайна и кодинга, но также выходя за рамки программирования или управления проектами, включая некоторые аспекты управления программными продуктами.
Разработка программного обеспечения как инженерная дисциплина является составной частью (областью) программной инженерии, наряду с дисциплинами, отвечающими за функционирование и сопровождение программных продуктов.
Как и другие традиционные инженерные дисциплины, разработка программного обеспечения имеет дело с проблемами качества, стоимости и надёжности. Некоторые программы содержат миллионы строк исходного кода, которые, как ожидается, должны правильно исполняться в изменяющихся условиях. Сложность ПО сравнима со сложностью наиболее сложных из современных машин, таких как самолёты.
Техник по сопровождению и тестированию программного обеспечения — это специалист, который выполняет следующие задачи:
- изучает специфику продукта, его особенности, цель создания и планируемый алгоритм работы;
- выбирает метод тестирования;
- разрабатывает тест-кейс на основе полученных данных о продукте;
- пишет автоматические тесты, если этого требует специфика испытания продукта;
- проводит проверку программного обеспечения, выявляет ошибки и подробно описывает их в отчётах;
- готовит отчётность и техническую документацию на основе проведённой проверки;
- взаимодействует с разработчиками и другими отделами, участвующими в реализации проекта;
- консультирует по поводу устранения ошибок.
Для работы по этой специальности необходимы специфические знания и навыки, например: понимание основных концепций и процессов тестирования программного обеспечения, знание принципов работы разных операционных систем, умение писать чёткие планы тестирования и тестовые сценарии.