<aside>
저는 ‘**전문 지식을 바탕으로 빠르고 정확하게 최적의 선택을 통해 효율적으로 개발’**합니다
</aside>
🧑🏫 전문 지식
<aside>
Class101 Django 강의 준비
“회사 내부 기술 공유에서 유튜브, 블로그를 넘어 온라인 강의를 준비하고 있습니다”
- 주요 커리큘럼
- 프로젝트 설정
- 인증 및 권한
- Views & Viewsets
- Serializers
- API 기능 구현
- Models(ORM)
- API 문서화
- 성능 최적화
- 테스팅
- 배포 및 운영
- 유틸 및 실무 팁
</aside>
<aside>
SSO 및 인증/인가
인증, 인가 관련된 전문적인 지식
- OAuth2.0 기반 SSO 서비스 구축 경험
- Client Credentials, Authorization Code, PKCE 등
- Django의 Lazy Load를 이용한 JWT 미들웨어 한계 극복
</aside>
<aside>
성능 고도화
단순히 기능 구현을 넘어 최고의 성능을 낼 수 있도록 고도화
- 숏링크의 경우 항상 빠르고 가벼운 숏키를 생성하기 위해 노력
- 많이 사용하는 방식의 한계를 넘으려고 다양한 시도
- 메세징 시스템의 경우에도 최소한의 리소스로 가장 빠르게 발송하는 것을 주요 목적으로 함
- 또한 누락 등 로깅/모니터링에도 주의
- 적은 리소스에서도 최대한의 성능을 낼 수 있도록 구현
“자세한 내용은 상위 페이지에서 확인 가능합니다”
</aside>
⏰ 빠른 속도
<aside>
AI 도구 전문가
다양한 도구를 알맞게 사용하여 생산성 향상
- AI 도구의 종류와 역할, 장/단점을 알고 있다면 좀 더 정확한 사용이 가능
AGENTS.md 와 같이 정확한 답변을 유도하는 컨텍스트 활용
- 의존하는 것이 아닌 서포터나 도구로써의 사용
- 높은 성능을 낼 수 있도록 알맞는 방법으로 정확하게 사용
- CLI 도구, IDE 플로그인, 브라우저, 백그라운드, 웹 앱 등 다양한 형태로의 사용
</aside>
<aside>
업무 자동화
비효율적인 반복 업무는 자동화하여 개선
- 최근엔 인간 개입 없이 대부분 AI를 이용해서 자동화가 가능
- 웹이나 앱, 외부 기기 조작까지도 가능
- 지라 티켓 생성, 코드 리뷰, 설계 문서 초안 작성, 요약 등 다양한 활용이 가능
- 오늘 한 일 평가 및 내일 할 일 정리 등 업무의 효율을 높일 수 있음
</aside>
<aside>
정기적인 교육
지속적인 교육을 통해 업무 효율 및 생산성 강화
- 배우는 것도 좋아하지만 배운걸 공유해주는 것에도 크게 관심을 갖고 있음
- 내가 알고 있는걸 정기적으로 팀내에 공유하여 전체적인 업무 능력 향상에 기여
- 그 외 논의나 리뷰 등을 통해 전체 스타일, 규칙 등을 정하고 맞춰 개발하면 생산성도 자연스럽게 개선
</aside>
📐 정확한 개발
<aside>
개발 설계
개발을 하기 전 기획을 바탕으로 설계 → 설계 리뷰 진행
- 설계 후 개발을 하게되면 정확한 개발 가능
- 기획자, 협업자들과 함께 소통하며 설계
- 설계에 시간이 걸리긴하지만 정확한 설계로 개발 속도 향상
- 정확한 방향으로의 개발 가능 등
</aside>
<aside>
소통
"함께 만들어가는 사람들과의 지속적인 소통은 성공적인 프로젝트의 핵심입니다."
- 투명한 공유: 기획, 디자인, 프론트엔드 등 유관 부서와 진행 상황 및 기술적 제약을 투명하게 공유하여 오해를 줄이고 하나의 공동 목표를 향해 개발
- 적극적인 경청과 피드백: 동료의 의견을 경청하고, 코드 리뷰 등을 통해 건설적인 피드백을 주고받으며 더 나은 결과물을 생성
- 문서화를 통한 소통: 단순히 코드로만 말하는 것이 아니라, API 명세서나 설계 문서를 명확하게 작성하여 협업 비용을 줄이고 유지보수 효율을 높임
</aside>
<aside>
테스트 코드
개발자가 할 수 있는 최소한의 안전 장치
- 개발된 기능에 대해선 테스트 코드 작성 필요
- 각 함수나 모델 등 유닛 테스트부터 E2E, 부하 테스트까지 다양한 검증
- 테스트 자동화를 통해 항상 안전한 상태 유지
</aside>
⚖️ 최적의 선택
<aside>
트레이드 오프
‘지금의 선택은 미래의 나에게하는 질문’
- 단기적인 개발 속도와 장기적인 확장성, 유지보수성 사이의 균형을 고려
- 무조건 최고의 기술이 아닌, 주어진 리소스와 비즈니스 목표에 맞춰 비용 대비 최적의 선택
- 미래의 요구사항 변경에 유연하게 대처할 수 있는 설계를 추구
- 오버엔지니어링을 지양하고 꼭 필요한 부분에 집중
</aside>
<aside>
정량적 비교
각 항목별로 수치화하여 객관적인 비교
- 비교군들을 다양한 지표를 바탕으로 수치화하여 비교
- 단순히 성능만 비교하는 것이 아닌 비용, 시간 등 실제 운영을 기준
- 측정된 수치에 대한 근거도 작성 필요
</aside>