저는 다국적 IT 회사에서 10년 가까이 일하면서 다양한 나라의 개발자와 엔지니어를 만났습니다. 오랜 기간 그들과 협업하는 과정에서 개발자의 영어 구사 능력에 자연스레 관심을 가지게 되었습니다. 한편 그 회사에서 일하는 한국인 개발자들과 함께 할 기회도 많았습니다. 그들이 다른 나라 개발자에 비해 뒤지지 않는 뛰어난 개발 실력을 갖추고도, 오로지 영어 때문에 능력을 온전히 평가받지 못하는 모습 역시 보고는 했습니다. 이번 글에서는 개발자가 영어 공부를 해야 하는 이유를 사실과 데이터에 근거해 살펴보고자 합니다. 글의 마지막에는 제 개인적인 견해를 바탕으로 ‘개발자에게 영어가 중요한 또 다른 이유’를 덧붙이고자 합니다.
소프트웨어 산업에는 하루에도 수십 개의 새로운 약어와 개념이 등장합니다. 특히나 빠르게 변하는 AI 기술 같은 경우라면 더욱 말입니다. AI를 제대로 맛보게 해 준 챗GPT와 같은 LLM이 우후죽순으로 등장하더니, 지금은 또 메타의 라마로 대표되는 SLM 혹은 sLLM이라는 게 나오고, AI를 완성시키는 AGI라는 개념도 이해해야 하는데, 또 검색-증강 생성이라며 RAG라는 말이 심심치 않게 들립니다. 배경 개념을 알고 거기에 쉬운 스토리를 붙이면 이해에 어렵지 않습니다. 최소한 이 글을 끝까지 읽으신다면 RAG에 대한 이해는 제가 책임지겠습니다. 자, 시작합니다.
한창 MSA(Microservices Architecture)로의 전환을 진행하는 중이었던 저희 팀은 새로운 branch 전략이 필요한 상황이었습니다. MSA로 전환하면서 기존 정기 배포 방식은 버리고 수시 배포를 하기로 결정했기 때문이었죠. Git-flow, Github-flow, Gitlab-flow를 포함해 여러 branch 전략을 살펴보았지만, 팀 환경에 꼭 맞는 branch 전략은 없었습니다. 그래서 팀의 요구 사항과 환경에 맞는 branch 전략을 직접 만들기로 결정했습니다.
여러분이 크롬 브라우저에서 youtube.com으로 들어간다고 가정해 볼게요. 이때 브라우저는 클라이언트의 역할을 합니다. 이 브라우저가 유튜브의 서버 컴퓨터에 요청을 보내 사이트 코드를 받아오는 거예요. 그러면 우리는 그 정보를 받아 사이트를 쓸 수 있게 됩니다. 그런데 여기서 궁금증이 생깁니다. 인터넷에 연결된 수많은 컴퓨터 가운데 이 유튜브 사이트의 서버 컴퓨터는 어떻게 찾을 수 있을까요? 이번에는 그 물음에 대한 답을 하려고 합니다. 웹을 이해하기 위해 알아야 할 핵심 지식, IP, DNS, URL의 기초 개념을 파헤쳐 보겠습니다.
생성형 AI 기술의 발전과 함께 사용자들의 이목을 사로잡는 서비스가 연일 등장하고 있습니다. 이런 생성형 AI 서비스의 지향점을 바꾸는 결정적인 차이가 어디서 생기는지 아시나요? 그 중 하나는 바로 최종 고객이 일반 사용자(B2C)인지, 혹은 기관(B2B)인지 차이입니다. 엔터프라이즈용 생성형 AI 서비스를 설계하고 개발할 때에는 일반적인 B2C 생성형 AI 서비스와는 다른 관점으로 접근할 필요가 있습니다. 주로 B2B 서비스와 관련된 일을 하는 엔지니어인 제 경험을 살려 B2B 생성형 AI 서비스의 기술적인 특징을 알아보겠습니다.
요즘 개발자는 단순히 뛰어난 코드를 작성하는 것만으로는 성공하기 어렵습니다. 저 역시 주니어 개발자일 때, 능력의 부족함을 많이 느꼈습니다. 다만 그때는 ‘일잘러’가 된다기보다 개발 스킬을 키우려고만 노력했습니다. 그래서인지 기술적인 측면에서 성장했지만 능력만큼 인정받지 못하거나 때로는 같이 일하기 힘들다는 말을 듣기도 했습니다. 다른 개발자들도 어떠한 계기가 있어, 조금이라도 빨리 이러한 측면에 관심을 가지고 시도해 봤으면 좋겠다는 생각이 들었습니다. 그런 마음에 이 글을 쓰기 시작했습니다. 개발자도 ‘일잘러’가 되어야 하는 이유와 커리어 단계별로 필요한 역량, 주니어를 위한 성장 가이드를 정리했습니다.
처음 크롬을 접했을 때의 희열을 잊을 수 없다. 브라우저와 계정이 직접 연동된다는 것은 아주 큰 편리함을 가져다주었다. 몇 년간 크롬의 모든 것이 좋기만 했다. 하지만 새로운 구글 계정을 만들면서 이야기는 달라졌다. 구글 계정을 여러 개로 나눈 이유는 일과 취미를 분리하기 위함이었다. 그리고 두 번째 계정으로 크롬을 사용하게 되면서 전에는 보이지 않던 단점들이 눈에 들어오기 시작했다. 그때 아크 브라우저를 만나게 되었고, 그동안의 답답함이 해소되는 경험을 했다. 이번 글에서는 개발자의 관점에서 크롬을 정말 사랑하면서도 느꼈던 약간의 아쉬움, 그리고 아크가 그것을 어떻게 개선했는지 리뷰를 통해 살펴보고자 한다.
최근에 한 언론에서 ‘뺑뺑이 AI콜센터’라는 기획 기사를 본 적이 있습니다. 고객센터에 전화하면 인내심의 한계에 도달할 때쯤 상담사와 연결되거나, 기다림에 지쳐 챗봇에 물어봤자 이내 엉뚱한 답변이 돌아온다는 내용이었습니다. 은행이나 카드 앱에서 챗봇에게 “문의한 내용을 찾을 수 없어요.”라는 답변을 받아봤다면 여러분도 충분히 공감하실 거라고 생각합니다. 현직 AI 챗봇 서비스 기획자의 입장에서 현재 금융 AI 챗봇의 한계를 짚어보겠습니다. 또, 앞으로의 챗봇이 ‘뺑뺑이 AI콜센터 직원’에서 ‘똑똑한 금융 비서’로 탈바꿈하기 위해 기획자가 놓쳐서는 안 될 UX 요소에 대해 이야기하고자 합니다.
프로그래밍 언어는 소프트웨어를 개발하는 데 사용되는 도구이며, 이를 통해 다양한 기능을 수행할 수 있는 소프트웨어가 만들어집니다. 특히 우리는 복잡한 계산이나 데이터 분석을 할 때, 다양한 프로그래밍 언어와 소프트웨어를 사용합니다. 그러나 소프트웨어마다 계산 방식이나 수학적 라이브러리가 다를 수 있어, 동일한 문제를 다루더라도 결과가 다를 수 있습니다. 이러한 차이를 최소화하여 데이터 분석의 일관성을 유지하는 것은 매우 중요한 과제입니다. 이번 글에서는 이러한 소프트웨어 간 계산 차이의 예시(Rounding)와 이유를 살펴보고, 이러한 문제를 해결하고자 진행 중인 ‘CAMIS’ 연구 프로젝트에 대해 알아보겠습니다.
챗GPT(ChatGPT)로도 해결되지 않는 복잡한 코딩 문제나 깊이 있는 글쓰기에 답답함을 느끼신 적 있나요? 그렇다면 오픈AI(OpenAI) 출신 전문가들이 설립한 앤트로픽(Anthropic)의 최신 모델 ‘클로드 3.5 소넷(Claude 3.5 Sonnet)’이 여러분이 찾던 해답일 수도 있습니다. 이 생성형 AI는 GPT의 모델 중 GPT-4o를 뛰어넘는 성능으로 화제가 되고 있는데요. 더 정확한 코딩, 더 깊이 있는 분석은 물론, 심지어 실시간으로 코드의 프리뷰까지 가능합니다. 이번 글에선 클로드(Claude)의 여러 기능을 살펴보고, 더 나아가 ChatGPT와 클로드, 두 강력한 생성형 AI를 어떻게 상황에 맞게 활용하여 업무 생산성을 극대화할 수 있는지 알아보겠습니다.