채용공고 올리기

신윤수님을 응원해보세요!

INFCON 참여
가벼운 티타임 좋아요
성실함
책임감
협업 지향
커뮤니케이션
적응력

미리보기

기본 정보

이름
신윤수
직업
Node.js 백엔드 개발자
간단 소개

- Node.js 백엔드 개발자입니다. - 다른 언어와 기술을 배우는데 거부감이 없습니다. - 집요하게 파고드는것을 좋아하고, 더 나아가 팀원들이 볼 수 있도록 문서화하는것을 즐깁니다. - 이해가 안되는 부분이 있을때 답을 못찾을수는 있어도, 답을 추론할 수 있는 근거는 찾아냅니다. - 낮은 결합도와 높은 응집도를 나타내는 코드를 작성하려고 노력합니다. - 코드를 작성하지 않은 개발자가 봤을때도 한 눈에 알아 볼 수 있는 코드를 작성하려고 노력합니다.

기술 스택

기술 스택

NestJS, Node.js, MongoDB, MySQL, TypeScript, rabbitmq, Redis, TypeORM, Mongoose, github-actions, aws-ec2, aws-s3, Lambda

경력

회사명

젠테

직급 | 부서 | 근무 유형

사원 | 개발팀 | 재직 중

근무 기간

2022.10. ~ 재직 중 (2년 5개월)

담당 업무
  • 젠테의 자체 ERP (Jente Foret) 신규 기능 개발 및 유지보수

    • Blocking되는 작업들은 RabbitMQ사용하여 비동기로 실행되도록 처리

      • 스마트스토어와 같은 외부 채널 API 사용할때 상품 업데이트 경우 한 작업단위당 수만번 이상의 요청을 보내야해서 페이지 blocking → non blocking으로 실행되도록 설계

      • 외부 채널 주문을 ERP에 동기화하는 작업은 단순히 외부 api 사용하여 DB에 저장하는것이므로, k8s ingress를 설정하지 않아도 가능하게 할 목적으로 cli 이용하여 Airflow로 실행되도록 개발

    • MongoDB에서 많은 양의 데이터를 cursor로 조회하여 stream 처리 → 부하 감소

      • 엑셀 다운로드시 수십만개 이상의 데이터를 담아야하는데 이때 DB에서 한 번에 조회시 서버 메모리 사용량 급증 → chunk단위로 조회하여 stream으로 가공하고 엑셀 파일 생성하도록 수정

    • session, redis 이용하여 admin이 user 정보 변경시 모든 기기에서 로그아웃, 특정 아이디로 대신 로그인

      • express-session 라이브러리 사용 → 세션이 생성될때 readonly 처리되어 수정이 불가능하고, key가 랜덤값으로 생성되어 특정 user에 대한 세션 정보가 어떤것인지 알 수 없어 redis에 별도로 유저 정보와 세션키값을 저장하여 접속 제어

  • 100여개 이상의 부티크 API 연동 개발 및 유지보수

    • 부티크와 지속적으로 트러블 이슈 관련 협업 진행

      • 다양한 포맷을 가진 데이터를 자사 포맷에 맞게 가공 (shopify, cloudstore, atelier, etc.)

  • 외부채널 연동 서버 개발 (스마트스토어, 포이즌)

    • 기술스택: NestJS, MongoDB, Mongoose, CQRS, Redis, RabbitMQ, Docker, K8s, Airflow, RxJS

    • 스마트스토어 application 계정별로 rate limit이 달라 scale out이 제한적 → k8s deployments를 사용하다가 statefulset으로 변경하여 scale out시 rate limit이 여유로운 application 계정을 사용하도록 개발

    • cqrs 패턴을 사용하여 각 layer가 의존성을 갖지 않도록 설계

      • typescript interface로 class 추상화

    • 도메인 객체 적용

      • 데이터를 캡슐화하여 의도하지않은 데이터 수정 방지

      • 비즈니스로직을 도메인의 행동으로 정의

    • 인증 모듈 생성하여 API 인증 코드를 중복해서 작성하지 않아도 되도록 개발

  • 부티크 파트너가 사용하는 B2B ERP 신규 기능 개발 및 유지보수

    • Express.js, NestJS, Mongoose, TypeORM, CQRS, 3-tier architecture, Docker, K8s

  • Client Vue.js 개발

  • Node.js 및 NPM 패키지 버전 업그레이드, 통일

    • Node.js 12, 16, 18 → 20 업그레이드

    • ChangeLog, Release, peerDependencies 등 참고하여 호환성 맞는 버전 찾아 진행

포트폴리오

URL

link

https://chss3339.notion.site/1fc92a66499c49edb7536616379d4c76

노션

교육

소속/기관명

엘리스

종류 | 전공

사설 교육 | SW트랙 2기

재학 기간 | 재학 상태

2022.04. ~ 2022.07. | 졸업

소속/기관명

아주대학교

종류 | 전공

대학교(학사) | 응용화학생명공학과

재학 기간 | 재학 상태

2015.03. ~ 2020.08. | 졸업

대외활동

활동명

엘리스 코더랜드 온라인 질의응답 코치

소속/기관명

엘리스

연도

내용

2022년 8월 한달동안 엘리스 코더랜드 온라인 질의응답 코치를 맡았습니다. 엘리스는 부트캠프 외에 많은 기업에서 임직원 교육 목적으로 코딩 교육을 진행하는데, 엘리스를 사용하는 모든 사용자들이 질문한 내용을 보고 답변 해주었습니다. 한달이라는 짧은 시간동안 진행한 것이였지만, 코딩 입문자 입장에서는 변수가 어떤 파라미터로 들어가고, 어떤 인자로 되어 어떻게 작동하는지 자세하게 알려줘야 이해하기 쉽다는 것을 깨달았습니다.

활동명

엘리스스쿨 코더랜드 보조강사

소속/기관명

엘리스

연도

내용

단기 이벤트성 교육이기때문에 3번 진행

초등학교 저학년을 대상으로 한 블록코딩 교육 보조강사로 활동했습니다.
링비트카, 앱인벤터로 교육을 진행했으며, 중고등학생때 스크래치를 배운 경험이 있어 아이들이 흥미를 잃지 않도록 지도했습니다.

자격증

자격증명

SQLD

점수 | 발급기관

합격 | 한국데이터산업진흥원

취득연월

2022.06.

자기소개

자기소개

댓글