비전문가 또는 다른 분야의 전문가들이 이제 바이브 코딩으로 개발하는 시대가 되었습니다...

오늘 상당한 공수가 예상되는 기능을, PLC를 전문으로 개발하시는 분이 WPF로 일주일 만에(이틀이라고 했는지는 기억이 헷갈립니다) 만들어 잘 동작한다는 이야기를 들었을 때, 잘 동작한다는 사실이 신기하기도 했고 이제 코딩을 잘하는 전문 영역은 역사에서 정말로 퇴장하게 되었구나 하는 섭섭함이 들었습니다.

한때 누구보다 빠르고 효율적인 코딩을 주위 분들보다 잘 만들었다는 자신감에 살았던 적도 있었고, 주위 분들이 쉽게 해낼 수 없는 것을 면밀히 분석해 해냈을 때의 기쁨도 있었는데 이제는 최소한 "코딩"이라는 활동에서는 그럴 수 없게 된 것 같습니다.

8개의 좋아요

역으로 그런생각도 듭니다 ㅎㅎ

비전공자분들께서 우리 영역에 발을 딛으는 만큼, 저도 제 영역이 아닌 안드로이드, iOS, 웹과 백엔드 분야에 발을 딛을 수 있게 됨이 많이 좋더라구요.

예전엔 발을 딛으려면 최소한의 노력이 필요했는데 그 최소한의 노력의 가치가 좀 달라진 것 같기도 하구요? 심지어 정보습득의 난이도가 많이 낮아졌다고 표현해야하는게 맞는건진 잘 모르겠으나 전 긍정적으로 보고 있습니다 ㅎㅎ

비개발자분들께서 사전에 프리개발해보시고 이건 가능하다 아니다를 사전에 판단해주시는 것도 많이 좋았어요.

6개의 좋아요

저도 참 1년까지는 아니고 2년후 세상이 어떻게 달라져있고 저는 뭐하고 있을지 궁금 불안하네요

5개의 좋아요

다들 아시는 것이겠지만 직업이라는게 영원한게 거의 없고, 지식산업이란 늘 발전하면서 후배들은 선배의 지식을 토대로 더 나은 다음 것을 추구하는 게 일반적인 흐름이라고 생각합니다.

그저 이 시대에 어떻게든 버텨내고 기를 쓰고 쫓아가서 다음 단계의 준비를 해야할 것입니다.

어셈블리 언어를 하시던 분들은 어렵게어렵게 각종 시스템의 에러들을 해결하면서 본인의 노하우를 쌓는 것이 자산이었는데, 그게 C가 나오면서 꽤 많이 통합이 되었고, Java 가 등장하면서 또 많이 통합이되었어서 과거 언어를 하던 분들은 라떼를 언급하면서 그게 진짜 기술이라고 하시는 분들이 더러 있으시죠…

사실 CS 레벨에서 보거나 컴퓨터 연구자의 사이드에서보면 low level을 많이 아는 것은 자산이 확실하며 그것은 부정할 수 없습니다. 그러면 우리 같은 .NET을 쓰는 고급 언어 사용자들은 기술이 없냐하면 다들 그것도 부정하실 것입니다. 고급언어는 서비스와 제품을 그만큼 쉽게 표현할 수 있기 때문이죠. 여러 고급 언어의 등장으로 IT 산업의 여러 소프트웨어 제품들이 등장하고 산업이 발달하고 개발자들의 몸값이 전반적으로 올라가는 등 여러 발전을 했다고 생각합니다.

그러나 이제 언어가 무의미해져가고 손코딩이 무의미해지고, 대학생들은 프로그래밍 언어보단 AI를 쓰는 법을 익히기에 저같은 11년차들도 요즘 신입 무섭다고 생각하는 시대입니다. 그러면 시니어는 항상 늘 신입에게 쫓겨가야만 하는가 하면 그건 아니죠.

꼴랑 제가 11년차이지만 20 30년차가 저를 볼때 기술이 좋고 내심 부럽다고 생각하는 30년차도 있을 겁니다. 물론 아닌 분들이 더 많겠죠. 그런데 지금 저도 1년차를 보면 부럽다고 생각도 듭니다. 그럼 저는 30년차 20년차에게 배울게 없을까요? 저는 신입에게 가르쳐줄게 없을까요? 라고 생각해보면 그것도 아니겠죠.

물론 과거부터 쌓아온 커리어가 현재 나의 상황상 따라가지 못하고 도태될 수 있겠지만 닷넷데브를 통해 최대한 그것을 늦추고, 다음 밥벌이를 위한 최소한의 울타리가 되었으면 좋겠습니다.

클린 코드의 저자인 엉클 밥님도 본인과 비슷한 처지의 시니어들을 응원하고 있습니다.

5개의 좋아요

사실 그런 측면에서 현재 진행형으로 개발이 왕성한 언어들은 쭉 가져가면 좋을 것이고…

python과 node.js는 AI가 사용하기 가장 편한 언어라 솔직히 언어 몰라도 AI가 잘해준다고 생각합니다. 물론 익혀두면 검증할 때 편하기도 할 것 입니다.

그러나 .NET이 가능한 영역까지 들어오지는 못했고 .NET 기술 자체의 문제가 아니라 산업군의 특성상 영원히 못들어올 수도 있기에 아직 .NET 자체를 공부하는데에 의미가 있을 듯합니다. MFC가 여전히 대기업 생산공장에 들어가있고, 아마 그것을 유지보수하는 전문종사자들이 은퇴를 하시거나 업체의 수명이 다하거나 하드웨어적 치명적 결함이 와서 물리적으로 장비를 드러내는게 아니라면 아마 반영구적으로 갈 것입니다. 공장 노동자들은 뭔가 설비가 변하는 것이 새로 알아야 할 업무가 늘어난다고 생각해서 반가워 하지 않습니다. 정해진 일을 하고 정해진 급여를 받고 정해진 시간에 퇴근하는 것이 그 일의 본질인 것 같습니다.

그러나 소프트웨어 개발자 뿐아니라 공학이라는 것을 하는 사람들 자체가 기술적 유행에 민감해야하고, 맞춰서 제품을 변화시켜야 제품을 더 잘 팔 수 있게 되기에 우리는 변화에 대해 유연하게 대처하는 것을 기본 업으로 합니다.

소프트웨어 코드를 짤 때도 시장과 고객의 니즈는 늘 변할 수 있기 때문에 변하지 않는 것과 변할 것을 구분해서 추상화를 하는 것이 그런 맥락일 것입니다.

머리수가 비교도 안되게 많은 python, node.js에 비해서 .NET 기술 자체에 결함이 없는데 아직 .NET 히어로의 머리수가 많지 않다면 그것은 IT 산업의 틈새시장으로서 .NET이라는 메이저 기술의 자원에 기여할 수 있다는 관점도 될 수 있습니다. 지구 상에 일반적으로 일방적이기만 한 개념은 없듯 모든 개념은 관점을 달리할 때 나에게 불리하게 작용하던 것도 유리한 돌파구가 될 수도 있기 때문입니다.

사실 그런데 .NET이면 굉장히 메이져 기술이고 풀이 오히려 거대한 편이지만 아무래도 python, node.js에 비교하면 적긴하고, .NET보다 수요가 없는 언어들은 발전속도도 느리고 유저풀도 그만큼 적기에 지금 시기에 .NET이라는 지금만큼 적절한 시기의 기술 공부는 여전히 의미 있지 않을까 합니다.

2개의 좋아요

AI 의 생성물은 필연적으로 오류가 포함되어 있기 때문에, 반드시 시니어의 검증이 필요합니다.

여기에서 시니어의 양대 축은 도메인 전문과 소프트웨어 시스템 전문가일 것입니다.

전자가 컨텍스트에 대한 검증을 하고, 후자가 운영될 코드를 검증하는 것입니다.

이러한 구조적 절차는 AI가 신경망 회로 이론을 벗어 나지 못하는 한 바뀌지 않을 것입니다.

만약, 이 둘중 한 축을 AI로 대체한다면,

  1. AI가 시스템 설계를 담당 => 코드 검증 필요.
  2. AI가 도메인 정의를 담당 => 컨텍스트 검증 필요.

AI 가 코드를 검증하는 시대인 것은 맞습니다. 그러나 그 검증을 검증하지 않는다면 무책임하거나 무모할 뿐입니다.

지엽적인 문제를 다 떠나서,

  1. 설계와 컨텍스트 중 AI는 어떤 걸 잘할까요?
  2. 검증되지 않는 설계와 검증되지 않는 컨텍스트 중 어떤게 더 위험할까요?

저도 잘 모르겠습니다. ^^.
이 스레드와 맞닿아 있는 질문이라 그냥 던져 봅니다.

AI 시대에 소프트웨어 시장을 어떻게 바꿀지 지 모릅니다.
한 가지 시나리오는 카피를 돈주고 사는 것이 유일한 선택지가 아닐 수 있게 됩니다.
즉, 커스텀 개발이 대유행할 수도 있습니다. 비유하자면, 엑셀이 백만개로 늘어나는 것입니다.

모두 다 떠나서, 명인이 될지, 새로운 물이 들어와 큰 배를 탈 지 두고 봅시다.

3개의 좋아요

저도 공감합니다. 잘 못 하던 분야로 확장하기 좋아진 시대가 된 것 같아요~ :grinning_face:
게임 만들 때 그림을 대신 그려준다든지, 하드웨어 관련 지식이 부족한데 도움을 준다던지, AI가 참 사람을 편리하게 해주는 것 같다는 생각이 듭니다.

그와 더불어 AI가 해준 것을 무지성으로 그대로 사용하지 않고, 자신을 발전시키는데 사용해야겠다는 생각도 듭니다. 그렇게 하지 않으면 정말로 바보가 되어버릴 것 같아서요. ㅎㅎㅎ :grin:

3개의 좋아요

저도 요새 느끼고 있습니다 ㅠㅠ 허무하고 맥이 빠지더군요;; 심지어 눈에 보이는 결과물이 더 좋아요 ㅠㅠ 며칠을 고생해서 만들었는데 바이브코딩으로 만들었다고 회의시간때 이야기 하던데.. 에효..