AI 시대에 대처하는 신입의 자세

#Essay#취업

AI 블루

취업이 마음처럼 잘 풀리지 않고 있다. 공고 자체도 많이 줄었는데 신입 채용의 비율은 10%도 되지 않는다고 한다. 신입에게 가혹한 시장이다. 이력서를 제출해도 서류 통과조차 어렵다. 몇 사람은 개발자 취업을 포기했다. 마음이 풍선 인형처럼 흔들린다.

작년부터 AI 발전 속도가 특이점을 생각하게 한다. 몇 년 전만 해도 AI가 만드는 코드 품질이 훌륭하지 않았지만 이젠 많은 사람들이 불안을 느끼는 수준이 됐다. 안드레 카파시의 말처럼, 프로그래머로서 이렇게 뒤처진 느낌은 처음이다.

개발자가 사라질 것이라고 생각하지는 않지만, 신입에게 주어지는 기회는 점점 줄어들 것이란 생각이 든다.

점점 높아지는 신입의 조건

AI 발전으로 개발 방법 자체가 바뀌었다. 개발자는 더 이상 코드를 직접 작성하지 않고 터미널로 AI에게 지시한다. AI는 사람보다 빠르게, 지치지 않고 코드를 작성한다. 심지어 팀으로 움직인다.

이제 신입은 코드를 작성할 수 있고 단순한 구현을 할 수 있다는 것만으로는 부족한 시대가 왔다. 구현을 얼마나 잘하는가는 예전 만큼 큰 의미가 없다. AI가 못하는 일도 할 수 있다는 증명이 필요하다.

그런데 증명에 필요한 능력은 무엇이며 또 어떻게 키워야 하는 걸까?

개발자가 모르면 AI도 모르고 아무도 모른다

최근 블로그 리팩토링 작업을 했다. 새로고침 할 때마다 글자가 움찔 바뀌었는데, FOUT 문제라고 생각했다.

폰트 적용을 빠르게 하기 위해 외부 파일을 불러오는 방식이 아닌, 프로젝트 내부의 폰트 파일을 최적화해서 갖고 오는 방식으로 바꿨다. 모든 작업은 AI와 함께 했다. 근데 완성된 코드를 보는 순간 이상한 느낌이 들었다. 처음 보는 CSS 속성이 있었고, 검색해보니 Safari에선 지원하지도 않는 속성이었다.

문제를 처음부터 다시 살펴봤다. 글자 위치가 바뀌는 건 폰트가 원인이 아니었다. 다른 라이브러리 때문이었다. 원래 외부에서 불러오는 폰트 파일도 이미 최적화된 상태였다. 애초에 FOUT 문제가 아니었다.

내가 모르니, AI도 모르고, 아무도 몰랐다. 내가 모호하게 질문한 문제를 AI는 잘못된 방향으로 해결해줬다.

AI는 가끔 진짜 문제를 회피한다

AI에게 문제 해결을 요구했을 때 명확하게 제대로 지시하지 않으면, 근본적인 문제 해결이 아닌 임시 우회하는 가장 쉽고 빠른 방법을 제시한다.

타입을 as로 단언하고, 린트 에러가 나면 규칙을 비활성화하는 주석을 추가한다. 그렇게 회피한 문제를 발견하지 못하면 미래의 기술 부채로 쌓인다.

이걸 위해 요즘은 하네스 엔지니어링 같은 ‘마구’를 채우는 방법과 TDD 도입, 셀프 코드 리뷰 등 많은 방법을 사용하지만, 아직 프로그래밍을 이해하는 사람의 감독을 필요로 한다. 그리고 이 감독을 하기 위해서는 지식이 있어야 한다.

코드를 이해하는 능력, 잠재적인 문제를 인식할 수 있는 능력, 근본적인 문제를 해결할 수 있는 능력.

개발을 계속하려는 이유

부트 캠프를 수료한 뒤 혼자 취업 준비하는 시간이 길어졌다. 다른 동기들은 어떻게 지내는지 궁금해졌다. 몇몇 동기들에게 연락을 돌렸다.

최근 안부도 묻고 부트 캠프 시절의 이야기도 나눴다. 각자 상황과 고민은 달랐지만 대부분 코딩을 포기하지 않았다. 대화를 나누면서 나도 개발을 많이 좋아한다는 사실을 새삼 깨달았다.

내가 개발을 계속하려는 이유는 좋아한다는 이유 하나만은 아니다. 이 일이 내 성향과 꽤 잘 맞는다고 느끼기 때문이다.

나는 생각이 많은 편이고, 이해가 안 가는 일이 있으면 끝까지 파고드는 편이다. 왜 그렇게 동작하는지, 어디서 문제가 생겼는지, 더 나은 방법은 없는지 계속 고민한다. 개발할 땐 이런 성격이 잘 맞는단 생각이 들 때가 많았다.

성향에 맞지 않는 일을 직업으로 삼는 건 스트레스가 심한 일이다. 그런 경험을 해봤기 때문에 더더욱 개발을 쉽게 포기하고 싶지가 않다.

코딩을 배우면서 “가능성이 있다”는 말을 자주 들었다. 이런 말을 들었다고 개발자가 될 수 있는 것은 아니다. 하지만 제대로 도전조차 못하고 포기하면 아쉬움이 오래 남을 것 같다.

내가 할 수 있는 것에 집중하기

AI 발전을 내가 막을 수는 없다. 취업 시장도 내가 통제할 수 없다. 내가 바꿀 수 없는 것들에 낙담하지 않고 내가 할 수 있는 일을 하면 된다.

AI가 발전하면 나는 따라가면 된다. 매일 AI 관련 정보를 찾아보고, 프로젝트에 적용하고 배우면서 AI 활용 능력을 키우고 있다. 처음엔 막막했는데, 이젠 익숙하게 다룰 수 있게 됐다.

그렇다고 AI 결과물을 무조건 수용하지는 않는다. 내가 코드를 전부 이해하고 살펴보고 있다. 부트 캠프 때 코드 리뷰를 많이 했던 게 큰 도움이 됐다. 하네스 엔지니어링과 TDD 도입 같은 것들을 하면서 AI가 문제를 우회하지 않도록 검증하는 습관을 들이고 있다.

기록도 꾸준히 하고 있다. 매일 플래너를 작성하면서 어떤 개발을 했는지, 무엇을 공부했는지 적고 있다. 기록은 큰 도움이 된다. 내가 어떤 일에 너무 매몰되진 않았는지, 방향을 잘못 잡고 있진 않았는지 객관적으로 점검할 수 있게 된다.

앞으로도 만들어보고 싶었던 것들을 하나씩 만들어볼 생각이다. 내가 필요하다고 느꼈던 것들, 언젠간 직접 구현해보고 싶었던 것들을 실제 서비스나 프로젝트로 해볼 생각이다.

결국 내가 할 수 있는 건 계속 배우고, 만들고, 기록하는 거다. 기회가 오면 잡을 수 있도록.