Tôi đã làm việc trong lĩnh vực phát triển phần mềm hơn 10 năm nay và tôi nhận ra rằng tôi hiếm khi tạo ra bất cứ thứ gì "mới". Tôi nhận ra rằng "mới" là một thuật ngữ mơ hồ, nhưng tôi sẽ định nghĩa nó là bất cứ thứ gì từ một dự án quy mô lớn mới rõ ràng đến một tính năng lớn mới trong một dự án hiện có (nói điều gì đó đòi hỏi một số suy nghĩ về thiết kế của nó, và điều đó có thể mất 2 tuần trở lên để hoàn thành). Có thể một hướng dẫn sơ bộ là một cái gì đó mới nếu nó yêu cầu một thông số kỹ thuật bằng văn bản. Tôi nghĩ rằng hầu hết các lập trình viên đều biết những gì tôi đang nói - bạn đang ở trong khu vực, viết rất nhiều mã với tốc độ nhanh.
Dù sao, nghĩ lại những gì tôi đã làm, tôi ước tính rằng ít hơn 10% thời gian của tôi dành cho công việc "mới". Có những thứ như "điều chỉnh hệ thống hiện có này để hoạt động trong môi trường mới này", điều này chắc chắn đòi hỏi rất nhiều kế hoạch, nhưng mã hóa thực tế và "công cụ mới" tạo ra những thay đổi nhỏ ở nhiều nơi trong toàn bộ mã. Tương tự như vậy đối với các yêu cầu tính năng nhỏ - nếu tôi biết phải làm gì, chúng thường có thể được hoàn thành trong vòng một giờ và nếu tôi không, thì đó chỉ là việc đọc nhiều mã và tìm hiểu phải làm gì (điều đó làm tôi thất vọng vì tôi học tốt hơn nhiều bằng cách làm, không phải bằng cách đọc).
Nói chung tôi cảm thấy như tôi không thực sự tạo ra bất cứ điều gì hầu hết thời gian. Tôi giả định rằng đây là trường hợp xảy ra ở hầu hết các nơi - một sản phẩm mới sẽ xuất hiện khá nhanh và tại thời điểm đó, mọi người sẽ rất phấn khích và đập mã với tốc độ nhanh, nhưng sau đó, khi nó chuyển sang chế độ bảo trì, trong đó một vài thay đổi tiếp theo sẽ được coi là "mới & sáng tạo".
Tôi có lầm không? Tôi có mô tả chính xác hầu hết các công việc lập trình, hay hầu hết các lập trình viên cảm thấy như họ thường tạo ra những thứ mới?