AI가 개발자를 대체한다? 현업에서 보면 전혀 다른 이야기

 요즘 AI 관련 광고를 보면 공통된 메시지가 있다. “이제 개발자 필요 없다” “AI가 대신 다 만들어준다” 처음 보면 맞는 말처럼 들린다. 코드도 만들어주고, 수정도 해주고, 심지어 앱도 만든다고 한다. 그런데 실제 개발 현장에서 보면 이야기가 완전히 다르다. AI는 분명히 빠르다. 간단한 기능이나 화면 정도는 금방 만들어준다. 검색보다 빠르고, 기본 코드 작성도 훨씬 편해졌다. 문제는 그 다음이다. 실제 서비스는 단순히 “코드가 돌아간다”로 끝나지 않는다. 로그인, 결제, 데이터 처리, 오류 대응까지 들어가는 순간 상황이 완전히 달라진다. 예를 들어 이런 경우가 있다. 기능은 정상적으로 동작하는데 특정 상황에서만 데이터가 저장되지 않는다. 또는 결제는 됐는데 DB에는 기록이 안 남는다. 이런 문제는 AI가 해결해주지 않는다. 오히려 원인을 찾는데 더 시간이 걸리는 경우도 많다. 그리고 더 중요한 건 따로 있다. 고객은 “코드”를 원하는 게 아니다. “문제가 없는 서비스”를 원한다. AI는 코드를 만들어준다. 하지만 구조를 설계하고, 예외를 고려하고, 문제가 생겼을 때 책임지는 건 사람이 해야 한다. 그래서 현업에서는 이렇게 말한다. AI는 도구다. 좋은 도구인 건 맞지만, 개발자를 대체하는 수준은 아니다. 오히려 반대다. AI 덕분에 개발 속도는 빨라졌지만 검수와 안정성의 중요성은 더 커졌다. 결국 개발자의 역할은 사라지는 게 아니라 조금씩 바뀌고 있다. 코드를 직접 다 치는 사람이 아니라 전체를 이해하고 문제를 해결하는 사람이 더 중요해지는 방향이다. 정리하면 이렇다. AI는 코드를 만들어준다. 하지만 서비스를 완성하는 건 여전히 사람이다.

“location.href vs replace 차이 때문에 삽질한 이야기”

 하이브리드 앱을 개발하면서 단순한 페이지 이동 로직을 만들었다.

버튼을 누르면 location.href로 다른 페이지로 이동하고,
이전 버튼을 누르면 다시 돌아오는 구조였다.

웹에서는 이전 버튼을 자주 사용하지 않기 때문에
이 부분을 깊게 테스트 해 본적이 없다.

그런데 하이브리드 앱(WebView)에서 테스트하는 순간
문제가 바로 드러났다.

뒤로가기를 누르면 이전 페이지로 돌아가는 것이 아니라
같은 페이지를 계속 반복하면서
무한루프처럼 동작하기 시작했다.

처음에는 WebView 문제라고 생각했다.
하지만 원인은 location.href와 히스토리 스택 구조였다.

location.href로 이동할 때마다
히스토리에 페이지가 계속 쌓이고
뒤로가기를 눌렀을 때 페이지가 다시 로드되면서
이동 스크립트가 또 실행되는 구조가 만들어진 것이다.

흐름은 이렇게 반복된다.

A 페이지 → location.href → B 페이지
B 페이지 → 뒤로가기 → A 페이지
A 페이지 로드 → location.href 실행 → B 페이지

이 과정이 계속 반복되면서
하이브리드 앱에서는 뒤로가기 무한루프가 발생한다.

웹에서도 발생하는 문제지만
하이브리드 앱에서는 시스템 하단의 뒤로가기 버튼이 존재하기 때문에
이 문제가 훨씬 쉽게 드러난다.

특히 Android 물리 백버튼이나
iOS 제스처 뒤로가기와 결합되면
사용자는 앱이 고장난 것처럼 느끼게 된다.

해결 방법은 간단하다.

첫 번째는 location.href 대신
히스토리를 남기지 않는 location.replace를 사용하는 것이다.

location.replace('pageB.php');

이렇게 하면 히스토리가 쌓이지 않아
뒤로가기 루프가 발생하지 않는다.

두 번째는 자동 이동 로직이 한 번만 실행되도록
조건을 추가하는 방법이다.


if (!sessionStorage.getItem('moved')) {
    sessionStorage.setItem('moved', '1');
    location.href = 'pageB.php';
}

이렇게 하면 뒤로가기로 돌아왔을 때
다시 이동하지 않는다.

하이브리드 앱에서는 단순한 location.href 이동도
히스토리 스택을 반드시 고려해야 한다.

웹에서는 잘 드러나지 않던 문제가
하이브리드 앱에서는 바로 사용자 경험 문제로 이어질 수 있다.

댓글