목차
- 인사와 일상 대화
- 실력 향상과 공부 방법
- 시스템 디자인과 대규모 트래픽 처리
- 개발자 역량과 기본기 중요성
- 문서화 및 커뮤니케이션 문화
- AI와 LLM 활용한 개발 방식 변화
- 코딩과 로직 정리의 본질
- 오픈소스 컨트리뷰션과 사이드 프로젝트 고민
- 커피챗 경험과 네트워킹
- 재미있는 개발 관련 링크 및 툴 소개
1. 인사와 일상 대화
- 개발자들 간 자연스러운 아침 인사와 출근 준비 이야기 오갔음.
- 간혹 시스템 오류, 로그아웃 문제 발생해 공유됨.
- 채팅 봇(“채찍피티”)가 대답을 안 할 때는 ‘채찍질’이 필요하다는 유머도 있었음.
2. 실력 향상과 공부 방법
- "많이 해봐야 실력이 늘어난다"는 의견이 다수.
- 특정 강의(‘카카수 님 강의’) 추천 및 해당 강의가 효과적이라 언급됨.
- “좋아요”를 누른다고 실력이 자동 상승하는 건 아니지만 동기부여나 간접적 학습 효과로 연결될 수 있음.
- 일상적으로 글을 읽고 개발자끼리 소통하는 것도 실력 향상에 중요한 역할을 한다고 강조됨.
3. 시스템 디자인과 대규모 트래픽 처리
- 시스템 디자인은 대규모 트래픽이나 동시성 문제를 해결하는 데 필수적임.
- Duolingo 사례 공유:
- 3,140만 명 사용자를 대상으로 슈퍼볼 광고 후 5초 내에 600만 개 알림 전송하는 난제였음.
- 기존 시스템은 초당 10,000건 처리 가능했으나 800,000건/초 처리 요구를 맞춰야 했음.
- Android 앱에서 동시 요청 폭증 문제(마치 DDoS 공격과 유사한 현상)도 있었음.
- 시스템 디자인 질문의 본질은 기술 스택을 전부 아는지 여부보다, 처음 보는 문제가 발생했을 때 어떻게 진단하고 대처할 것인지에 중점을 둠.
4. 개발자 역량과 기본기 중요성
- 불필요한 기술 스택을 무작정 외우기보다 기본 개념에 충실하고, 필요한 순간에 빠르게 습득할 수 있어야 함.
- 실력은 많이 경험한 사람이 승리한다는 ‘백문이불여일타’(백 번 듣는 것보다 한 번 해보는 게 낫다) 원칙 강조.
- 시스템 디자인 공부는 필요하지만, 신입 개발자에게는 실제 경험이 함께 수반되어야 한다는 의견도 존재.
5. 문서화 및 커뮤니케이션 문화
- 에이스 백엔드 개발자는 문서화를 철저히 하며, ERD 설계와 Contract Driven Development(CDD)를 익히는 것을 권장함.
- 문서화란 단순히 문서 작성만이 아니라 코드와 문서가 일치하도록 지속적으로 유지하는 문화가 중요함.
- Docker 같은 도구로 로컬 환경 설정 및 로그 확인 체계를 갖추면 이슈 분석에 도움됨.
- ‘문서화’가 개발의 중요한 태스크임에도 불구하고, 회사 문화가 이를 게으른 행위로 보는 경우가 있어 개선 필요성 제기됨.
6. AI와 LLM 활용한 개발 방식 변화
- 프롬프트 주도 개발(PDD), 주석 주도 개발(CDD) 등 AI와 대화를 통한 개발 방식의 가능성을 토론함.
- AI 모델별 특성 차이가 있어, 프롬프트 구성과 튜닝이 개발 효율에 큰 영향을 미침.
- 로직 정리만 잘 되어있으면 AI가 코드를 생성하고 구체화해 줄 수 있어 개발 생산성이 올라감.
- 다만 코드 수정과 디버깅 과정은 여전히 사람의 창의성과 논리 정리가 필요함.
7. 코딩과 로직 정리의 본질
- 많은 개발자가 ‘코딩이 어렵다’고 느끼지만 진짜 어려운 것은 ‘문제를 어떻게 정리하고 해결할지 아는 것’임.
- 로직 정리가 안 돼서 복잡한 조건문과 로직 꼬임이 발생, 코딩 난이도가 높아짐.
- AI 도구는 로직 아이디어를 바탕으로 코드를 생성하지만, 결국 ‘무엇이 문제인가’에 대한 명확한 이해가 선행되어야 함.
8. 오픈소스 컨트리뷰션과 사이드 프로젝트 고민
- 개인 시간 투자에 대해 오픈소스 기여와 사이드 프로젝트 중에서 고민하는 의견 많음.
- 임팩트 측면에서 오픈소스 컨트리뷰션이 더 낫지 않냐는 반응.
- 본인의 흥미와 성장 목표에 맞춰 선택할 필요가 있음.
9. 커피챗 경험과 네트워킹
- 스타트업 HR로부터 받은 커피챗 요청에 대해 어떤 질문을 할지, 이야기를 어떻게 이끌지 고민하는 모습 관찰.
- 커피챗은 단순 면담을 넘어 기술적인 대화, 경험 공유, 인사이트 교환 기회가 될 수 있음.
- Linkedin, dev.to 등에서 꾸준히 글을 쓰며 네트워킹을 확장하는 것도 좋은 방법임.
10. 재미있는 개발 관련 링크 및 툴 소개
- React 라이브러리 “Wake me”: 박수 소리나 손가락 튕김 등의 소리 인식해 웹에서 AI 호출이나 기능 동작 가능
- Duolingo의 초대규모 푸시 알림 시스템 소개 글(중간 번역 누락 문제 있음)
- 벨로그에 올라온 ‘Wake me’ 소개 글: https://velog.io/@hmmhmmhm/wake-me
면접팁⚡
- 가상면접 시스템 설계 질문 시
- 모든 인프라를 완벽히 아는지 묻지 않음
- 처음 보는 문제 발생 시 어떻게 상황을 진단하고 접근할지, 문제 해결 과정을 중점적으로 설명하는 것이 중요함
- 시스템 디자인 이론을 단순 암기보다 상황에 맞춰 유연하게 적용하는 능력이 평가 대상임
- 서비스 개선 사례를 말할 때는 실제로 벤치마크나 테스트로 개선 효과를 입증한 점을 함께 언급하면 신빙성이 높아짐
- 문서화 및 커뮤니케이션 문화에 대해 자신의 경험과 생각을 구체적으로 이야기하면 좋은 인상 줌
링크🔗
- Duolingo 대규모 알림 처리 사례
https://medium.com/@dmosyan/duolingo-sending-6m-notifications-within-5-seconds-c630145038c3 - React 소리 인식 라이브러리 “Wake me” (데모)
https://codepen.io/hmmhmmhm/full/RNbdjeV - “Wake me” GitHub 저장소
https://github.com/llami-team/wake-me - “Wake me” 벨로그 소개 글
https://velog.io/@hmmhmmhm/wake-me
#시스템디자인#개발자역량#AI개발#문서화#오픈소스#트래픽처리#커뮤니케이션#LLM#코딩로직#네트워킹