Skip to main content

왜 엔지니어는 프로그래밍 언어를 합리적으로 선택하지 못할까? – spf13의 통찰을 중심으로

Published 3 min readMarkdown

SEO 키워드: 프로그래밍 언어 선택, 엔지니어 사고 방식, 코딩 생산성


# 서론 – “어떤 언어가 최고인가?” 라는 물음은 왜 이렇게 뜨거운가

소프트웨어 개발 현장에서는 언제나 “가장 좋은 프로그래밍 언어는 무엇인가?”라는 논쟁이 끊이지 않는다.

특히 엔지니어들 사이에서는 자신이 선호하는 언어를 옹호하면서도, 그 이유를 논리적으로 설명하기가 어렵다.

이러한 현상은 spf13이 Reddit에 올린 글 “Why Engineers Can't Be Rational About Programming Languages” 에서도 잘 드러난다. 그는 엔지니어가 언어를 선택할 때 감정·편견·사회적 압력 등에 휘말리며, 순수한 코딩 생산성이나 기술적 적합성보다 다른 요소에 좌우된다고 주장한다.

이번 포스트에서는 spf13의 주장을 바탕으로, 엔지니어가 언어를 합리적으로 판단하지 못하는 네 가지 핵심 원인을 살펴보고, 초보 개발자도 이해하기 쉬운 실용적인 대안을 제시한다.


# 본론

# 1️⃣ 심리적 편향 – ‘내가 사용해 온 언어가 최고’라는 착각

  • 현상: 대부분의 엔지니어는 자신이 오랫동안 사용해 온 언어에 친숙함을 느끼며, 이를 “가장 효율적이다”라고 주장한다.

  • 왜 발생할까?

    • 현상 유지 편향( status‑quo bias ) – 변화를 두려워하고 현재 상태를 유지하려는 심리.

    • 확증 편향( confirmation bias ) – 기존 신념을 강화해 주는 정보만 선택적으로 수용.

  • 초보자를 위한 팁

    • 새로운 언어를 배울 때는 객관적인 지표(예: 실행 속도, 라이브러리 지원, 커뮤니티 규모)를 체크해 보자.

    • “내가 익숙한 언어가 최고”라는 가정을 노트에 적어두고, 반박 근거를 찾아보는 연습을 하면 편향을 인식하기 쉽다.


# 2️⃣ 사회적 압력 – ‘팀 문화’와 ‘시장 트렌드’가 선택을 좌우

  • 현상: 스타트업에서는 “우리 팀은 Go를 쓴다”는 식으로 언어가 팀 문화와 연결된다.

  • 왜 발생할까?

    • 동조 압력 – 팀원과 같은 도구를 쓰면 커뮤니케이션 비용이 낮아진다.

    • 시장 가치 – 구인·구직 사이트에서 특정 언어가 ‘핫’하면, 채용·이직에 유리하다는 인식이 퍼진다.

  • 초보자를 위한 팁

    • 팀 내부 가이드라인을 확인하고, “왜 이 언어를 쓰는가?”에 대한 공식적인 이유를 문서화하도록 제안한다.

    • 개인 프로젝트에서는 다양한 언어를 실험해 보며, “내가 진짜 원하는 언어는 무엇인가?”를 탐색한다.


# 3️⃣ 기술적 복합성 – ‘언어 자체가 아니라 생태계’를 놓치다

  • 현상: 언어 자체보다 프레임워크·라이브러리·툴 체인이 프로젝트 성공에 더 큰 영향을 미친다.

  • 왜 발생할까?

    • 생태계 의존성 – 예를 들어, Python은 풍부한 과학·데이터 라이브러리 덕분에 데이터 분석 분야에서 강세를 보인다.

    • 학습 곡선 – 언어는 비교적 단순해도, 주변 툴이 복잡하면 전체 생산성이 떨어진다.

  • 초보자를 위한 팁

    • 언어를 평가할 때 ‘생태계 점수’를 매겨 보자. (예: 라이브러리 수, 문서 품질, 커뮤니티 활성도)

    • 프로젝트 목표에 맞는 핵심 툴이 이미 존재하는 언어를 우선 고려한다.


# 4️⃣ 감정적 만족감 – ‘코드가 아름다워 보인다’는 주관적 판단

  • 현상: “이 언어는 문법이 예쁘다”, “코드가 읽기 쉽다”는 감정적 평가가 선택에 큰 비중을 차지한다.

  • 왜 발생할까?

    • 미적 만족감은 작업 동기부여와 직결된다. 하지만 이는 개인 취향에 불과하고, 팀 전체의 생산성에는 반드시 일치하지 않는다.
  • 초보자를 위한 팁

    • 코드 리뷰를 통해 실제 동료가 느끼는 가독성을 확인한다.

    • 코드 스타일 가이드를 도입해, 개인적 미감보다 통일된 규칙에 따라 코드를 작성한다.


# 5️⃣ 의사결정 구조 – ‘경영진·프로덕트 팀’의 영향

  • 현상: 기술 리더가 아닌 경영진이 “시장 트렌드에 맞춰 새로운 언어 도입”을 지시한다.

  • 왜 발생할까?

    • 비즈니스 목표(시장 진입 속도, 유지보수 비용 절감 등)와 기술 선택이 직접 연결되면서, 엔지니어의 기술적 판단이 뒤로 밀린다.
  • 초보자를 위한 팁

    • 비즈니스 요구사항과 기술적 요구사항을 매트릭스로 정리해, 양쪽 입장을 동시에 보여줄 수 있는 자료를 만든다.

    • 회의에서 ‘기술 부채’를 수치화해 제시하면, 언어 선택에 대한 합리적인 논의를 이끌어낼 수 있다.


# 결론 – 합리적인 언어 선택을 위한 3가지 액션 플랜

1️⃣ 객관적 평가 기준 만들기

  • 실행 속도, 라이브러리 수, 커뮤니티 규모 등 정량적 지표를 표로 정리하고, 팀 회의에서 공유한다.

2️⃣ 실험 프로젝트 진행

  • 작은 사이드 프로젝트나 프로토타입을 다른 언어로 구현해 보며, 실제 코딩 생산성과 유지보수 난이도를 체험한다.

3️⃣ 편향 인식·공유 문화 조성

  • “우리 팀은 왜 이 언어를 쓰는가?”라는 질문을 정기적인 회고에 포함시키고, 각자의 편향을 노트에 기록하도록 독려한다.

행동을 촉구합니다!

오늘 당장 ‘언어 선택 체크리스트’를 만들고 팀 위키에 올려 보세요. 작은 변화가 엔지니어가 보다 합리적이고 과학적인 선택을 할 수 있는 기반이 됩니다.


위 글은 spf13의 Reddit 글을 한국 개발자 커뮤니티에 맞게 재해석한 것이며, 초보자도 이해하기 쉬운 실용적인 가이드를 제공하고자 작성되었습니다.

No comments yet. Be the first to comment.

More from this blog