Presentation: The Future of Engineering: Mindsets That Matter When Code Isn’t Enough

InfoQ · 2026.07.31

코드가 자동화되어도 살아남는 엔지니어의 사고방식

자동화 도구가 빠르게 발전하면서 "코드를 잘 짜는 것"만으로는 충분하지 않은 시대가 되었다. 스타트업 현장에서 실제로 팀을 이끌고 제품을 만들어온 Ben Greene은 이 변화 속에서 엔지니어가 어떤 사고방식을 가져야 생존하고 성장할 수 있는지를 명확하게 제시한다. 4년차 이상의 시니어 개발자라면 기술 숙련도를 넘어 이러한 사고의 전환이 더욱 중요하게 요구된다.

단순하게 시작하고, 코드를 끝까지 이해하라

복잡한 아키텍처와 추상화는 매력적으로 보이지만, 초기부터 과도한 설계를 도입하는 것은 팀의 속도를 떨어뜨리고 유지보수 부담을 키운다. Greene이 강조하는 첫 번째 원칙은 **단순하게 시작하기(Start Simple)**다. 문제를 가장 작고 명확한 단위로 쪼개어 먼저 동작하는 것을 만들고, 필요할 때 확장하는 접근이 실무에서 훨씬 유효하다.

두 번째 원칙은 **코드 이해도 유지(Maintain Code Comprehension)**다. 자동화 도구가 코드를 생성해주더라도, 그 결과물이 왜 이렇게 동작하는지를 이해하지 못하면 장애 대응과 성능 튜닝에서 판단력을 잃는다. 시니어 엔지니어에게 코드 리뷰와 내부 동작 파악은 선택이 아닌 필수다.

// 복잡한 추상화 대신, 명확한 의도를 드러내는 단순한 구조 우선
public OrderResult placeOrder(OrderRequest request) {
    validate(request);
    Order order = createOrder(request);
    return confirm(order);
}

어려운 문제를 먼저 해결하고, 고객 임팩트에 집중하라

많은 개발자들이 쉬운 태스크부터 처리하며 생산성을 체감하려 한다. 하지만 Greene은 반대로 **가장 어렵고 불확실한 문제를 먼저 공략(Attack Hard Problems First)**하라고 조언한다. 쉬운 작업은 나중에도 빠르게 처리할 수 있지만, 핵심 난제를 뒤로 미루면 프로젝트 후반에 치명적인 리스크가 된다. 스타트업에서 특히 이 원칙은 생사를 가를 수 있다.

또한 **고객 임팩트 중심의 사고(Customer Impact Focus)**는 기술적 완성도와 비즈니스 가치를 연결하는 역량이다. 어떤 기능이 실제 사용자에게 의미 있는 변화를 가져오는가를 항상 기준으로 삼아야 한다. 4년차 이상의 개발자라면 기술 결정이 제품과 사용자에게 미치는 영향을 스스로 판단하고 설명할 수 있어야 한다.

인간 고유의 역량이 대체 불가한 이유

코드 생성이 자동화되더라도, **공감 능력(Empathy)**과 **주도성(Agency)**은 기계가 대신할 수 없다. 팀원의 맥락을 이해하고, 고객의 불편함을 직관적으로 파악하며, 불확실한 상황에서 스스로 판단하고 행동하는 능력은 경험과 태도에서 비롯된다. 시니어 엔지니어일수록 이 역량이 팀 전체의 성과에 직접적인 영향을 미친다.

실용적 문제 해결(Practical Problem-Solving) 역시 핵심이다. 도구와 기술이 넘쳐나는 환경에서 무엇을 언제 쓸지를 결정하는 판단력, 그리고 완벽한 솔루션보다 지금 당장 동작하는 해결책을 선택할 수 있는 실용성이 고성과 엔지니어를 구분 짓는다.

정리

  • 단순하게 시작하고 코드의 내부 동작을 직접 이해하는 습관은 자동화 시대에도 엔지니어의 판단력을 지킨다
  • 어려운 문제를 먼저 해결하고 고객 임팩트를 기준으로 우선순위를 정하는 사고가 시니어 역량의 핵심이다
  • 공감, 주도성, 실용적 문제 해결은 자동화가 대체할 수 없는 인간 엔지니어의 본질적 가치다
Source
InfoQ
원문 보기 →
← 목록으로 돌아가기