GN⁺: 소프트웨어 엔지니어들의 코드 혐오
(dancowell.com)- 소프트웨어 엔지니어들은 특히 다른 사람이 작성한 코드를 싫어합니다.
- 마이크로서비스 아키텍처는 엔지니어들이 이전 코드를 컨테이너와 로드 밸런서 뒤에 숨겨서 존재하지 않는 것처럼 가장할 수 있게 합니다.
- 엔지니어들은 종속성의 실제 구현이나 테스트 스위트를 확인하는 대신에 코드 솔루션을 찾기 위해 주로 스택 오버플로우를 참고합니다.
- 엔지니어들은 다른 사람의 코드 검토를 싫어하며, 이로 인해 풀 리퀘스트 승인이 지연될 수 있습니다.
- 엔지니어들은 코드 작성을 좋아하며, 먹고 자는 등의 기본적인 필요를 잊을 정도로 그 안에 몰두할 수 있습니다.
- 엔지니어들은 실제로 제공된 예제 코드를 읽지 않더라도 코드와 코드 작성 방법에 대해 읽는 것을 즐깁니다.
- 회의, 문서 작성, 테스트, 코드 리팩토링은 모두 엔지니어들에게 시간을 뺏기는 번거로운 요소입니다.
- 엔지니어들은 더 많은 코드를 작성할 수 있는 도구와 기술을 지속적으로 찾고 있으며, 최근 몇 년간 AI 기반 도구들이 등장했습니다.
- 시니어 엔지니어들은 유지보수와 다운타임을 줄이기 위해 코드를 최소화하고 불필요한 코드를 삭제하는 중요성을 깨닫았습니다.
- 시니어 엔지니어들은 복잡한 문제에 대한 우아한 해결책을 중요시하지만, 가치를 제공하지 않는 코드 작성에는 회의적입니다.
- 엔지니어들은 자신들의 코드의 비용과 영향을 염두에 두고, 가능한 경우 기존 솔루션을 활용하는 것이 중요합니다.
- 이 기사에서 묘사된 특징들은 과거의 엔지니어들의 태도를 반영하고 있습니다.
- 이 기사는 해커 뉴스에서 토론을 일으켰습니다.
Hacker News 의견
- 엔지니어들은 다른 사람이 작성한 코드를 싫어하며, 그래서 그린필드 프로젝트에 참여하는 것을 선호합니다.
- 그러나 기존 코드를 유지하는 것을 즐기는 엔지니어들도 있으며, 이는 성공적인 프로젝트에 중요하다고 여깁니다.
- 컨설턴트들도 코드를 싫어하며 종종 처음부터 다시 작성하는 것을 권장합니다. 이는 그들에게 유리한 리스크-수익 균형을 이루기 때문입니다.
- 좋은 엔지니어들은 자신의 작업에 자부심을 가지며, 양보다는 품질을 중요시합니다. 그러나 게으른 또는 서두르는 구현은 코드에 대한 혐오를 유발할 수 있습니다.
- 기존 코드를 수정하는 것과 다시 작성하는 것의 비용 대 이익 분석을 신중히 고려하는 것이 중요합니다.
- 코드를 읽고 해석하는 것은 즐거울 수 있지만, 일관성이 없는 코드는 작업하기 어렵게 만듭니다.
- 선택한 설계 철학과 관계없이 코드의 일관성은 유지 가능성과 변경 용이성에 중요합니다.
- 때로는 엔지니어들이 코드를 싫어한다는 일반화가 투자한 비용을 정당화하는 데 사용되지만, 처음부터 시작하는 것이 최선의 해결책일 수 있습니다.
- 코드에 대한 싫증은 작가들에 비해 프로그래머들 사이에서 더 흔하며, 코드를 읽는 것은 많은 프로그래머들이 소홀히 하는 중요한 실습입니다.
- 엔지니어와 코드의 관계는 파트너 간의 관계와 유사하며, 의사소통과 신뢰가 핵심입니다.
- 엔지니어들은 때로는 자신의 사고 모델에 맞는 추상화를 찾거나 만들지만, 적절한 도구와 팀의 이해의 조합은 드물게 일어납니다.