이력서
안내사항
현재 건강이 좋지 않아 구직등의 활동을 중단한 상태입니다. 연락주셔도 답변을 드리기 힘든 점 양해 부탁드립니다.
기본 정보
- 이름
- 김진수
- 별명(닉네임)
- item4
- 거주지
- 경기도 부천시
- resume@jinsu.kim
- 포지션
- 웹 백엔드 개발자
- Links
개요
- Python의 Django 기반의 백엔드 개발이 특기지만 React 등을 활용한 프론트까지 개발이 가능한 풀스택 지향 개발자.
- 전통적인 서버, 범용 클라우드, Docker를 이용하여 테스트, CI, 배포, 모니터링등 전반적인 서비스 영역을 경험.
- 풀 리모트 근무만 가능함. 의사 소통시 전달 수단은 텍스트 채팅만 가능. (상세는 하단 참고사항 참조)
업무 경력
Mediquitous
- 포지션
- 백엔드 개발자
- 근무기간
- 부터 까지
- 업무 개요
- Python Django 기반 백엔드 서버와 React/Svelte 기반 프론트엔드 개발 및 개선
- 업무 내용
Python 백엔드 서버 개발
- 주요 업무
- Django 기반의 서버로 쇼핑몰 서비스 코드를 정비했습니다.
- 관련 키워드
- Python
- Django
React 기반 프론트엔드 개발
- 주요 업무
- React 기반 프론트엔드로 일본어 엔드유저용 사이트의 하위호환성을 보장하는 URL 규칙 재정립 등의 세부 작업을 진행했습니다.
- 관련 키워드
- TypeScript
- React
- Next.js
Svelte 기반 프론트엔드 개발
- 주요 업무
- Svelte 기반 프론트엔드로 백오피스용 사이트의 CS업무 편의성을 개선하였습니다.
- 관련 키워드
- TypeScript
- Svelte
- Vite
Alicorn
- 포지션
- 백엔드 개발자
- 근무기간
- 부터 까지
- 업무 개요
- Python Django 기반 백엔드 서버 개발 및 CI/CD 개선, React 기반 프론트엔드 구축
- 업무 내용
Python 백엔드 서버 개발
- 주요 업무
- Django와 Graphene 등을 사용하여 GraphQL API 등의 여러가지 방법으로 제공되는 서비스에 신규 기능이나 기능 개선을 진행하였습니다.
- Django의 major version, Python의 minor version 업그레이드 등의 작업을 실서비스에 중단시간 없이 진행하였습니다.
- 사용자 계정 보안 정책 개발에 참여하여 사용자의 계정 안전성을 증진시켰습니다.
- 악의적 접근자로부터의 부적절한 요청을 차단하기 위한 방어 로직을 개발하였습니다.
- Python 코드에 Type Annotation을 추가하고, pre-commit hook과 flake8, black을 도입하는 등 여러가지 개발환경과 코드품질 개선 작업을 진행하였습니다.
- 사용자들이 입력해놓은 수만가지의 전문분야 키워드들을 분석하여 중복되거나 잘못 입력된 키워드를 교정하는 로직을 개발하였습니다.
- Universal Analytics의 서비스 종료에 대비하여 Google Analytics 4 전환 프로젝트를 진행하였습니다.
- 기존 사이트와 React로 재작성된 페이지를 중간 연결하는 부분의 결합 코드를 개발하였습니다.
- 관련 키워드
- Python
- Django
- Graphene
- GraphQL
- pre-commit
- flake8
- black
CI/CD 개발
- 주요 업무
- CircleCI에서 실행되는 pytest 기반 테스트 코드를 최적화하여 실행시간을 12% 이상 감소시켰습니다.
- pytest 기반 테스트 코드에서 테스트 실패시 출력되는 메시지를 보다 인간 친화적인 메시지로 수정하여 디버깅이 수월하도록 변경했습니다.
- pytest 기반 테스트 코드 작성에 반복적으로 필요한 준비 코드들을 내재화하여 테스트 코드 라인 수를 10% 이상 감소시켜 작성과 리뷰를 보다 손쉽게 변경하였습니다.
- 실 서비스에 사용되는 Docker image의 크기를 10%가량 감소시켰습니다.
- 로컬에 백엔드 개발환경을 구축할 수 있도록 개발용 Docker image와 Docker Compose 설정을 재작성하여 백엔드 개발 지식이 없어도 로컬에서 개발용 서버를 구동할 수 있도록 만들었습니다.
- 관련 키워드
- CircleCI
- Docker
- Docker Compose
- AWS Codepipeline
React 기반 프론트엔드 개발
- 주요 업무
- 집무실 공식 사이트와 엔터프라이즈 고객용 사이트의 프론트엔드를 Next.js 기반으로 기반 구축부터 참여하였습니다.
- 프론트엔드팀과의 협업을 위해 기존 코드 구조에 대한 설명 및 문서화, 코드 컨벤션 논의 등에 적극적으로 참여하였습니다.
- 기존 사이트를 React로 재작성하는 프로젝트에서 다른 Framework 없이 webpack과 SWC, TailwindCSS 등을 직접 세팅하여 프로젝트를 구축하였습니다.
- 관련 키워드
- TypeScript
- React
- Next.js
- webpack
- SWC
- TailwindCSS
- ESLint
- Prettier
사내 문화 조성
- 주요 업무
- 온라인 업무 위주였기때문에, 다른 동료직원분들과 친밀감과 공감대 형성을 위해 매월 진행되는 알리콘 밥모임 제도를 제안하였습니다.
- 동료직원분들과의 대화가 업무에만 치중되지 않도록 사담을 나눌 수 있는 대화방 신설을 제안하였습니다.
- 관련 키워드
- Slack
ODK Media
- 포지션
- 백엔드 개발자
- 근무기간
- 부터 까지
- 업무 개요
- Python Django 기반 백엔드 서버 개발 및 Shopify, TypeScript 등을 활용한 부가적 개발
- 업무 내용
Python 백엔드 서버 개발
- 주요 업무
- 운영중인 서비스와 신규 개발버전 양쪽에 Python과 Django, django-rest-framework를 활용하여 유지보수 및 기능개발에 참여했습니다.
- 운영중인 서비스의 콘텐츠를 새로 개발될 API 서버로 이식하기 위한 마이그레이션 개발에 참여하였습니다.
- 기존 Python 코드에 Type Annotation 추가를 권장하여 프로젝트의 IDE 친화도를 증진시켰습니다.
- 관련 키워드
- Python
- Django
- django-rest-framework
Shopify 서비스 개발
- 주요 업무
- Shopify 기반 쇼핑몰의 UI 추가/개선 및 검색엔진 최적화를 진행하여 사용성을 증진시켰습니다.
- 관련 키워드
- Shopify
- Liquid
- SEO
In-house tool 개발
- 주요 업무
- TypeScript로 서비스 상태 모니터링 시스템을 개발 및 구축하였으며, k8s 환경에 자동배포 되도록 세팅하였습니다.
- 관련 키워드
- TypeScript
브랜더진
- 포지션
- 백엔드 개발자
- 근무기간
- 부터 까지
- 업무 개요
- Python Django 기반 백엔드 서버 개발부터 AWS 환경으로의 배포, Vue.js와 TypeScript 기반 수정 등등
- 업무 내용
Python 백엔드 서버 개발
- 주요 업무
- 초기 Django로만 작성된 코드를 DRF를 이용하여 상당부분 리팩토링하였습니다.
- 실서버 배포시의 위험 방지를 위해 백엔드 구동환경을 Docker로 제한하고, QA용 베타 서버 시스템을 도입하였습니다.
- 프론트엔드 개발자와의 원활한 의사소통을 위해 drf-yasg를 이용한 Swagger문서를 자동 생성하여 협업하였습니다.
- 오작동하던 가상계좌 결제를 리팩토링하여 정상화시키고 보안 결함을 점검하였으며 물류 공급처와의 정산시스템을 확립하였습니다.
- 기존 파일 첨부 시스템이 대응하지 못하였던 HEIC 타입 이미지를 지원하도록 수정하였습니다.
- 서비스의 핵심 기능인 인플루언서 시스템과 Look 등의 인플루언서 기반 서비스가 가능하도록 백엔드 API를 개발하여 실서비스에 도입하였습니다.
- Curation, Banner등의 기능을 개발하여 보다 여러가지 방법으로 상품을 소개할 수 있도록 백엔드 API를 개발하여 실서비스에 도입하였습니다.
- 보다 다양한 마케팅 전략을 지원하기 위하여 할인행사 기능, 쿠폰기능, 인플루언서 연동 기능을 개발하여 실서비스에 도입하였습니다.
- 고객들의 편의성을 위하여 관련상품 및 추천상품 기능이 개발되었고, 목록에서의 상품 필터 및 정렬 기능, 키워드 기반 검색 기능을 개발하여 실서비스에 도입하였습니다.
- 보다 나은 정보 제공을 위해 고객, 브랜드, 회사 운영진들에게 카카오 알림톡이나 Slack 메시지를 보내서 관리의 편의성을 도모하는 기능을 실서비스에 도입하였습니다.
- 실 접속자 증가에 따른 서버 부하를 분산하기 위해 인스턴스 업스케일과 Elasticache를 도입하였습니다.
- 프론트엔드 개발 공수가 부족한 상황에서는 Vue.js와 TypeScript를 이용하여 서비스 개선에 참여했습니다.
- 관련 키워드
- Python
- Django
- django-rest-framework
- AWS
- Docker
- CircleCI
- TypeScript
- Vue.js
XS Inc.
- 포지션
- 웹 개발 인턴
- 근무기간
- 부터 까지
- 업무 개요
- Python Django 기반 백엔드 서버 개발 등등
- 업무 내용
Python 백엔드 서버 개발
- 주요 업무
- 인터넷카페 관련 프로그램의 내부 배포 관리 시스템, Ready-APP을 WSGI 서버와 nginx를 이용하여 안정화시켰습니다.
- 내부 관리 시스템인 ReadyBoot의 관리자 인터페이스를 개선하였습니다.
- 내부 인증 서버의 보안성을 향상시키고 관리 기능을 추가하였습니다.
- 관련 키워드
- Python
- Django
- NGINX
- WSGI
비즈원
- 포지션
- 웹 개발자
- 근무기간
- 부터 까지
- 업무 개요
- jQuery나 PHP등을 활용한 웹 사이트 용역 개발
- 업무 내용
웹사이트 개발
- 주요 업무
- 웹에이전시 사내 솔루션용 일정관리 프로그램 및 웹앱용 페이지, 사내 내부용 전자결재 솔루션을 개발하여 사내 행정 및 고객용 서비스에 접목시켰습니다.
- 쇼핑몰 솔루션의 가격 연산부를 수정하고 보안 취약점 수정 등의 작업을 하여 자체 쇼핑몰 솔루션의 내부 구조를 개선하였습니다.
- 기존 사내 솔루션의 SMS 연동 부분을 개량하고 쏜다넷, 가비아의 SMS 기능을 사내 솔루션과 연동하여 자체 솔루션에서 보다 많은 SMS 벤더를 지원할 수 있게 되었습니다.
- 그 외에도 이미지링크(특수형태의 쇼핑몰 개발), 세마스포츠마케팅, 오앤오컨설팅 등 여러 사이트의 개발에 참여하였습니다.
- 관련 키워드
- PHP
- JavaScirpt
- jQuery
오픈소스 프로젝트
개인적으로 개발하고 있는 오픈소스 프로젝트 목록입니다.
좌측의 프로젝트명을 클릭하시면 저장소로 이동하고, 마우스를 올리시면 우측 패널에 사용된 기술이 강조됩니다.
- yui
- @kfonts
- drf-yasg-examples
- item4 dev story
- About Jinsu Kim
- ugoira
- aiohttp-doh
- canIEuse
- GrowCastle Toolkit
- 프로그래밍 언어
- Python
- Rust
- TypeScript
- JavaScript
- CSS
- 유형
- 단일 프로그램
- 라이브러리
- CLI 도구
- API 서비스
- 웹사이트
- 문서
- 용도
- 챗봇
- 웹 폰트
- 문서화 도구
- Python 프로젝트 구성
- asyncio
- Django
- aiohttp
- Poetry
- Python 코드 품질 관리
- pytest
- Ruff
- Black
- mypy
- Frontend 프로젝트 구성
- ESM
- React
- Next.js
- Frontend 코드 품질 관리
- ESLint
- Prettier
- 빌드 및 배포
- GitHub Actions
- Docker
- PyPI
- NPM
- Read the Docs
- 기타
- 개발 중단됨
오픈소스 기여
- pypy/pypy
- pypa/pipenv
- aio-libs/aiohttp
- microsoft/TypeScript-Website
- gatsbyjs/gatsby
- node-fetch/node-fetch
- zzzeek/alembic
- joke2k/faker
- emcconville/wand
- gawel/aiocron
- pnuckowski/aioresponses
- bpython/bpython
- iamport/iamport-rest-client-python
- lxml/lxml-stubs
- pygments/pygments
- getsentry/responses
- kvesteri/sqlalchemy-utils
- python-babel/babel
- sass/libsass-python
- aheui/rpaheui
- dropbox/sqlalchemy-stubs
- lexifdev/checkdnskr
- spoqa/import-order
- spoqa/sqlalchemy-enum34
- lektor/lektor
- lektor/lektor-website
- earthreader/libearth
- wagtail/Willow
- aio-libs/aiomcache
- smurfix/flask-script
- linovia/sentry-hipchat
- swc-project/swc-node
- sweetalert2/sweetalert2
- spoqa/spoqa-han-sans
- dahlia/dahlia.github.com
- dahlia/seonbi
- NullFull/slack-archive
- parcel-bundler/parcel
- fathyb/parcel-plugin-typescript
- parcel-bundler/website
- planetarium/bencodex-viewer
- planetarium/libplanet-explorer-frontend
- summernote/summernote
- woowabros/WoowahanJS
- dougludlow/plugin-sass
- xnuk/cinema-finder
- milooy/remote-or-flexible-work-company-in-korea
- benjioh5/CS-Univ-Wiki
- parcel-bundler/awesome-parcel
- braziljs/js-the-right-way
- camsong/You-Dont-Need-jQuery
- Fate-Grand-Automata/FGA
- justinribeiro/dockerfiles
- fixerAPI/fixer
- squizlabs/PHP_CodeSniffer
참고사항
저는 다음과 같은 문제들로 정기적으로 병원 진료를 받고 있습니다.
선택적 함구증
- 다른 사람의 말을 듣는 것은 가능하지만 입으로 소리를 내는 행위를 하지 못합니다.
- Zoom이나 Google Meet 같은 서비스 사용시 마이크와 카메라 양쪽 모두 사용할 수 없습니다.
- 필담이나 채팅등의 문자적 의사소통 수단을 사용하면 의사소통이 지장 없이 가능합니다.
사회 불안 장애
- 사회 불안 장애로 인해 외출이 힘들어서 풀 리모트 근무를 선호합니다.
- 심리적 안전감이 유지되는 직장에서 풀 리모트 근무를 진행하는것은 문제가 없습니다.