Nhà phát triển phần mềm nghiên cứu, thiết kế và phát triển phần mềm máy tính và mạng hoặc các chương trình tiện ích chuyên dụng. Phân tích nhu cầu của người dùng và phát triển các giải pháp phần mềm, áp dụng các nguyên tắc và kỹ thuật của khoa học máy tính, kỹ thuật và phân tích toán học. Cập nhật phần mềm hoặc nâng cao khả năng phần mềm hiện có. Có thể làm việc với các kỹ sư phần cứng máy tính để tích hợp hệ thống phần cứng và phần mềm, đồng thời phát triển các yêu cầu về thông số kỹ thuật và hiệu suất. Có thể duy trì cơ sở dữ liệu trong một khu vực ứng dụng, làm việc riêng lẻ hoặc phối hợp phát triển cơ sở dữ liệu như một phần của nhóm.
Các nhà phân tích và người kiểm tra đảm bảo chất lượng phần mềm phát triển và thực hiện các bài kiểm tra phần mềm để xác định các sự cố phần mềm và nguyên nhân của chúng. Kiểm tra sửa đổi hệ thống để chuẩn bị cho việc thực hiện. Ghi lại lỗi phần mềm và ứng dụng bằng cách sử dụng hệ thống theo dõi lỗi và báo cáo lỗi cho nhà phát triển phần mềm hoặc web. Tạo và duy trì cơ sở dữ liệu về các lỗi đã biết. Có thể tham gia đánh giá thiết kế phần mềm để cung cấp đầu vào về các yêu cầu chức năng, đặc điểm hoạt động, thiết kế sản phẩm và lịch trình.