F-Lab
🚀
취업/이직이 고민이신가요? 합격에 필요한 모든 것을 도와드립니다.
🚀
취업/이직이 고민이신가요? 합격에 필요한 모든 것을 도와드립니다.

소프트웨어 개발에서의 좋은 취향_Elkein 멘토님

writer_thumbnail

F-Lab : 상위 1% 개발자들의 멘토링

안녕하세요. 효율과 유연한 판단과 행동을 지향하는 실용주의 프로그래머 Elkein입니다.


개요


누구나 취향을 가지고 있다.

‘개취’, ‘취존’ 같은 말이 유행할 만큼, 취향은 존중받아야 하는 가치로 여겨지고 있다.
나 역시 이 흐름에 공감하며, 남들이 이해하기 어렵거나 모호하게 느낄 수 있는 취향을 가지고 있다.

하지만 취향으로 인한 충돌은 생각보다 자주 발생한다. 특히 개발은 협업이기에, 협업 과정에서 개인의 취향이 여러 문제를 낳는 경우를 겪거나 목격하기도 했다.

그러던 중 What is "good taste" in software engineering?라는 글을 읽게 되었고, 많은 생각을 하게 되었다.




좋은 취향

 

해당 글에서는 프로젝트의 특성을 기준으로 선택하는 것이 ‘좋은 취향’이라고 정의한다.

하지만 문제는 프로젝트의 특성보다 앞서, 엔지니어링에서 흔히 강조되는 일반적 가치관(클린 코드, 성능, 테스트 커버리지 등)만이 높은 우선순위로 여겨지는 경우가 많다는 점이다.

이에 대해 이야기해보고자 한다.

 

옳고 그름은 하나가 아니다


원글에서는 다소 극단적으로 “미숙한 엔지니어는 자신의 취향에 고집을 부린다”고 표현했지만, 여기서 말하는 미숙함은 실력 부족이 아니라는 점을 분명히 했다. 나 역시 이 의견에 공감한다.

실제로 중요한 것은 실력이 아니라 유연함이다.

즉, 성향을 바꿀 수 있는가, 협업 능력이 있는가, 개인적 취향을 배제하고 프로젝트에 맞는 판단을 할 수 있는가의 문제다. 나는 이것을 ‘미숙함’보다는 ‘부족한 유연함’이라 표현하고 싶다.

그렇다고 해서 유연함이 항상 좋은 것일까? 결정권자가 되었을 때조차 유연함을 잃는 경우는 비일비재하며, 나 역시 리드 역할을 맡았을 때 부단히 노력했음에도 누군가는 내가 유연하지 못했다고 느꼈을지도 모른다.

그럼에도 불구하고, 흑백 논리나 하나의 방법만 옳다고 보는 태도, 지나치게 확고한 취향은 내려놓을수록 더 좋은 개발자가 된다고 생각한다.

적어도 나에게는, 유연하게 다양한 가치를 고려할 수 있는 개발자가 좋은 개발자라는 점이 명확해졌다.

 

프로젝트 특성에 따른 가치 부여


소규모 스타트업

만약 내가 속한 조직이 스타트업이고, 제품이 회사의 사활이 걸린 상태라면 아키텍처, 클린 코드, 성능보다 중요한 것은 릴리즈 일정과 핵심 기능일 것이다.

부차적인 기능이나 디테일도 중요하지만, 우선순위는 낮아질 수밖에 없다.

이 과정에서 모객을 위한 임시 기능이나 임시 코드는 제품 상황에 따라 오히려 높은 우선순위가 될 수도 있다.



수십만 사용자가 있는 서비스

이미 수십만 명이 사용 중인 서비스라면 안정성이 큰 가치로 올라간다.

이는 곧 제품에 충분한 고객층이 확보되었다는 뜻이며, 빠른 출시보다 안정적인 업데이트가 더 중요해진다.

물론 릴리즈 일정을 무한정 늦추면서까지 안정성을 추구하라는 것은 아니지만, 안정성을 해칠 수 있는 리스크 큰 기능은 가치 판단에서 큰 영향을 미치게 된다.

 


대규모 서비스

수천만 이상의 사용자가 있는 대규모 서비스는 상황이 다르다.

이런 서비스는 대개 사용자가 콘텐츠를 생산하고 소비하거나, 이미 안정적인 규칙과 형태로 제공되는 경우가 많다. 따라서 안정성은 압도적으로 중요한 가치가 된다.

여기에 더해 유지보수 비용 절감을 위한 코드 품질(클린 코드, 아키텍처)이나 성능 최적화, 운영 비용 절감을 위한 선택도 필수적이다.



 

그래서 어떻게 하는 것이 좋은가?


결국 중요한 것은 설득할 근거다.

동료, 상사, 결정권자와 논의할 때는 개인의 취향이 아니라, 제품의 상황에 맞는 가치 비교와 판단 근거를 제시해야 한다.

이는 곧 좋은 취향과도 연결된다.

 

 

학습의 관점


학습도 이와 다르지 않다.

유행을 따라 학습 목표를 세우거나, 이해는 안 되지만 언젠가 필요할 것 같아 선택한 주제는 실제로 큰 도움이 되지 않을 수 있다. 단기·장기 목표 어디에도 기여하지 못할 가능성이 크다.

특히 경험이 부족한 주니어에게는 유행하는 아키텍처나 설계를 깊이 소화하기 어렵다.
그럼에도 유행에 휩쓸려 학습 목표를 실습과 경험보다 멀리 두는 것은 효율이 낮은 경우가 많다.

물론 실습과 경험을 쌓으면서 아키텍처나 설계에 관심을 넓혀가는 것은 의미 있지만, 자원 분배 측면에서는 효율을 고려해야 한다.

따라서 자신의 선택이 합리적인지, 여러 가치를 비교하며 판단하는 습관을 들이는 것이 중요하다.


 

마치며


우리는 프로젝트 단위의 큰 결정뿐 아니라, 개발 과정에서 수많은 작은 결정을 내린다.
이러한 선택 하나하나가 모여 나의 역량, 성향, 통찰을 형성한다고 생각한다.

매 결정마다 고민과 이유를 기록하고 회고하는 과정을 거듭하다 보면, 불필요한 고집이나 개인 취향에서 벗어나 보다 합리적인 사고를 할 수 있다.

그리고 이는 결국 좋은 개발자로 성장할 수 있는 중요한 계기가 될 것이다.

ⓒ F-Lab & Company

이 컨텐츠는 F-Lab의 고유 자산으로 상업적인 목적의 복사 및 배포를 금합니다.

조회수

지금 진행중인 멘토링 코스

궁금한 포지션을 알아보세요

  • 코스 이미지자바 백엔드 + AI

    아키텍처 설계와 대용량 트래픽 처리 능력을 깊이있게 기르는 개발자 성장 과정

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지노드 백엔드 + AI

    아키텍처 설계와 대용량 트래픽 처리 능력을 깊이있게 기르는 개발자 성장 과정

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지파이썬 백엔드 + AI

    파이썬과 백엔드 분야를 깊게 파면서 대규모 서비스를 튜닝하는 개발자로 성장

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지MSA 백엔드 + AI

    MSA를 겉핥기로 사용만 해보는 것이 아니라 깊게 이해하고 활용할 수 있는 개발자로 성장

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지프론트엔드 + AI

    언어와 프레임워크, 브라우저에 대해 탄탄한 이해도를 깊이있게 기르는 성장 과정

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지안드로이드 + AI

    아키텍처 설계 능력과 성능에 대한 경험을 갖추기 위해 깊이있게 학습하는 성장 과정

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지iOS + AI

    언어와 프레임워크, 모바일 환경 자체에 대한 탄탄한 이해도를 갖춘 개발자로 성장

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지플러터 + AI

    의존성 관리와 네이티브 레벨까지의 깊이 있는 지식을 학습하는 과정

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지리액트 네이티브 + AI

    의존성 관리와 네이티브 레벨까지의 깊이 있는 지식을 학습하는 과정

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지데브옵스

    단순 시스템 관리자가 아닌, 대규모 환경에서 인프라를 운영할 수 있는 엔지니어로 성장

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지데이터 엔지니어 + AI

    대규모 데이터를 다룰 수 있는 고급 데이터 엔지니어로 성장하는 과정

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지머신러닝 엔지니어

    ML 모델을 개발하고, 대규모 환경에서 서빙할 수 있는 고급 ML엔지니어로 성장

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지게임서버

    고성능 게임 서버를 구축할 수 있는 개발자로 성장할 수 있는 코스

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지게임 클라이언트

    대규모 고성능 게임을 만들어낼 수 있는 고급 C++ 게임 엔지니어로 성장하는 과정

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
  • 코스 이미지해외취업

    막연한 해외 취업의 꿈을 해외 재직 중인 빅테크 출신 개발자와 현실로 만드는 과정

    • 1:1 멘토링
    • 3~4개월
    • 연장 가능
F-Lab
소개채용멘토 지원
facebook
linkedIn
youtube
instagram
logo
(주)에프랩앤컴퍼니 | 사업자등록번호 : 534-85-01979 | 대표자명 : 박중수 | 전화번호 : 1600-8776 | 제휴 문의 : info@f-lab.kr | 주소 : 서울특별시 종로구 돈화문로88-1, 3층 301호 | copyright © F-Lab & Company 2025