21년 9월 14일 갱신됨.

김동욱

웹 프론트엔드 개발자

  • PHONE
  • EMAIL
  • LOCATION

소개

Intro

2018년 군 제대 후 바로 웹 개발에 세계에 빠져들었고, 지금까지 3년 이상 개발을 해오면서 총 1년 9개월 경력의 프론트엔드 업무를 해왔습니다.

협업에 있어 가장 중요한 것은 이해와 배려라고 생각합니다. 아무리 자신 있는 분야라 할지라도 실수는 누구나 할 수 있습니다. 내가 낸 실수는 원인을 찾아내고 해결하는 것, 다시는 그 실수가 반복되지 않게 만드는 것이 최우선으로 중요하지만, 팀원이 낸 실수는 탓하거나 남의 일로 치부할 것이 아니라 함께 머리를 맞대고 극복해야 할 임무라고 생각합니다. 팀은 성과를 내기 위해 모인 조직이니까요.

코딩 역시 마찬가지라고 봅니다. 저는 혼자 할 때 주로 생산성과 효율성을 우선으로 코드를 짭니다. 직관적인 구조 설계와 코딩, 중복 제거, 더 빠르고 효율적인 기술을 찾아보고 채택하는 것 등등을 중점으로 두지만, 협업에 있어서는 알아보기 쉬운 코드, 공통된 코드를 짜는 것이 가장 중요하다고 생각합니다.

저는 효율적인 프로젝트 구조 설계, 중복을 최소화하고 알아보기 쉬운 코드를 짜는 것에 자신이 있습니다. 최근에는 알고리즘과 자료구조를 배우면서 성능을 최적화하는 코드를 짜는 것에 관심을 갖고 있습니다.

기술

Skills
프론트엔드
Front-end
  • Next.js
  • Typescript
  • TailwindCSS
  • Recoil
  • React.js
  • Redux
  • Mobx
백엔드
Back-end
  • Node.js
  • MySQL
클라우드 플랫폼
Cloud Platform
  • Supabase
  • Firebase

경력

Careers
company
2021년 9월 13일 ~ 현재

온라인 명품샵 페칭에서 프론트엔드 개발자로 일하고 있습니다.

React.js
Styled-Components
Redux
company
2019년 9월 - 2020년 10월

보험 가입 및 상담 서비스 플랫폼 인슈넷, 보험 설계사 플랫폼 링크플래너의 유지보수 및 신기능 추가 및 어드민 사이트 개발까지 전반적인 업무를 주로 맡았습니다.

보험 상품 및 설계사에 대한 검색 최적화, 보험 가입을 온라인으로 간소화하기 위해 PDF에 서명(이미지)을 삽입하는 기능, Next.js의 정적 페이지 생성 기능을 이용해 갱신이 잘 되지 않는 페이지는 정적으로 교체 등 빌드 속도 개선을 하였습니다.

Typescript를 직접 배워서 도입했었고, 특히 코드량이 많아 프로젝트 설계에 정말 많은 고민을 했었습니다. 메인 프로젝트는 Storybook과 Jest까지 겸했었기 때문이죠.

Next.js
React.js
Redux
Mobx
Material-UI
Typescript
Storybook
Jest
company
2019년 2월 - 2019년 6월

직장인 익명 커뮤니티 blind에서 신 사업으로 추진한 온라인 취미 클래스 플랫폼 '마이비스킷'의 전반적인 프론트엔드 업무를 맡았습니다. 당시 React인 줄 알고 갔으나 회사의 요청으로 급하게 Nuxt.js를 배워서 만들었습니다.

SQL도 어느 정도 익힌 덕에 백엔드 쪽 SQL 코드 작업에도 기여한 바가 있습니다.

당시 저는 주로 JS, 즉 동적인 기능에 집중했고 퍼블리셔와 마케팅, 기획 및 CS, 웹 디자인 등 많은 직종과 협업을 했습니다. 하나의 팀으로 하나의 서비스를 만든 첫 프로젝트다 보니 다양한 직종 분들과 협업하는 노하우를 많이 배웠습니다.

Nuxt.js
SQL
company
2019년 1월 - 2019년 2월

전국 학원 검색 플랫폼 '강남엄마'에서 첫 개발 업무로 백엔드 보조 알바를 하였습니다.

주된 작업은 SQL 작성으로, 기존에 있던 학원만을 모으는 기능에 더해 선생님 기능을 추가하여, 학원에 속한 선생님들 리스트, 특정 선생님의 이력 및 이력에 따른 학원 목록 가져오기 등등을 맡았습니다.

Node.js
SQL

프로젝트

Projects
company
2021년 5월 ~ 2021년 6월

검색 엔진 최적화 시 필요한 이미지를 동적으로 생성할 수 있게 만든 SEO 이미지 동적 생성기입니다. 이걸 이용함으로써 SEO 작업에 필요한 이미지를 좀 더 간소하게 만들 수 있습니다.

Github의 이슈 페이지를 링크로 전송하면 볼 때 미리보기 이미지가 같은 포맷에 다른 내용으로 나오는 데, 그 것에서 착안해서 만들었습니다. 본래 크롤링에 자주 쓰이는 Puppeteer를 이용하면, html을 서버단에서 스크린샷으로 찍은 뒤 이미지로 내보내면 그 주소가 곧 이미지가 되는 원리를 이용했습니다.

Next.js
Typescript
TailwindCSS
Recoil
Puppeteer
company
2021년 3월 ~ 2021년 3월

2019년도부터 만든 첫번째 블로그를 시작으로, 새 버전으로 디자인을 개편해 나가면서 다시 새롭게 만든 세 번째 개발 블로그입니다.

검색 엔진 최적화를 위해 Next.js를 사용해 왔으나, 서버사이드로 데이터와 리소스를 받아 오는 시간이 너무 커서 Gatsby.js를 사용한 정적 호스팅으로 속도를 개선하였습니다.

주로 제가 배우고 쓰는 기술과 노하우들을 잊지 않기 위해 정리하는 식으로 글들을 작성합니다.

Gatsby.js
Typescript
TailwindCSS
company
2020년 6월 ~ 2020년 7월

코드 블럭을 같이 올릴 수 있는 개발자 채팅방입니다. 당시 개발자들의 소통방이 카카오톡 아니면 슬랙이었는데, 그 곳은 코드를 작성할 수가 없어 따로 사진을 찍어 올리는 경우가 많았습니다. 코드를 올릴 수 있는 채팅방 서비스를 만들면 괜찮겠다는 생각으로 만들었습니다.

출시 후 6개월 동안 2,500명의 유저가 방문해주었지만 지금은 간간히 유저가 들어오는 상황입니다. 당시에 많은 유저분들이 잘 됐으면 좋겠다는 응원의 메세지가 많아서 좋았었지만, 이런 반응이 처음이었던 저는 걱정이 많았습니다. 만들줄만 알았지, 이 이후에 어떤 걸 먼저 해야할 지 정리가 되질 않았던 겁니다.

직접 마케팅도 할 줄 몰랐고, 출시 초기 많았던 유저들이 떠나면서 의욕까지 잃기도 했지만 저는 아직도 이 프로젝트를 다시 살리고 싶은 욕심이 있습니다.

현재 도메인을 산 계정이 잠겨서 관리가 안되는 상태인데, 해결되면 조만간 새 기술로 재단장할 예정입니다.

React.js
Redux
Typescript
Firebase

학력

Education
company
2015년 물리학과 입학 ~
2학년 1학기까지 다녔고, 군 제대 후부터 바로 개발에 입문하면서 쭉 휴학을 이어왔고, 학업보다 개발에 열중하고자 자퇴할 예정입니다.