언제나 꽃길을 걷고 이슬만 마시는 게 사랑이 아닙니다. 그런 사랑은 오래 가지 못합니다. 평범한 일상의 삶 속에 잘 녹아든 사랑이어야 오래 갑니다. 가장 '사소한 일'에서도 지축을 흔드는 기쁨을 찾아내며 함께 일구어가는 사랑이 진짜 사랑이고 오래 갑니다.
- 고도원, 박덕은의 《당신이 행복하면 나도 행복하다》 중에서 -
* '우리의 사랑은 영원하다.' 진실한 고백일지라도 지키기는 어렵습니다. 그러나 가능한 일입니다. 영화의 주제가 되곤 하는 생을 뛰어넘는 천년의 사랑은 자신의 기쁨을 추구하는 사랑이 아닙니다. 상대를 위해 목숨을 버리면서까지 지켜주고 싶은 헌신적인 사랑입니다. 그 마음으로 오늘 이 순간에 기쁨으로 사랑하면 천년의 사랑, 영원한 사랑으로 이어질 수 있습니다.
병이 있으니 운동한다고 생각하게 되면, 내 잠재의식 속에 병이 자리 잡게 됩니다 아무리 몸에 좋은 운동을 하더라도 병이란 잠재의식이 방해꾼처럼 훼방을 놓아 운동 효과를 쓸모없게 만듭니다. 그러니 운동할 때는 어떤 운동이라도 좋아하는 걸 골라서 하세요. 마음은 놀이나 게임하듯 즐겁게 가지고요.
- 전홍준의 《보디 리셋》 중에서 -
* 병이 있으니 운동을 한다? 그러면 늦습니다. 싫어하는 운동을 억지로 한다? 그것도 옳지 않습니다. 운동은 일이나 노동이 아닙니다. 일과 노동은 고되고 피곤하지만 놀이는 지치지 않고 즐겁습니다. 시간 가는 줄 모르고, 돈을 써가면서 하는 것이 놀이입니다. 운동도 놀이처럼 하면 다가오던 병도 물러납니다.
축(軸)은 바퀴를 굴리는 중심입니다. 축이 부실하거나 틀어져 있으면 가다가 멈추거나 엉뚱한 방향으로 구릅니다. 5세 이전, 인생 첫 번째 축의 핵심은 '어휘'입니다. 누구에게서 어떤 말을 듣고 새기느냐에 따라 삶의 목표와 방향이 결정됩니다.
- 고도원 박덕은의 《당신이 행복하면 나도 행복하다》 중에서 -
* 축은 수레의 중심이면서 바퀴를 다스립니다. 축이 견고해야 수레가 힘을 쓸 수 있습니다. 인생의 축은 어린 시절 다져집니다. 특히 '어휘'는 그 모든 것에 앞서는 인생의 축입니다. 엄마 아빠의 어휘력과 독서습관에 따라 아이들의 어휘 실력은 천차만별입니다. 이때 형성된 축이 아이들의 평생을 좌우합니다. 굴곡지고 험난한 길을 고장 없이 잘 굴러갈 수 있습니다.
생성형 AI가 지루한 작업을 처리하고 오류를 찾는 데 능숙하더라도 프로그래머의 전문성과 직관은 항상 필요할 것이다.
데이터셋(Datasette)의 설립자사이먼 윌리슨은 “지금이 프로그래밍을 배우기에 더할 나위 없이 좋은 시기”라고 말했다. AI가 코딩을 대신 해줘서가 아니다. 사실 정반대다. 그는 “대규모 언어 모델은 학습 곡선을 평평하게 만들어 젊은 개발자가 더 쉽게 따라잡을 수 있게 해준다”라고 말했다. 코딩하는 방법을 잊어서는 안 되지만, 생성형 AI를 사용해 경력 수준에 관계없이 개발자 경험을 강화할 수 있다.
‘배움에 대한 의지’를 예찬 필자는 생성형 AI에 대한 윌리슨의 견해를 살피는 것을 즐긴다. 그는 이 주제를 사려 깊게 생각하는 개발자다. 오라일리(O'Reilly Media)의마이크 루키데스글도 큰 주제에서 핵심을 압축해 설명했기 때문에 읽어볼 만하다. 루키데스는 생성형 AI와 코딩에 대해 “정말 좋은 프롬프트를 작성하기란 생각보다 어렵다”라는 점을 상기시켜 준다. 그는 “프롬프트를 잘 작성하려면 프롬프트의 목적에 대한 전문 지식을 쌓아야 한다”라고 말했다. 다시 말해, 먼저 ‘좋은’ 프로그래머가 돼야 한다.
루키데스는 “AI를 '인간이 얻을 수 없는 전문 지식과 지혜의 보고’로 생각해버리면 이를 생산적으로 사용할 수 없게 된다”라고 조언했다. AWS 코드위스퍼러(CodeWhisperer)나 구글 코디(Codey)와 같은 도구를 효과적으로 사용하기 위해서는 기대하는 결과물을 코칭해야 한다. 그리고 AI에게 개발 문제를 해결하는 방법을 단계별로 알려주려면, 먼저 문제를 깊이 이해하고 AI가 응답하도록 이끌어내야 한다.
또한 개발자는 AI가 틀렸을 때이를 평가할 수 있어야 한다. 여기엔 일정 수준의 전문성이 필요하다. 윌리슨이 언급한 것처럼 코딩 어시스턴트가 프로젝트에서 더 활발히 일하고 도와줄 것으로 기대되는 상황이지만, 그렇다고 해서 개발자가 코드를 파악해야 할 필요성까지 없애주진 않을 것이다. 그렇게 되기를 바라는 이도 없을 것이다. 다시 윌리슨의 첫 번째 요점으로 돌아가 본다.
AI를 활용한 코딩 학습 특정 언어, 프레임워크, 데이터베이스 등을 처음 접하는 개발자라면 학습 곡선이 가파를 수 있다. 예를 들어 “세미콜론을 놓쳐서 기이한 오류 메시지가 표시되고, 그 오류를 다시 찾는 데 2시간이 걸리는 경우도 있다”라고 윌리슨은 말했다. 당연히 이러한 점 때문에 학생들은 자신이 프로그래밍을 배울 만큼 똑똑하지 않다고 생각해 배움을 포기할 수 있다.
바로 이 부분에서 AI 어시스턴트가 개입할 수 있다. 윌리슨은 “컴퓨터공학 학위가 없어도 컴퓨터가 지루한 일을 대신 해줄 수 있어야 한다”라고 전했다. 챗GPT 같은 LLM 기반 어시스턴트는 지루한 작업을 자동화할 수 있다. 깃허브(GitHub) 엔지니어자나 도건은 “사람들은 코드 생성에만 너무 집중한 나머지 LLM이 코드 분석에 유용하다는 사실을 완전히 잊고 있다”라고 강조했다. 모든 작업을 AI가 할 필요는 없다. 윌리슨의 주장에 따르면, 애플리케이션을 만들거나 망치지는 않으나 개발자의 자신감을 떨어뜨릴 수 있는, 개별적이고 지루한 작업을 자동화하는 데 AI를 활용할 수 있다. 코딩 어시스턴트가 지루한 작업을 처리할 수 있음에도 개발자가 프로그래밍의 모든 측면을 배우고 수행할 것을 요구받는 경우에 더 그렇다.
언제나 그렇듯 생성형 AI와 함께 소프트웨어 개발을 시작하는 가장 좋은 방법은, 바로 시작하는 것이다. 이해는 했지만 반복해서 작성할 필요는 없는 간단한 작업부터 자동화해 작게 시작하라. 이렇게 절약한 시간으로 더 까다로운 코딩 문제를 해결하는 방법을 배우는 데 집중할 수 있다. 전문성이 높아지면 이러한 작업도 자동화할 수 있게 될 것이다.