실직 사유: AI가 더 코딩 잘함..?

박형석·2023년 4월 27일
0
post-thumbnail

이 글은 드림코딩의 엘리의 영상에서 영감을 받아 작성된 글입니다.

🤖 AI 시대에 개발자가 살아남는법


유튜브 영상을 보다가 Chat GPT로 코딩을 하는 영상을 본 적이 있습니다. 저는 그 영상을 보고 신기한 느낌을 받기 보다는 충격을 받았었죠...

"내가 처음 개발을 배울 때 힘겹게 만든 게시판 기능을 저 텍스트로 대화를 할 수 있는 AI가 몇초만에 만들어 내네..."

정말 저는 웃을 수가 없었습니다. 저와 같은 마음을 가진 개발자 분들도 적지않게 있을 것 같다는 생각이 들어요...


🥲 개발자가 정말 일자리를 잃을까??

개발자가 정말 코드로 이루어진 인공지능한테 일자리를 빼앗길 수 있을까요?? 이것 저것 따져보면서 한번 같이 생각해보는 시간을 가져봅시다.

지금 우리는 4차 산업혁명의 시대에 살고 있습니다.

  • 1차 산업혁명: 증기기관 기반의 기계화 혁명
  • 2차 산업혁명: 전기 에너지 기반의 대량생산 혁명
  • 3차 산업혁명: 컴퓨터와 인터넷 기반의 지식정보 혁명
  • 4차 산업혁명: 빅데이터, AI, IoT 등의 정보기술 기반의 초연결 혁명

1차 산업혁명 당시 많은 수작업 노동자들이 기계에 의해 직업을 잃었습니다. 이에 대한 반발도 심했었죠. 하지만 기계로 인한 생산력 증가는 운송업, 공장 노동자들이 대거 필요해졌습니다.

기계화의 발전으로 전기의 생산력도 높아지면서 공장은 더 높은 생산력을 가지게 되었습니다. 여담으로 헨리포드가 자동차 생산에 컨베이어 벨트를 적용하여 다량의 양산차를 찍어내며 "자동차 왕"이라는 타이틀도 얻었죠

이처럼 산업혁명이 일어날 때마다 수많은 형태의 직업과 일이 생겨나도 없어지는 현상이 일어났죠. 그렇다면 저와 같은 개발자의 직업도 없어지고 인공지능 관련 직업이 떡상 할까요??


우선, 개발자라는 타이틀을 가진 사람들을 정의 해볼까요?
개발자는 "무엇인가를 보다 쓸모 있거나 향상된 상태로 변화시키는 행위"라고 위키백과에 적혀있습니다.

왜 저런 정의가 나왔는지 생각을 해 보면 "문제 해결"을 위해서라는 결론이 나왔습니다. 흔히 개발자를 "문제를 해결하는 사람"이라고 불리는 이유이기도 합니다.

그럼 개발자는 어떤 일을 할까요?


👩🏻‍💻 개발자가 하는 일

  • 코드작성, 기능 구현
  • 테스트코드 작성, 리팩토링
  • 멘토링, 코드리뷰
  • 다른 팀과 협업을 위한 의사소통
  • 우선순위별 로드맵 정의
  • 기능별 명확한 명세서 작성
  • 비즈니스 니즈와 모델에 대한 이해
  • 도메인 지식 습득과 기술 선택
  • 필요한 기능 및 정의
  • 효율적인 아키텍처 구상
  • 등등..

이처럼 개발자가 하는 일은 정말 많습니다. 개발자의 정말 중요한 일은 문제를 인식하고, 정의하며, 기술적이든 인문학적이든 문제 해결을 위해 다양한 지식과 경험을 잘 조합해서 적은 비용으로 문제를 해결하는 사람 입니다.

현재는 인공지능이 코드작성을 해주고 내가 작성한 코드의 허점이 없는지도 알려줍니다. 앞으로 인공지능이 얼마나 발전할지는 저도 예상이 안가네요..

근데 여기서 제기할 수 있는 의문이 있었습니다. 과연 AI가 하는 말이 다 맞는 말일까? 다음 사진을 보면 웃기기도 하며 약간의 안심도 되는 짤 입니다.


😹 인공지능의 약점

인터넷 세상에는 정말 방대한 정보가 홍수처럼 쏟아져 나옵니다. 이러한 정보들 중에서 우리가 필요한 정보를 골라서 사용할 수 있는 사람이 좋은 대우를 받으며 일을 하고있죠.

Chat GPT는 이름에서 알 수 있다시피 대화형 인공지능 서비스 입니다. 그리고 G는 Generate(생성), P는 Pre-trained(사전 학습된), T는 Transformer(변환, 대화속 맥락을 고려하여) 입니다. 즉, 방대한 정보가 사전에 학습이 되어 대화를 하면서 그 대화속의 맥락과 관계를 추적해서 가장 알맞은 답을 리턴해주는 모델이죠.

이러한 리턴값에 거짓이 정말 없을까요? 지금은 초기 단계라 완전하지는 않지만 그 리턴값을 맹신할 정도는 안되는 것 같습니다.

개발자는 이러한 잘못된 정보를 알아차리고 판단을 할 수 있는 능력을 갖추어야 합니다. 코드를 작성하거나 기능을 구현하는 단순 코딩은 AI가 충분이 할 수 있지만 자동으로 생성된 코드가 맞는지 틀린지는 개발자가 코드리뷰를 통해 검증을 해야하죠.

이 점만을 봤을때, 개발자의 필요성은 여전히 유효하지 않나 싶습니다. 단, "좋은 개발자"의 수요가 앞으로 더 늘것 같아요.

그렇다면 좋은 개발자가 되기 위해서는 어떤 것이 필요할까요??

🕶️ 대체불가능한 개발자가 될 수 있는 방법

지금도 수많은 주니어 개발자가 양성되고 있습니다. 하지만 기업이 원하는 개발자의 이상형의 레벨은 조금 높죠.. 단순 코딩, 기능구현만 할 줄아는 개발자는 정말 저를 포함해서 널리고 널린게 현재 상황인것 같습니다.

하지만 좋은 개발자로 성장을 해서 자신의 가치를 높히고 좋은 대우를 받는 것은 목표로 주니어 개발자는 끊임없이 공부를 해야 합니다

한번 생각해볼까요?
내가 필요한 정보가 있을때 우리는 서점에 가나요, 신문을 뒤적거리나요, 지인에게 물어보러 다니나요? 정보가 필요할때는 "킹갓 구글신"에게 또닥또닥 키보드를 치면 원하는 답을 얻을 수 있습니다. 언제나 정보는 저희곁에 있죠. 이 수 많은 정보를 배우려면 엄두조차 나지 않을 것입니다.

하지만 새로운 것을 배우는 것은 즐겁지만은 않습니다. 고통또한 감내해야 새로운 정보가 나의 것이 되니까요.

그래서 경쟁력있는 개발자가 되려면 배우는 것을 즐겨야 합니다. 다양한 기술을 습득하고 활용하기 위해서는 배움 자체를 즐겨서 좋은 동기와 즐거운 마음으로 학습을 해나가야 합니다.

그리고 현재에 안주하는 것을 경계하고 끊임없는 역량강화를 해야 합니다.

즉, "배우는 것을 배워야 배우는 것을 잘 하고 즐겁게 성장"하여 좋은 개발자가 되는 거죠.

결론이 너무 심심한데 원래 철학이나 생각은 심플하게 마무리해야 좋은 의미로 재해석할 수 있고, 마음에 잘 새겨지니까요 ㅎ


최근 몇일간 저는 좀 방황을 했던 것 같습니다. 개발이 재밌긴한데 나는 나중에 필요한 존재가 될 수 있을까? 라는 의문과 또 꼬리에 꼬리는 무는 생각들이 머리속에 휘몰아치며 무기력함과 일에대한 열정도 조금 식었던것 같아요.

하지만 저는 개발자라는 직업이 어떠한 것도 될 수 있는 카멜레온 같은 직업이라고 생각해서 이 길로 들어선 것을 절대 후회하지 않습니다. 같은 일을 반복하거나 끝이 정해진 일을 하는 것은 새로운 것을 추구하는 저한테는 원하지 않는 것이기 때문이죠.

어그로성 제목에 이끌려 오신분들에게는 낚시를 해서 죄송한 마음과 또 제 생각을 (강제)공유 했다는 만족감으로 이 글을 마무리 하려고 합니다. 성장에 대한 두려움과 현재 가지고 있는 걱정이 조금 녹아내려졌으면 좋겠고 현재를 즐기며 미래를 바라보고 과거를 통해 배우는 개발자가 됩시다 :)

profile
Better Than Yesterday

2개의 댓글

comment-user-thumbnail
2023년 5월 18일

"경쟁력있는 개발자가 되려면 배우는 것을 즐겨야 합니다", "현재에 안주하는 것을 경계하고 끊임없는 역량강화를 해야 합니다." 라는 말씀에 크게 동감합니다. 지나가는 길에 읽어 보았는데, 댓글을 쓸 수밖에 없었네요.ㅎㅎ 잘 읽었습니다.

1개의 답글