0. Introduction
챗GPT의 등장과 업그레이드 된 버전 4로 인해 AI를 반기면서도 불안이 엄습하기도 한다. 처음 챗GPT 3.5를 접했을 때는 절대 빠른 시일 내에 대체되지 않을 것이다 라는 생각이 들었지만, 4로 업그레이드되기까지 걸린 시간과 성능, 정확성을 보았을 때 '정말 이 직업군은 안전할까?' 라는 의구심과 불안감이 처음 들었다. 물론 프론트엔드 개발자가 모두 대체되는 경우는 없겠지만, 알고리즘과 코딩을 AI가 하고 그 정확성까지 높아지는 날에는 프론트엔드 개발자가 하는 일들이 과연 그 때도 개발일까? 하는 질문이 떠올랐다.
그러던 중 하나의 글을 우연히 보게 되었고, 그 글이 내가 고민하던 것들에 대해 어느정도 답을 주었다. 주위 선후배들과 공유하고 싶었는데 영어 블로그이고 길이도 길기 때문에 이 곳에 번역 겸 요약을 적으려 한다.
LINK HERE
https://drublic.de/blog/ai-future-of-frontend-engineering?utm_source=tldrnewsletter
1. AI와 Sigmoid Curve

Tom Scott이라는 사람이 AI가 Sigmoid Curve의 시작점에 있을 지도 모르겠다는 발언을 했다. 무슨 뜻이냐면, AI가 폭발적으로 성장하는 시기가 곧 올 수도 있다는 뜻이다. 가령, Napster가 CD시장을 무너뜨리고 스트리밍 시장을 개척한 것 처럼, Sigmoid Curve는 하나의 산업을 붕괴시킬 수 있고 AI가 Sigmoid Curve를 만들기 시작했다면, 개발자들이 지금 일하는 방식을 상당하게 바꿀 수 있다. 심지어는 몇 공학 분야를 없앨 수도 있을 지 모른다.
AI를 이용한 툴들이 보편화되면서 우리가 예상할 수 있는건 페이지를 만들거나, 컴포넌트를 만드는 일들의 자동화이다. 그러나 개발자들이 그러한 일들에서 손을 뗀다기 보다는, 게이트키퍼로써 아웃풋들을 핸들링하고, AI툴들을 "잘" 활용하는 역할을 맡게 될 것이다.
또한, 이에 따라 개발자들의 업무는 문제 해결/결정(Decision-making)에 집중하게 될 것이다.
결론적으로, 개발자들은 더 빨리 가치를 창출하기 위해, AI 툴들을 효율적으로 사용하고 워크플로우에 통합할 수 있는, 그러한 새로운 능력들을 가져야 할 것이다.
2. AI와의 엔지니어의 역할
1. 콜라보레이션: AI와 함께 일하기
첫째, 엔지니어들은 AI로 작업하고 원하는 출력을 생성하기 위한 올바른 명령문/요구문(prompts)을 만드는 능력을 가져야 한다.
그러나 여기서 염두해야 할 점이 있다면, 결국 AI의 아웃풋이 얼마나 좋은지는 데이터에 달려있다. 그래서,
2. 판단: AI의 아웃풋 제어하기
두번째, AI가 산출한 결과를 제어하는 것이 개발자들의 중요한 역할이 될 것이다. 맥락에 따라 아웃풋을 맞춤 조절하며(tailor) 써야 원하는 결과를 얻을 수 있다. 또한, 지금은 프론트엔드 프레임워크를 이해하는 것이 중요하지만, 미래에는 상세한 머신러닝 툴들을 아는 것이 더 중요해 질 것이다.
예를 들면, 컴포넌트들이 하나의 디자인 시스템에 생성이 되었을 때, 개발자들은 하나의 버튼에 대해 변형을 해야하고, 어떤 변형이 필요한가를 맥락에 따라 평가해야 한다. 또한 버튼을 눌렀을 때 일어나는 일이 잘 매핑되었는지 확인하는 것도 엔지니어의 몫이 될 것이다.
한 마디로 하면, 개발자는 AI 툴들과 만들려는 최종 결과물 사이에서의 다리역할이 되는 것이다.
3. 비판적 사고: 더 높은 레벨의 작업에 집중하기
엔지니어들은 또한 비판적 사고나 의사 결정(decision-making)를 필요로 하는 높은 레벨에서의 작업들에 더 집중할 것이다. 더 평범하고 반복적인 작업이 자동화되면서, 엔지니어들은 더 복잡한 문제들(challenges)에 집중하고, 개인의 기술과 전문 지식을 사용해 더 중요한 문제를 해결하는 것이 개발자의 역할이 될 것이다. (UX 디자이너와 프론트엔드 엔지니어의 역할이 더 가까워질 것이라는 것을 의미하기도 한다.)
4. 맞춤형 솔루션: AI 통합
바로 위에서 다뤘던 "더 높은 레벨의 작업에 집중하기"에는 복잡한 시스템을 설계하고, 사용할 가장 적절한 도구와 기술을 평가 및 선택하며, 성능과 확장성을 최적화하는 것과 같은 작업이 포함된다. 이에 따라 개발자들은 AI를 이러한 시스템에 통합하고, 다양한 AI 도구와 기술의 잠재적 영향과 이점을 평가하고, 특정 요구를 충족시키기 위한 맞춤형 솔루선을 개발하는 방법을 이해해야 한다.
5. 윤리적 책임감: 항상 윤리적으로 AI를 사용하기
마지막으로, 개발자들이 앞으로 더 신경써야 할 영역은 AI의 윤리적 사용이다. AI 툴이 편견 또는 차별적인 컨텐츠를 생성할 수 있다는 것을 인지하여야 하고 그 컨텐츠들을 완화해야한다. 덧붙여, 그 컨텐츠들은 윤리적 기준과 모범 사례에 부합하는 방식으로 사용되도록 해야 한다.(유저들의 데이터를 불특정 다수에게 보일 수있는 컨텐츠를 만드는 것? 같은게 하나의 예가 될 수 있을 듯?)
3. 결론
결론적으로, 미래의 개발자들은 매우 숙련되고, 다재다능하고, 적응력이 있어야 하며, AI 도구와 협력할 수 있는 동시에 그들의 독특한 전문 지식과 관점들을 일에 끌어오고 적용할 수 있어야 할 것이다. 궁극적으로, 혁신을 만들고, 생산성을 향상시키고, 보다 효과적이로 효율적인 프론트엔드 개발 워크플로우를 만드는 것이 그들의 최종 목표가 될 것이다.
또한, 프론트 개발에 있어 인간적 요소는 결코 기계에 의해 대체되지 않을 것을 유의하면 좋겠다. AI의 강점은 작업의 자동화에 있는 것이기 때문에, 창의력, 발명, 독창성 등과 같은 것들을 대체할 수는 없다. 그리고 새로운 기술들을 포용하면서 자신만의 독창적인 비전에 충실하는 것이 좋을 것이다.
P.S
아티클은 지금 여기에 번역된 것 보다 훨씬 긴 분량이고(두-세배) 이 곳에 담기지 않은 정보로는 AI의 3 단계, 디자인 시스템에 관한 이야기, 왜 이런 미래를 향해 노력해야하는지 등이 있다. 관심이 있다면 링크를 통해 번역기를 이용해서 읽어보면 좋을 것 같다.
'etc > news' 카테고리의 다른 글
| 리액트의 방향성(The New Direction of React.js) (0) | 2023.04.17 |
|---|