사용자는 코드 자체의 내재적 속성보다 제품 작동을 중시하지만, 나쁜 코드는 성능·버그·개발 속도에 직접적인 하위 영향을 미침
“사용자는 기술 스택이나 테스트를 신경 쓰지 않는다”는 말은 피상적으로 맞아도, 코드 품질이 낮을수록 버그 수정과 기능 추가가 더 어렵고 느려짐
다리 검사, 취한 조종사, 불안정한 건물 기초의 비유처럼, 사용자가 과정 자체를 보지 않아도 그 결과는 안전과 신뢰에 영향을 줌
AirBnB, OpenAI, Meta 같은 기업은 시장 장악력, 막대한 VC 지원, 의심스러운 합법성으로 이런 문제를 밀어붙일 수 있지만, 모든 회사가 그런 위치에 있지는 않음
소프트웨어 성공은 영업, 기술 스택, 사용자 경험, 고유 식별자까지 다양한 관심사와 관점이 함께 작용한 결과임
반복되는 클리셰와 그 한계
소프트웨어 업계에는 “고객은 테스트를 신경 쓰지 않고 제품이 작동하는지만 신경 쓴다”, “사용자는 기술 스택을 신경 쓰지 않는다”, “공학적 우아함은 시장 가치와 같지 않다”, “사용자는 AI가 썼는지 사람이 썼는지 또는 어떤 프레임워크를 썼는지 신경 쓰지 않고 제품 작동만 신경 쓴다”는 식의 말이 반복됨
이런 말들은 모두 “고객은 그것을 신경 쓰지 않는다”는 같은 주제의 변형이며, 냉정한 현실을 말하는 실용주의처럼 제시되는 구조임
같은 논리를 다른 분야에 적용하면 문제의 피상성이 드러남
도로 이용자는 다리의 최종 검사를 신경 쓰지 않고 차를 지탱하는지만 신경 쓴다는 식의 말
승객은 조종사의 음주 여부를 신경 쓰지 않고 비행기가 제시간에 도착하는지만 신경 쓴다는 식의 말
사무직 노동자는 고층 건물 기초의 안정성을 신경 쓰지 않고 돈을 버는지만 신경 쓴다는 식의 말
이런 비유는 표면적으로는 맞지만, 명백한 하위 영향을 무시함
고객이 컴퓨터 코드의 내재적 속성에 관심이 없다는 점은 맞지만, 코드 품질은 성능, 버그 존재 여부, 버그 수정 시간, 기능 추가 시간에 영향을 줌
코드가 나쁠수록 이런 문제를 해결하기가 더 어렵고 더 느려짐
AirBnB, OpenAI, Meta 같은 기업은 엄청난 시장 장악력, 막대한 VC 지원, 의심스러운 합법성으로 이런 우려를 밀어붙일 수 있다는 지적
그런 회사가 아니라면 같은 방식으로 문제를 덮기 어렵다는 결론
‘민간 지혜’의 지속성과 소프트웨어의 여러 관심사
민간 지혜의 지속성
1차 효과만 중요하다고 보는 생각은 소프트웨어에서 매우 인기 있는 민간 믿음으로 존재함
사람들은 자신이 잘하지 못하는 것을 할인하거나 축소하는 경향이 있음
좋은 코드를 만들 능력이 부족하다고 인식하면, 좋은 코드가 중요하지 않을 뿐 아니라 좋은 코드를 만들 수 있는 사람들이 오히려 문제라는 관점을 취하기 쉬움
그런 관점에서는 고객이 신경 쓰지 않는 것들로 출시를 막는 사람들이 문제처럼 취급됨
이 태도는 자기 약점을 피하고 다른 사람에게 책임을 외부화하는 자아 방어 기제로 작동함
우리는 사회 속에 있음
진지한 소프트웨어 작업은 서로 다른 관심사와 서로 다른 관점의 혼합물임
기술 영업부터 기술 스택까지, 사용자 경험부터 고유 식별자까지 다양한 요소가 소프트웨어 노력에 들어감