블로그

솔 (Sol)

IT 개발 용어 뜻, 잘 모른다면? (API, 기술부채, 컴파일, 마이그레이션...)

혹시 내 얘기 아닌가요? 그렇다면 주목! IT 회사 들어왔는데, 다들 무슨 말 하는지 모르겠다! 개발자랑 농담 주고받고 싶다! 개발 용어, 뭔진 알겠는데... ‘느낌적인 느낌’만 안다! 프로그래밍에 관심있는데 진짜 아무것도 모른다...! 이게 대체 뭐람... 👉 그렇다면, 지금 인프런 공식 SNS 팔로우하고 매주 올라오는 인프런 단어짱을 읽어보세요!페이스북 | 인스타그램 | 트위터  오늘은... (두둥) 인프런이 전.격.홍.보! 안녕하세요! 인프런 콘텐츠 마케터 솔🌞입니다. 인프런 뉴스레터 및 ‘인프메이션’ (구: 주간 인프런) 발행을 맡고 있는데요.인프런 공식 SNS 채널 삼대장, 페이스북 + 인스타그램 + 트위터에서만 볼 수 있는 스페셜 콘텐츠(!)의 존재를 모르고 계셨던 인프러너 분들께 깜짝 소식을 전하러 왔습니다.바로... 2022~2023년 동안 인프런 공식 뉴스레터로 보내드리던 ‘인프런 단어짱’ 코너가 올해 3월부터 공식 SNS에서 재개되었어요.  인프런 단어짱이 뭔데? IT 용어에 대한, 왕초보도 알 수 있는 (중요!) 쉬운 해설이 필요하다는 건 저 역시도 인프런에서 일하면서 직접 뼈저리게 느끼곤 했는데요.(nn년 전 IT와 아~무 상관없는 전공 + 구)스타트업 깡신입의 대환장 조합...! 🥲)그래서인지, 그동안 인프런에서 발행했던 수많은 콘텐츠 중에서도2020년 ‘뉴비를 위한 개발 용어 사전’2022년 ‘소소한 IT 용어 모음집 - 인프런 단어짱’에 반응을 보내주셨던 분들이 유독 많아 놀랐던 기억이 있어요. 아무튼, 이번에 다시 부활한 인프런 단어짱은 더 자주 + 더 쉽게 더 많은 분들께 IT 개발 용어 뜻을 철저히 뉴비, 개발 왕초보 관점에서 알려드리는 걸 포부(?)로 삼고 있답니다! 담당자의 과한 드립 욕심(...)은 보너스 오늘까지 API, 기술 부채, 컴파일/인터프리트, 백도어, 마이그레이션 등 여러 IT 용어에 대한 해설과 에피소드가 공개되었으니 뜻이 알쏭달쏭하셨거나, 인프런이 하고 있는 무언가(?)가 궁금하신 분들이라면 언제든 인프런 공식 페이스북 / 인스타그램 / 트위터를 찾아와주세요! 여러분의 팔로우와 좋아요❤가 인프런 담당자를 춤추게 합니다...! 덩실덩실 항상 인프런과 함께해주시는 많은 분들께 감사드립니다. (Hoxy... 인프런이 초면이라면, 이것도 인연인데 앞으로 더 자주 만나요! 🫂)우리 함께 배우고 나누고 성장해요! 🍀인프런 마케터 솔 드림

기타 (개발 · 프로그래밍)기술부채컴파일백도어마이그레이션IT인스타그램페이스북트위터API인프런

한기용

성장하는 조직의 기술 부채는 언제 갚을까?

작은 회사에서 속도에 초점을 맞추고 주니어 중심으로 개발을 하면 당연히 기술 부채가 쌓인다. 워낙 숨 가쁜 일정으로 돌아가다 보니 유닛 테스트를 만드는 건 꿈도 꿀 수 없고 최종 QA(Quality Assurance)도 대충 하고 프로덕션에서 실제 고객들이 테스트 아닌 테스트를 하는 일도 다반사다. 자잘한 버그가 자주 보고되는 것은 물론 가끔 사고도 터지며, 이런 기술 부채로 인해 생긴 누더기 같은 코드로 인해 새로운 기능 개발도 지연되기 시작한다.  그렇다고 내일도 살아있을지 아무도 모르는 작은 회사에서 항상 깔끔하고 완벽하게 테스트된 코드만 지향하거나 무모하게 새로운 프레임워크를 사용해 볼 수도 없는 노릇이다. 시작하는 단계의 스타트업이 빠른 속도와 무결점 중 꼭 하나만 선택해야 한다면 속도를 선택하는 편이 유리하다는 게 내 생각이다. 그 대신 아래의 내용을 참고하면 돈이 더 생기고 더 경험 있는 사람을 뽑기 전까지 리스크를 최소화할 수 있을 것이다. 어느 시점부터는 슬슬 사고의 빈도가 늘며 정도도 심해지기 시작할 때 그 때부터는 아래를 고민해보는 것이 좋은 듯 하다.서비스 모니터링 프로세스를 만든다. 서비스에 문제가 생기면 빨리 인지하고 해결하는데 초점을 맞추는 것이다. 이 것도 상당한 노력과 시간을 필요로 할 수 있는데 기술 부채를 많이 안고 가는 상황에서 모니터링에 대한 노력을 먼저 기울이는 것이 맞다고 본다. 어떤 지표를 바탕으로 서비스의 안정성을 측정할 것인지 그리고 서비스에 문제가 생겼을 경우 어떻게 escalate하고 문제해결을 할지 점진적으로 개선해가며 프로세스를 만드는 것이다. 또한 사고의 심각성에 따라 재발을 막을 방법을 찾아봐야 하는데 이건 뒤 문단에서 이어서 더 이야기해보겠다. 2. 매주 엔지니어링 미팅 등에서 지난 한 주간의 버그와 사고를 리뷰하고 이유를 파악한다. 유닛 테스트 코드를 붙이지는 못하고 QA를 충분히 하지 못하더라도, 이미 발견된 버그와 사고가 재발하는 것을 방지하기 위한 테스트는 붙이는 것이 필요하다고 본다. 서비스 모니터링 프로세스가 어느 정도 자리잡혀있다면 사고 리뷰는 상대적으로는 쉬워진다. 만일 버그와 사고의 빈도가 점점 높아진다면 새로운 기능 개발뿐 아니라 기존 코드의 리팩토링에도 시간을 써야 한다. 유데미 시절 데이터 엔지니어링 팀은 이슈가 늘어나면서 그러다가 대형 사고를 한번 겪고 난 뒤 최대 40%의 시간을 리팩토링에 할애했다.  3. 훌륭한 개발자는 자신이 만든 결과물이 실제 사용자들에 의해 어떻게 사용되는지 관심이 많고 실제 사용자의 피드백에 귀를 기울이는 사람이다. ‘개발 다 했으니 내 업무는 끝!’이 아니라 어떻게 쓰이는지 보고 개선하려는 의지가 있다는 말이다. 인정받는 개발자 혹은 좋은 개발 팀의 매니저가 되고 싶다면, CS/CX 팀과의 협업 채널을 만들고 주기적인 미팅을 통해 고객의 소리를 들어보고 사람이 되자. SDD(Support Driven Development)라는 말을 들어봤는가? Y Combinator 스타트업 스쿨에서 강조하는 원칙 중의 하나이다.   몇 가지 상대적으로 쉽게 붙여볼 수 있는 중요한 성능 모니터링이 있는데 첫 번째는 백엔드 데이터베이스의 오래 걸리는 쿼리를 모니터링하고 문제 되는 부분을 찾아 미리 최적화하는 것이고 두 번째는 서비스 홈페이지나 중요 API의 실행시간 (latency) 모니터링을 해보는 것이다. 이를 기술 부채를 해결하기 위해 단기적 관점에서 해볼 수 있는 일이다.  물론 위와 같은 방법을 동원해도 사고는 터진다. 그중 몇 건은 대형 사고일지도 모른다. 그럴 때 중요한 것은 사고를 바라보는 경영진의 관점인데, 특정인이나 팀을 향해 손가락질하기보다는 사고 경위서를 작성해서 사고의 원인을 이해하고 재발 방지 대책을 세운 뒤 사내에 공유하는 과정에 집중해야 한다. 여기서 포인트는 경위서 작성 자체가 아니라, 밝혀진 문제의 재발을 막기 위한 조치들이 경위서의 내용에 포함되고 이런 조치들이 실제로 구현되어야 한다는 점이다. 온라인 서비스에서 사고는 언제 일어나느냐의 문제지 피해갈 수는 없다. 회사가 망할 정도의 사고만 아니라면 조직 구성원 모두가 기술 부채 등의 다양한 이슈를 체감하고 이를 줄이기 위해 노력할 수 있는 기회가 된다는 사실을 잊지 말자. 모든 위기는 기회가 될 수 있다. 모든 사람들이 기술 부채 문제를 체감하는 회사가 망할지 않을 정도의 대형 사고를 내가 사랑하는 이유다 🙂 What doesn’t kill you makes you stronger!

기타 (개발 · 프로그래밍)기술부채사고경위서SDD

솔 (Sol)

우당탕탕! IT 회사 운영팀 공감 에피소드

“꼭 개발자만 코딩하고, 기술 얘기를 할까?” No! 테크 기업이나 개발자와 밀접하게 일하는 환경에서는 개발 직군이 아니더라도 문제를 해결하기 위해 코드를 짜고 구축하거나 개발자와 소통할 일이 종종 생기기 마련이죠.재미와 공감 사이! 인프런 운영팀에서 벌어진 가벼운 에피소드 세 가지를 소개할게요. (모든 에피소드에는 재미를 위한 약간의 양념(!)이 들어가 있습니다. ㅎㅎ)Episode 1. 강력 새로고침 그게 뭔데…?때는 2019년, 개발은커녕 컴퓨터도 잘 모르던 인프런 신입 콘텐츠 에디터 솔. 입사 첫 달, 버그를 발견하고 다급하게 개발 파트의 문을 두드렸는데요.조슈아(데브옵스 엔지니어) 말씀하신 버그 수정해서 배포했어요. 혹시 지금도 안 되나요?솔(콘텐츠 에디터) 넵! 아직 동작이 안 되고 있어요. ㅠㅠ조슈아(데브옵스 엔지니어) 아아 크롬 쓰시죠? 그럼 강력 새로고침 한번 해보실래요?솔(콘텐츠 에디터) …네?조슈아(데브옵스 엔지니어) 강력 새로고침이요!솔(콘텐츠 에디터) (멘붕) 어… F5를… 연타하면 되나요?구글 크롬(Google Chrome) 등의 브라우저에서 캐시된 데이터를 비우고 서버에서 새로 데이터를 받아오는 기능을 강력 새로고침(Hard Reload)이라고 하는데요. (Ctrl/Command + F5 또는 Ctrl/Command + Shift + R) 지금은 웃으면서 얘기하지만, 신입 시절 가장 당황스럽고 낯설었던 용어 중 하나였답니다 😂(부디 저만 모르는 용어가 아니었길 바라며...)Episode 2. 기술 사채(?)퇴근하고, 주말마다 짬짬이 파이썬 프로그래밍을 공부했던 B2B 파트 리드 고트. 이제 파이썬으로 자동화 처리나 웹 크롤링 등 간단한 작업을 할 수 있게 되었어요.고트(B2B 리드) 이제 이 코드를 실행시키면 제휴 기업에 필요한 데이터가 주루룩 떠요.솔(콘텐츠 에디터) 오오 대박… 완전 멋진데요. 근데 시간은 원래 이렇게 좀 걸리는 거예요?고트(B2B 리드) 그게 주먹구구로 코드를 짜서 성능은 어쩔 수 없어요. 저번에 코드 짜는 거 도와주신 개발자 한 분이 코드 보시더니 당황하시더라구.솔(콘텐츠 에디터) 기술 부채네요. ㅋㅋㅋ 리팩터링(Refactoring)을 해보면 어때요?고트(B2B 리드) ㅋㅋㅋㅋㅋ 음… 이건 기술 부채라고 할 만한 게 아니라 기술 사채를 쓴 거에 가깝기 때문에…영차영차 짜놓은 여러분의 코드, 지금 안녕하신가요? 파산 위기(?)에 놓이지 않게 조심하세요! 😓(기술부채_1장_요약.jpg) ©MBCEpisode 3. 위즈는 나야 둘이 될 수 없어?인프런 운영팀에서는 간단한 자동화가 필요할 땐 재피어(Zapier)라는 툴을 많이 활용하고 있어요. 특히 자동화에 진심(!)인 콘텐츠 MD 위즈가 여러 업무 태스크를 위한 자동화 봇을 재피어로 여러 개 구축해두었는데요.그 중 하나가 바로 æ-위즈! 콘텐츠 파트의 수많은 업무를 대신해주는 똑똑한 알림봇입니다.(요것이 æ-위즈. 걸그룹 에스파æspa에서 이름을 따왔어요.)하지만 자동화가 잘 갖춰진 환경을 마련하기까지는 쉽지 않은 법. 한번은 이런 얘기가 나온 적이 있었어요.메리(콘텐츠 MD) 근데 정산 관련해서 그 데이터는 누가 정리하고 있어요?코니(콘텐츠 MD) 어? 그거 æ-위즈가 자동으로 해서 알려주는 거 아니예요?위즈(콘텐츠 MD) 네 원래는 æ-위즈가 하는 게 맞는데…메리(콘텐츠 MD) 맞는데…? (불안)위즈(콘텐츠 MD) 재피어에서 뭐가 바뀌었는지 요새 봇이 안 울려서 æ-위즈 대신 사람 위즈가 하고 있습니다. 이번 달 데이터… 오늘 제가 정리해야 하거든요… ㅠㅠ전원 (숙연…)사람 손을 타지 않는 완전한 자동화의 길은 멀고도 험한 걸까요? 🥲더 편리한 업무 환경을 만들고, 똑똑하게 일하기 위한 팀원들의 고군분투는 계속됩니다. 쭉~!

기타 (개발 · 프로그래밍)강력새로고침기술부채자동화zapier재피어코딩