Backend developer
Introduction

소프트웨어 엔지니어 차재윤입니다.

대학 커리큘럼에 따라 컴퓨터 과학을 공부하다가 우연히 사이드 프로젝트를 하게 되었고, 이때부터 개발의 재미를 느껴 학습을 이어왔습니다. 누구의 도움도 받지 않았던 사이드 프로젝트부터 시작해 단기간에 인턴, 프리랜서, 직장 생활까지 다양하게 경험했습니다.

많은 개발자가 빠르고 견고하며 안정적인 뛰어난 서비스를 지향하듯 저 역시 그런 모습의 개발자를 목표로 하고 있습니다. 하지만 단지 기술적인 측면만을 생각하기보다는 지속 가능한 코드를 작성하는 것, 팀원들과 함께 할 수 있는 코드를 작성하는 것, 확장성 있는 구조와 같은 것들도 고민합니다. 무엇보다 비즈니스 가치를 소프트웨어에 잘 녹여내는 것이 가장 중요하다고 생각하고, 그 가치를 이어나가는 방향이라고 믿기 때문입니다.

저는 이런 사람입니다.

  • 컴퓨터과학을 잘 이해하고 있으며, 새롭게 학습하거나 경험한 것들을 놓치지 않기 위해 꾸준히 회고합니다.
  • 좋은 제품과 좋은 코드, 좋은 아키텍처가 무엇인지 끊임 없이 고민하고, 높은 가치를 만들기 위해 노력합니다.
  • 작은 협업 프로젝트여도 구성원과의 커뮤니케이션 중요시하여, 원활한 소통, 팀 내 컨벤션 구축 등에 힘쓰고 있습니다.
  • 코드를 작성할 때에는 목표와 의미를 명확히 하여 사고 내용을 논리적으로 풀어내기 위해 노력합니다.

새로운 회사를 기다립니다.

  • 좋은 개발자가 되기 위해서 중요한 것들 중 한 가지는 어떤 서비스를 운영하고 확장해나가며 여러 문제들을 마주해야 한다고 생각합니다.
  • 단지 새로운 기능들을 구현하는 것보다는 확장성과 지속 가능한 코드 등 더 높은 차원의 고민을 하고 싶습니다.
  • 복잡한 비즈니스 도메인을 심도 있게 고민하여, 이들을 소프트웨어로 잘 표현해낼 수 있는 환경을 경험하고 싶습니다.
  • 규모가 큰 서비스, 비교적 오래 일할 수 있는 환경을 지향합니다.
  • 현재 산업기능요원으로 재직 중이므로 보충역 전직이 가능한 회사를 기다립니다.

Last updated: 4/26/2023

Experiences
Backend Engineer
2022.05 - Now
단골을 만들어주는 고객 메신저
  • (現) B2C 신사업 개발팀 소속

    • Datadog 분석 및 API 성능 개선

      • 높은 Latency의 API들의 병목지점을 발견/분석/해소하여 API 성능을 개선함
      • 고객 문의 매니저 배정 API는 2~10배 이상 Latency 단축(p50~p99 기준)
      • 이외에도 Session 등 다른 병목 지점을 발견하고 작업 인계
      • 코드베이스 전반적으로 잘못 사용되던 반복 동기식 호출을 개선
      • 이후 성능 개선의 과정과 Async 추상 모듈의 내부 동작을 내부 세션으로 발표함
    • 인하우스 CRM 설계 및 개발

      • 인하우스 프로덕트들이 잘 통합될 수 있는 시스템 설계
      • 초기 프로젝트 구성(Swagger, 통합 테스팅 환경 구축 등)
      • Deal 조회 화면의 성능 병목 해소를 위해 기존 조회 API에 Pagination 적용하여 초기 페이지 로딩 속도 크게 향상
      • Infinite Scrolling 클래스 구현(채널톡 프로덕트 API 서버에도 적용)
      • 세일즈 매니저들이 사용하는 Deal 기능 유지보수 및 신규 기능 개발(2023.04 기준 3000개 이상의 Deal이 생성됨)
    • 인하우스 Document System 설계 및 개발

      • 채널팀 최초의 Go 서비스 프로덕트로 초기 구조 설계에 기여함
      • Document System에서 사용할 Node.js 미디어 서버 기능 개발
      • 기능 개발 외에 미디어 서버에 기존에 없던 ESLint, Prettier를 적용
    • 코딩 컨벤션 CT 참여

      • 입사 직후 모호한 컨벤션을 확립하던 중, 코딩 컨벤션 CT에 참여
      • 컨벤션 자동화를 위한 Lint, 설정 등을 리서치
      • 팀내 컨벤션을 정리하고, 불필요한 컨벤션을 삭제
    • 그 외 업무들

      • 고객 문의 검색 필터링 TF 참여
      • 상담요약 TF 참여
      • Airflow 프로젝트의 초기 구조 구축 및 고객사 결제 실패 알림 자동화 기능 구현
      • JavaScript SDK의 Legacy Option 사용처 트래킹 서버 구축
    (주)와이피얼라이언스
    PM & Backend Engineer(Freelancer)
    2021.07 - 2021.11
    우리나라 좋은 직장, 우리나라 좋은 기업
    • 구인·구직 웹사이트를 위한 데이터 모델링 및 REST API, 어드민 웹사이트 개발

      • 비즈니스 클라이언트와 직접적으로 소통하며 프로젝트 기획에 적극적으로 참여
      • 비즈니스 요구 사항에 따른 데이터 모델링
      • 기업 등록, 채용 공고, 직원 관리, 채용 프로세스 등 다양한 도메인의 REST API를 개발
      • AdminJS 라이브러리를 활용한 어드민 웹사이트를 개발
      • 이외에도 팀 내 컨벤션, 개발 프로세스 등을 정의한 문서들을 다수 작성
    • AWS Cloudformation 환경에서의 인프라 자동화

      • VPC, Security Groups, ALB, ECS로 구성된 클라우드 인프라를 구축하는 템플릿을 작성
      • 필요에 따라 QA, Development 서버 환경을 쉽게 구축하여 리소스를 큰 폭으로 절감
    • Docker, GitHub Action 환경에서 AWS ECS 서비스로의 무중단 배포를 구축

      (주)와이피랩스
      Backend Engineer
      2021.01 - 2021.04
      취미, 일상, 고민을 떠들 새로운 사람들. 클린한 소셜 대화 플랫폼 커넥팅
      • Django REST Framework 백엔드 시스템 개발

        • 커넥팅 서비스에 구독 기능을 추가하는 스프린트에 참여
        • 구독 시스템 데이터 모델링 참여
        • 구독 상품의 아이템 지급 기능 개발
        • 회원 데이터를 마이그레이션하는 Custom Management Command를 만들어 안정적으로 데이터 이전
      • Django 프로젝트 리팩토링

        • 프로젝트 설정을 보다 유연하게 관리할 수 있도록 Django Config 모듈 별로 분할
        • 프로젝트 전반적으로 사용되던 Password, Token 등의 매직 스트링을 수집하여 환경변수로 관리
        • 급격하게 커진 프로젝트 코드베이스를 전반적으로 리팩토링
        • 사용 빈도가 높은 scripts들을 Pipfile에 작성하여 작업 효율을 상승
      • 사용자 활동 데이터 로깅 및 분석

        • Cloud Function, BigQuery를 활용하여 사용자 가입 요청 대비 승인/비승인 이벤트 로깅
        • 가입 단계 이탈률 분석을 위해 회원가입 단계에서 발생하는 FA 로그로부터 회원가입 퍼널 생성
        • 통화 매칭 데이터 분석을 위해 Apache Beam Python SDK, Cloud Dataflow를 활용하여 Firebase Analytics의 로그와 API 로그의 데이터 파이프라인 프로토타입 구축
      (주)보바
      Backend Engineer(Intern)
      2020.07 - 2020.09
      보바는 어디서든 언제나 문서 파일의 인쇄 요청을 보내고 가까운 프린터에서 출력물을 받아갈 수 있는 가장 최신의 클라우드 프린팅 플랫폼입니다.
      • Firebase Cloud Function 개발

        • 기존의 onCall 형태 호출 함수들을 onRequest 형태의 호출로 전환하여 API 호출 유연성 향상
        • 프로젝트 전반에 걸쳐 Express.js 프레임워크에 최적화된 Layered Architecture를 적용하여 구조화
        • Iamport API 클라이언트 모듈을 구현하여 결제 로직에 적용
        • 기존 API의 Jest 유닛테스트를 작성하여 프로젝트의 안정성 향상
      • 데이터 모델링 참여

        • NoSQL에 최적화된 정규화가 적용되지 않았던 기존의 데이터 모델링의 문제점과 쿼리 퍼포먼스의 문제점을 극복하고자 Realtime Database에서 Firestore로 마이그레이션 제안
        • 개발 팀장, 취약점 분석가로 구성된 팀으로 Firestore에 적용할 NoSQL 데이터 모델링에 참여
      Side Projects
      PM & Backend Engineer
      2021.11
      모두와 함께하는 요리, 이웃과 함께하는 홈쿡
      Backend Engineer
      2020.08 - 2020.12
      Node.js 기반 Learning Management System
      • 2020년도 세종창의학기제 프로젝트

        • 인코로나 시대에서 가장 많이 활용하는 LMS의 문제점을 개선하고자 프로젝트를 구상

          • 다양한 LMS를 접하고 도메인을 분석하여 많은 기능들을 구현

            • 활용 기술: TypeScript, Koa.js, Nest.js, Mongo DB, AWS EC2, AWS S3, AWS Codedeploy, Travis CI, Nginx, Docker

              Backend Engineer
              2020.03 - 2020.06
              인스타그램 쇼핑몰 크롤링 기반 자동화 웹 쇼핑몰
              • SPA 웹사이트 크롤링 및 상품 생성 자동화

                • 인스타그램의 해시태그를 Puppeteer.js 기반으로 게시글을 크롤링하여 정보를 수집하고, 홍대병 쇼핑몰에 상품 게시글 업로드 자동화
              • Layered Architecture 프로젝트 구성

                • CI/CD 파이프라인 구축

                  • GitHub Webhook, Docker Hub, Jenkins Shell Script를 활용한 첫 자동화 배포 경험
                • AWS EC2 환경에 배포

                  • 활용 기술: JavaScript, Express.js, Puppeteer.js, Mongoose.js, Docker(Docker Hub, docker-compose), Jenkins, AWS EC2, AWS S3, Nginx

                    • 관련 자료
                    Educations
                    2017.03 ~ 재학 중
                    세종대학교  컴퓨터공학과 전공(학사)
                    Skills
                    GoNode.jsJavaDockerMySQLMongoDBRedisAmazon AWSGitHub