반응형

AI가 뺏어간 일자리

작년 이맘때쯤이었다.

진행 중인 프로젝트가 없어 대기하던 중이었다.

같은 팀 사원 개발자가 노트북을 켜고 열심히 뭔가를 하고 있었다.

"뭐 해?"

"chatGPT로 개발 공부하고 있어요"

처음에 무슨 얘긴가 했다.

ChatGPT 붐이 일기 시작한 때라 나는 큰 관심이 없었던 시기였다.

그래서 확인해 봤다.

바이브 코딩?

AI에게 필요한 코드를 요청하면 만들어 준다.

무료이면서 쉽게 접할 수 있는 구글 Gemini, MS 코파일럿, ChatGPT로 한 번 만들어 보자.

"문장을 입력하면 영어 'e'가 몇 개인지 찾아주는 프로그램을 파이썬으로 만들어 줘"

구글 Gemini에게 문의하면 아래와 같이 코드를 만들어 준다.

def count_e_in_sentence(sentence):
    """
    입력된 문장에서 영어 'e'의 개수를 세어 반환합니다.
    대소문자를 구분하지 않습니다.
    """
    
    # 문장을 소문자로 변환하여 'e'와 'E'를 모두 찾을 수 있도록 합니다.
    sentence_lower = sentence.lower()
    
    e_count = 0
    for char in sentence_lower:
        if char == 'e':
            e_count += 1
            
    return e_count

# 프로그램 실행
if __name__ == "__main__":
    print("문장에서 'e'의 개수를 세어주는 프로그램입니다.")
    
    while True:
        user_input = input("문장을 입력해주세요 (종료하려면 'quit' 입력): ")
        
        if user_input.lower() == 'quit':
            print("프로그램을 종료합니다.")
            break
        
        count = count_e_in_sentence(user_input)
        print(f"입력하신 문장에 'e' 또는 'E'는 총 {count}개 있습니다.")
        print("-" * 30) # 구분선

심지어 코드 설명도 라인마다 상세히 설명해 준다.

이런 방식으로 프로젝트 개발 시 필요한 파트 코드를 생성해 달라고 해서 사용하면 바이브 코딩이 된다.

오류가 나면 코드를 넣고 수정해 달라고 하면 해주는 수준이다.

 

정말 편한데 뭐가 문제지?

AI(인공지능)때문에 인간의 일자리가 없어져 간다는 뉴스가 요즘 종종 보인다.

반은 맞고 반은 틀리다는 말이 여기에 어울린다고 생각했다.

2002년 월드컵 4강 신화로 온 국민이 열광할 때였다.

지방 자동화 프로젝트에 투입, 크레인과 컨베이어로 재고 입출을 자동화하는 프로젝트였다.

사람의 손을 최소화하는 작업으로 회사 입장에서는 인건비가 많이 줄었다.

다른 말로 하면 일자리가 줄어들게 된다.

한참 코딩에 열중하고 있던 어느 날이었다.

컴퓨터에 그날 입출 정보를 확인해서 처리하는 정직원이 있었다.

하루에 2-3시간만 와서 처리하는데 정직원이라 연봉이 높았다.

"여기 와서 처리하는 것도 귀찮은데 이것도 자동화로 해주면 안 될까요?"라고 내게 요청했다.

음... 바로 답변해 주니 하지 말자고 하고 웃으며 자리를 떠났다.

"자동화는 가능한데 처리자가 필요 없어지니 그럼 회사 잘리실 텐데요?"

넓고 깊게 우물을 파자.

AI를 활용해서 코딩하면 시간도 절약되고 완성도 높은 정보도 얻을 수 있다.

전제조건이 필요하다.

AI를 사용하는 개발자도 말 그대로 개발자여야 한다.

AI를 활용해야지 AI에 의존해서 개발을 하면 안 된다.

뭘 알아야 물어보고,

뭘 알아야 제대로 되었는지 확인도 하고,

뭘 알아야 책임도 지는 것이다.

자기 능력을 키우지 않고 AI에 의존하게 되면 결국 자기 자리를 잃게 되는 것이다.

개발자라면 당연히 기초부터 스터디를 하고 프로젝트를 통해 경험도 쌓아야 한다.

공부할 양이 엄청 많다. 

직접 공부해 본 개발자라면 무슨 말인지 이해할 것이다.

 

AI는 개발자의 일자리를 뺏을 수 없다?

자리를 뺏기는 사람은 자신의 능력을 발전시키지 않고 AI로 편하게 처리하려는 자다.

다시 사무실 사원 개발자를 보자.

그 개발자의 실력은 내가 같이 해봐서 안다.

공부를 많이 해야 할 정도로 많이 부족했다. 물론 사원이니 당연한 거다.

하지만 자신의 개발과 경험 능력치를 올리는 노력은 안 한다.

코딩 공부랍시고 AI로 코드 뽑아서 붙여 넣기 하는 모습을 보면 누가 저런 신입을 뽑고 싶겠는가?

제대로 실력을 만들어 가는 개발자의 자리는 AI가 뺏을 수 없다.

사람이 개입해야 하는 부분은 분명히 있다.

챗봇으로 상담을 받아본 사람들은 결국 상담사를 연결해 문제를 해결하는 경우가 많다.

AI 응대에 피로감을 느끼는 고객들이 많다.

기업은 인력을 줄여서 좋겠지만 고객은 불편하고 짜증 난다.

만약 프로젝트에 AI로 대체해서 고객의 요건 정의를 받는다면,

고객은 챗봇 응대가 떠오를 것이다.

결국 AI로 대체되는 개발자도 있을 수 있지만,

능력있는 개발자도 반드시 필요하다.

취업과 AI?

신입 개발자를 뽑지 않고 AI로 대체한다고 한다.

바이브 코딩을 하는 고급 개발자들은 몸값이 올라갈 것이다.

AI를 활용하게 되면 초급 개발자의 일까지 추가되므로 당연히 돈을 더 달라고 하겠지.

또한 그들이 은퇴하거나 이직을 하는 경우

대체할 개발자는 어떻게 찾을 것인가?

갑자기 필요하다고 경력직 개발자가 뿅~하고 나타나지 않는다는 말이다.

AI가 해결해 줄까?

바이브 코딩도 아무나 하는 것이 아니라는 말이다.

단순하게 코딩을 만들어 준다고 프로젝트를 만들 수 없다는 의미다.

 

결국 AI도 사람이 만든다.

AI도 사람이 만든다.

AI 활용도 사람이 한다.

프로그래밍에 1도 모르는 사람과

경력 많은 개발자 둘 중

AI로 원하는 프로그램을 만들 때 누가 유리할까?

AI에 의존한다면 일자리를 뺏길 수 있다.

AI를 활용한다면 자신의 능력에 플러스가 될 것이다.

우리가 해야 할 일.

취업을 위해 학원도 다니고 코딩도 열심히 한다.

나름 포트폴리오도 멋지고 만들고 이력서로 여러 회사에 지원한다.

나만 특별한 스펙을 갖고 있는 게 아니라 문제다.

내가 보기엔 개발자는 개발 공부만 열심히 하면 된다라는 생각에서 차이가 있다고 본다.

인사담당자에겐 모두 비슷한 스펙이라는 의미다.

프로젝트에 투입해서 일을 잘하는 개발자를 뽑는데 여러분이 PM이라면?

깊게 파려면 넓게 파라
- 스피노자 -

프로그래머 세상을 살아오면서 깊이 공감되는 말이다.

코딩 스펙도 중요하지만 개발도 사람들과 함께 하는 일이다.

모든 일은 감정에 의해 처리된다는 글을 읽은 적 있다.

생각해 보니 지금까지 해 온 많은 프로젝트. 감정에 의해 처리된 경우가 많았다.

코딩 하나만 잘한다고 100점이 아니라는 의미다.

AI가 넘보지 못할 개발자로 성장하고 싶다면 넓고 깊게 파야 한다.

개발자 취업 시장도 어려운 시기에 AI까지 더해 힘든 세상,

좌절은 이제 그만! 변하는 시대에 잘 적응하는 개발자가 되었으면 한다.

깊고 넓게.

 

참고로, 25년 넘게 개발자를 업으로 삼고 있지만 AI로 코드 만드는 재미가 솔솔하다.

반응형
반응형

안녕하세요. 신기한 연구소입니다.

초보(신입) 개발자인데 코딩만 잘하면 되는 거 아닌가요? 

막상 프로젝트에 투입되니 잘하고 있는 건지도 모르겠어요.

입사 후 선배 개발자들이 저를 답답하게 봐요. 혼나기도 하고 잔소리도 엄청 들어요.

업무 회의에 들어가면 이해가 잘 안되기도 하고 상사가 업무 지시를 내려도 무슨 말인지 잘 모르겠어요.

혹시, 어렵게 신입(초보) 개발자로 취업했는데 이런 경우가 있지 않으신가요?

이런 경우는 반드시 알아야 하는 것도 있고 그래서 미리 준비를 해야 하는 것도 있답니다.

20년 넘게 프로젝트를 해왔고 그 경험을 바탕으로 개발자들이 어떤 것을 알아야 하는지 정리해 봤습니다.

프로 개발자가 되고 싶다면 꼼꼼히 읽어보고 꼭 실천하길 바랍니다.



비전공이었지만 개발자의 꿈을 안고 독학으로 시작해 국비 학원을 수료하고 수십여 통의 이력서를 보내 신입(초보) 개발자로 첫 발을 내 딛은 지가 벌써 20년 하고도 몇 년이 더 흘렀습니다.  개발자로 살아온 그 시간은 정말 재미도 있었고 어려움도 있었지만 잘 마무리가 되고 오류가 해결될 때는 개발자로서 적성에 맞다는 뿌듯함 같은 것이 있었습니다.

그 많은 프로젝트를 하면서 수많은 사람들을 만났고 그 다양함에 즐겁기도 했고 짜증 나는  경우도 종종 있었답니다. 하지만 세상 어디에도 내 맘에 쏙 드는 사람들만 있는 곳은 없었답니다. 그 이유로 그만두거나 이직을 한다면 세상 어디에도 갈 곳이 없다는 의미인 것입니다.

모두가 겪는 이 난감한 상황을 책을 통해서 많이 극복하고 도움을 받았답니다. 개발 전공책이 아닌 다양한 책을 읽었는데 어떻게 책을 통해서 독서를 통해서 개발자로 잘 성장해 왔는지 그 이야기를 해보려고 합니다.

 

1. 개발자에게 가장 필요한 것은 독서, 책을 통해서 지혜를 얻다.

보통 개발자는 개발 관련 책을 많이 읽습니다. 물론 책을 읽지 않고 구글링 (요즘은 chatGPT)으로 궁금한 부분을 해결하는 코더들도 많습니다. 최신 트렌드나 기술에 뒤처지지 않기 위해 낮에 근무가 끝나면 저녁이나 주말에 관련 책을 구매해서 읽고 코딩하는 멋진 개발자들도 많습니다. 

사진: Unsplash 의 Matias North

하지만 개발자는 코딩만 하는 것은 아닙니다. 사실 프로그램을 만드는 것은 누군가 요청에 의해 돈을 받고 만들어 주는 것입니다. 즉, 요구사항도 확인해야 되고 회의도 자주 하는 등 소통 또한 중요하다는 의미입니다. 기술 위주로만 책을 읽고 기술력만 향상한다면 개발자로서 반쪽짜리라 할 수 있습니다. 

고객(현업)은 자신들이 편하게 일할 수 있는 프로그램이 필요합니다. 그래서 개발자에게 돈을 주고 프로그램을 만들어 달라고 요청합니다. 그런데 보통 고객은 프로그램에 대해 전문적으로 아는 경우가 드뭅니다. 이런 경우 개발자들이 전문 기술 위주로 설명을 한다면 고객은 잘 이해하지 못합니다. 그저 "어려운 건가? 잘 만들어 주겠지." 이 정도로 넘어가는 경우가 종종 있답니다. 하지만 이후 개발이 어느 정도 진행되면 서로 다른 생각을 하고 있다는 것을 알게 되고 그게 프로젝트의 발목을 잡게 됩니다.

또한, 전문 지식이 없는 고객의 경우 표현에 한계가 있기에 개발자에게 제대로 설명을 못하는 경우가 있습니다. 그로 인해 서로 말다툼이 일어나기도 하고 개발자는 고객이 무슨 말을 하는지 모르겠다면서 고객과의 대화를 기피하게 됩니다. 그리고 개발자는 본인 마음대로 대충 개발을 하는 경우가 발생하기도 합니다. 물론 테스트 기간에 고객은 이렇게 말합니다.

"이건 내가 원하는 프로그램이 아닌데요"

그때부터 요구사항, 회의록을 뒤져가며 서로 다툼이 발생하게 됩니다. 

이런 경우가 발생하지 않기 위해서는 개발자의 역할이 정말 중요합니다. 고객은 고객입니다. 고객이 없다면 개발자는 혼자 취미로 개발하는 것이기에 직업이 될 수 없겠지요? 앱이나 솔루션을 만들어 판매하더라도 고객이 있어야 합니다. 우리가 열심히 프로그램 공부를 하는 것은 직업적으로 성공도 하고 돈도 벌기 위해서니까요.

이런 문제를 해결하는 방법 중 가장 좋은 것이 독서입니다. 여기서 독서는 책을 읽는 것인데 책이 전문 개발 서적을 의미하는 것이 아닙니다. 물론 개발 방법론이나 알고리즘도 중요한 읽을거리지만 고객과의 소통을 위해서는 다른 책을 읽어야 합니다.

어떤 책을 읽어야 할까요?

다양한 책들을 읽어야 합니다. 예를 들어 볼까요?

우선 추천하는 분류는 마케팅 책입니다. 개발자가 마케팅 책을 왜 읽어야 할까요? 그 책에는 고객의 마음을 읽고 고객이 원하는 것을 알아내는데 최적화된 내용들이 있습니다. 고객의 마음을 얻는 것이 개발자에게 엄청 중요합니다.

고객의 정확한 요구를 알아낼 수 있고, 어려운 상황이 발생했을 때 효율적인 제안을 통해 도움을 받을 수도 있습니다. 또한 고객은 자기들의 어려움, 필요한 것을 해결해 줄 거라는 믿음을 갖게 되므로 이런 능력이 있는 개발자가 필요하게 되는 것입니다. 심지어 입사 권유를 하는 고객들도 있답니다. 반대로 이야기하면 기존에 개발자들 때문에 많이 힘들었던 고객들이라면 자신들을 이해해 주고 소통이 더 잘되는 개발자를 원하게 된다는 겁니다.

심리학 책도 추천합니다. 고객도 사람이고 개발자도 사람입니다. 심리학 책을 읽다 보면 고객들의 마음을 더 쉽게 이해할 수 있게 됩니다. 물론 나쁜 의도로 그들의 마음을 이용하면 안 됩니다. 심리학 책을 읽는다고 심리학자처럼 된다거나 최면을 걸 수 있는 것은 아닙니다. 심리학 책을 읽으면 내 마음도 정리가 되고 스트레스 해소에 도움이 되기도 합니다.  고객이 어떤 어려움이 있고 그들의 스트레스는 무엇인지 조금이나마 알 수 있게 되면서 그들에게 어떻게 도움을 줄 수 있을지 준비할 수 있는 능력을 키울 수 있습니다. 

보통 이렇게 고객들과 잘 지내고 칭찬받는 개발자들은 아마 독서를 많이 하고 있을 겁니다. 책을 통해서 여러분은 능력 있고 인기 있는 개발자로 성장할 수 있게 된다는 의미입니다.

독서의 소중함을 알았다면 빨리 책을 찾아보세요. 삼국지에서도 여러분은 개발자로의 삶에서 길을 찾을 수 있을 겁니다.

 

2. 개발자에게 시간 관리는 필수템이다.

개발자에게 시간은 정말 소중합니다. 물론 개발자뿐만 아니라 시간은 모두에게 소중합니다. 특히 시간 관리는 개발자라면 철저하게 관리해야 하는 템입니다.

사진: Unsplash 의 Kevin Ku

여러분들은 출퇴근 시간을 어떻게 보내고 있나요? 피곤함에 잠을 잘 수도 있고 무한 스크롤링하는 SNS나 숏 영상을 시청하기도 합니다. 

퇴근 후에는 지인과 한 잔의 술로 하루의 스트레스를 해소할 수도 있고 드라마나 영화를 보면서 저녁을 먹기도 합니다. 또는 늦은 시간까지 게임을 하기도 하겠지요.

주말이나 휴일 또한 밀린 잠을 잘 수도 있고 여기저기 놀러 가기도 하며 친구들과 술을 마시며 새벽까지 놀기도 합니다.

모든 개발자가 그러진 않겠지만 출퇴근 시간이나 사무실에서 개발자들의 이야기를 들으면 대부분 비슷한 방식으로 시간을 보냅니다. 

일전에 고속도로 휴게소 화장실에서 읽은 문구입니다. 이름이 기억나진 않지만 엄청 유명한 고령의 피아니스트 이야기였습니다. 그는 고령의 나이와 엄청난 피아노 실력이 있음에도 매일 아침 피아노를 친다고 합니다. 왜 그렇게 매일같이 열심히 피아노를 치는가? 이제 그 정도 실력이면 그렇게 안 해도 되지 않냐는 질문에 이렇게 대답했다고 합니다.

"나는 매일 아침 피아노를 칠 때마다 실력이 더 나아지고 있다는 것을 느낍니다"

우리도 매일 우리를 갈고닦아야 합니다. 우리는 직업인입니다. 개발자입니다. 

기술과 소통의 능력을 키우기 위해서는 시간을 잘 활용해서 우리 자신에게 투자해야 합니다. 

열심히 하려는 후배 개발자들을 만나면 이런 이야기를 해줍니다.

"고3 때처럼 열심히 해"

 

3. 개발자에게 관계는 성공적인 프로젝트 완수를 위해 필요하다.

공통 개발자에게 개발 요청을 한 적이 있습니다.

"이걸 내가 왜 하나요?"

사진: Unsplash 의 Priscilla Du Preez 🇨🇦

유지보수 사이트에서 몇 번 번복된 일을 요청한 적이 있었습니다.

"이랬다 저랬다 하지 말고 한 번에 정리해서 최종만 주세요"

일정이 급한 프로젝트에서 이런 경우도 있었습니다.

"주신 문서로 개발하기 어렵습니다"

"나는 개발 다 했고 문서까지 만들어 줬으니 알아서 하세요"

 

위 경우는 많은 개발자들이 경험했을 거라 생각됩니다. 또는 본인이 이로 인해 어려움을 겪었을 수도 있고 또는 본인이 주인공일수도 있을 겁니다.

해달라는 대로 해줬는데 못 알아듣는 건 실력문제 아닌가?라고 생각하는 개발자가 은근히 많습니다.

이렇게 해달라고 했는데 다시 바꿔 달라고? 내가 왜 그래야 하는데?라고 생각하는 개발자도 있습니다.

그런데 중요한 것인 이렇게 소통이 어렵거나 고집이 쎈 개발자들은 어느 순간 안 좋은 소문이 날 수도 있습니다. 

근무시간 내라면 몇 번의 변경이라도 해주는 것이 맞습니다. 요청한 사람도 확인하면서 오류를 발견했기에 다시 요청을 할 수밖에 없거든요. 이런 상황에서 짜증을 내면서 두세 번 안 하게 해달라고 하면 요청한 사람은 이후 어떤 생각을 갖게 될까요?

내가 해 줄 수 있는 일이라면 내가 직업인이고 프로라면 당연히 해주는 게 맞습니다. "내가 왜 해줘야 되나요?"라는 표현을 자주 사용하게 되면 어느 누구도 요청을 하지 않게 될 겁니다. 그렇게 되면 할 일이 없게 되겠지요?

나는 개발도 해줬고 문서까지 만들어줬는데 뭘 더 해줘야 하나요? 본인들의 실력이 부족해서 이해를 못 하는데 내가 더 자세히 설명해줘야 하는 건 아닌 거 같다.라는 경우도 봤습니다.

그런데 이렇게 생각해 보세요. 내가 열심히 요구에 맞게 만들어줬는데 그걸 이용해서 개발해야 하는 다른 개발자가 문서만으로는 이해가 안돼서 사용을 못한다면 그 프로그램은 안 만든 것만 못합니다. 

잘 만들어줬으면 다른 개발자들이 잘 사용할 수 있게 최대한 쉽고 예제를 만들어 줘야 합니다. 모든 개발자가 다 똑같지 않기 때문입니다. 

이런 부분들로 일정에 치명적인 문제를 만드는 개발자들이 있습니다. 결국 본인 명성에 먹칠을 하는 겁니다.

내가 만든 프로그램이라면 다른 개발자들이 쉽게 이용할 수 있게 하는 것도 개발자의 실력이고 능력입니다.

근무시간 내라면 몇 번이라도 변경해 줄 수 있다면 직업인으로서 당연한 의무라 생각합니다.이걸 내가 왜 해줘? 가 아니라 내가 도움을 줄 수 있다면 당연히 만들어 줘야지 라는 생각이 개발자의 능력이라고 생각합니다.모 대형 프로젝트에 갔는데 위 경우가 모두 발생하고 있었습니다. 고객이나 사업관리는 프로젝트가 오픈 못할까 봐 엄청 스트레스를 받고 있는 상황이었습니다. 왜 그런지 그 안을 들여다보니 다들 잘하고 있었지만 서로가 소통을 못하고 있었습니다. 그저 선 하나만 연결해 주면 마음을 열고 잘해주는 개발자들이었는데 그 역할을 담당한 개발 총괄은 그저 남 탓만 하고 있었습니다. 개발자들의 능력을 인정하고 정중하게 부탁을 하면 보통 다들 도와줍니다. 어려워하지 말고 책을 읽고 느낀 대로 대화를 시도해 보세요. 삭막한 세상에 살다 보니 마음을 닫고 사는 개발자들도 있습니다. 하지만 그들도 인정받고 부탁을 받는다면 기꺼이 손을 내밀어 도움을 줄 겁니다.

 

4. 정리

신규(초급) 개발자에서 프로 개발자가 되고 싶다면,당연 개발 공부는 꾸준히 해야 하고 사람에 관한 공부를 위해 독서는 필수라 할 수 있습니다.그러기 위해서 시간 관리는 철저히 해야 한다고 다시 강조해 봅니다.

 

반응형