2020 github contributions


  • [ 배경 ]
    • 이 글은 2020 이직 시 준비했던 경험들을 정리하려고 합니다.

    • 저도 회고글을 통해서 많은 영감을 얻게 되었고 받았던 영감들을 누군가에게 베풀고 싶었습니다.
      자랑 글일 수도 있지만 저와 같은 고민하는 사람에게 도움이 되고 싶어 작성하게 되었습니다.
      (광고, 홍보글과 전혀 연관이 없음을 사전에 알려드립니다. 문제 발생 시 수정하겠습니다.) 

    • 게임 도메인 c#. net 기반 플랫폼 서버 애플리케이션 개발자에서
      Java Spring 기반 카카오페이 서버 개발팀, 넥슨 인텔리전스 백엔드 개발팀, 넷마블 빅데이터 플랫폼실 데이터 엔지니어 직군에 합격하였습니다.

  • [ 과정 ]
    • 대학교 친구의 이직 성공기
      • 올해 초 친구의 이직 성공 이야기 K사 및 스타트업의 도전적인 개발 조직 합격(처우면 에서 1X00 향상) 소식을 우연찮게 들었습니다. 이때 알게 모르게 나도 가치 있는 무언가를 해서 친구처럼 영감을 주는 사람이 막연히 되고 싶었습니다.

      • 평소 중고나라, 번개장터 같은 웹서비스를 자주 사용하였습니다. 내가 가진 개발 지식으로 어떤 걸 할 수 있을까 깊게 생각하게 되었고 도움을 받을 수 있는 방법을 여러 방면에서 찾게 되었습니다. 그렇게 찾던 과정 중 멋쟁이 사자처럼 직장인을 인스타그램을 통해 알게 되었습니다. 

    • 멋쟁이 사자처럼 직장인
      • 요약하자면 ruby on rails로 '도장 추천 시스템'을 개발하여 aws EC2 환경에 배포하였습니다. 
      • 웹에 대한 전반적인 이론과 ruby & rails의 MVC 패턴 및 각종 잼을 사용하는 법을 배웠습니다. 카카오 지도 API를 사용하여 현재 위치 기준 도장 거리 순서, 평점 순서, 날짜 순서 등으로 추 천 기능을 개발하였습니다. 셀리니움 통해 크롤링, redis 1:1 채팅, canvas Javascript로 간단한 자동차 게임 등을 개발하였습니다.

      • 개발적인 지식도 많이 배웠지만, 무엇보다도 능력 있고 활기찬 사람들과의 커뮤니케이션을 하면서 동기부여를 받았고, 여러 능력자들을 만났습니다. (퀄컴, 네이버, 넥슨, 틱톡 등등...)

      • 스스로 동기부여를 하는 사람들은 결국엔 높은 자리까지 가서 영감을 주는 사람이 되는구나 라고 깨달았습니다.

      • 웹 서비스를 깊이 있게 탐구하고 싶어서 java Spring 기반 지식을 탐구하는 초석이 되었습니다.

    •  서버 개발자 멘토링
      • 막상 java spring을  깊이 있게 혼자 탐구하려니 막막하였습니다. 마침 Instagram에서 서버 개발자 과외를 한다는 글이 눈에 띄어서 문의하였고 진행하면 많은 피드백을 받을 수 있겠다 싶어서 진행하였습니다.

      • 기술적인 지식을 강의식으로 듣는 방식이 아니고 (기존 대학교 포함 12년 넘게 강의식 공부방법에 길 들여 저 있던 저로썬 신선한 충격이었습니다.) 스스로 생각할 수 있게 지식의 방향성을 자문하는 방법을 깨달았습니다. 하지만, 여전히 공부는 내가 해야 한다는 주체성은 변하지 않았고 한 개를 알더라도 깊게 공부해야 유효하다는 것을 느꼈습니다. 

      • 과외와 병행적으로 토이 프로젝트를 진행하였습니다.
    •  토이 프로젝트
      • 평소 중고거래에 관심이 많았던 저는 번개장터와 같은 중고거래 시스템을 개발하기로 결심하였습니다.
        프로젝트의 관심사는 단순히 동작하는 소프트웨어가 아닌 협업 시에 용이하게 Google code Style 컨벤션을 준수하였고, 추후 업데이트 시 유지보수 용이하게 확장성(객체지향, 디자인 패턴)을 고려하여 설계 개발하였습니다. 코드 관리는 git을 사용하였고 이슈별 브랜치, PR시 리뷰를 진행한 후 merge 하였기 때문에 코드리 팩터링을 할 수 있었습니다.

      • 기술적인 내용들이 궁금하신 분들은 아래 링크를 확인해주시면 됩니다.
    • 개발 스터디
      • 회사 업무와 각종 개발단체에서 개발을 하면서 느꼈던 점으로는 문제 발생, 추가 업데이트 시, 아키텍처 설계 시 항상 CS 기본지식이 사용된다는 점입니다. (대용량 트래픽 처리 시 지연 현상, 각종 라이브러리 버전 업데이트 등등) 그리하여 대학교 친구 중 개발 스터디에 관심 있는 친구와 스터디를 진행하기로 하였습니다. 
      • EffectiveJava, CS 기본기 스터디
        • 스터디했던 내용으로는 JAVA 기본 문법부터 시작해서 EffectiveJava, CleanCode, Netty 등등을 타깃으로 스터디를 진행했습니다. 현재는 Spring-security, JPA, 쿠버 네티스 등을 추가로 진행할 예정입니다.
        • 스터디를 하면서 느꼈던 점으로는 혼자 공부하는 것도 좋지만 다른 사람에게 설명을 하다 보면 머릿속에서 정리가 되고 지식을 공유하기도 하며 보다 효율적인 스터디 방식임을 깨달았습니다.
          단순 지식을 안다에 그치는 게 아닌 왜 동작할까? 어떻게 하면 더 효율적으로 처리할 수 있을까?를 생각하였습니다. 제가 좋아하는 세바시 강연에서도 문구가 나와서 인용하였습니다.

개발 스터디시 근본적인 질문

  • 면접
    • 티몬, 카카오 멜론, 라인플러스, 뱅크 샐러드, NHN, 네이버 클라우드, 카카오페이, 루나소프트, 토스, 넥슨, 넷마블 등등 대외비를 넘지 않는 선에서 인상 깊었던 점들을 공유하겠습니다.

    • 면접에서 중요한 점으로 느낀 것들은 아래와 같습니다.
      • 특정 상황에서 내린 결정의 이유를 사전에 깊이 있게 탐구하였고 합리적인 선택을 했는지?
      • 확장에도 유연한지?
      • 커뮤니케이션 시에 해당 조직에 융화되어 큰 이슈없이 팀에 도움이 되는지?

    • 아래는 제가 지원했던 회사들의 예상 면접 질문들입니다.
      (실제 질문이 아닌 스스로 자문한 내용임을 알려드립니다.)

Notion에 면접 예상질문 Q&A

  • 코딩 테스트
    • 주로 해커 랭크 medium을 풀었습니다. 영어 울렁증이 있으신 분들은 프로그래머스 사이트를 추천드립니다. 중요하게 느꼈던 점은 자신의 레벨에 맞는 것을 답을 보지 않고 생각할 수 있는 최대한 깊이 있게 생각하고 그 과정을 코드로 녹여내는 게 중요하다는 걸 깨달았습니다. 

    • 예전에 알고리즘 잡스라는 단체에서 알고리즘을 배웠던 경험이 있는데 금전적으로 여유가 되시는 분들은 추천드립니다.
  • 과제
    • 과제가 있었던 회사로는 NHN, 뱅크 샐러드, 라이엇 게임즈, 위피, 카카오페이 등이 있었습니다.

    • 인상 깊었던 과제는 카카오페이 과제였습니다. 과제 요구사항이 실제 현업에서 일감으로 만들어진 것과 비슷하다는 느낌을 받았습니다. 자세한 내용은 대외비여서 생략하겠습니다.

    • 평소 지식을 탐구하고 나아가 실제 스스로 코드로 옮김으로써 개발 지식에 날개를 단다면 말로만 청산유수인 개발자보단 행동으로 보여주는 개발자가 될 수 있다고 생각합니다.

  • [ 결과 ]
    • 다른 개발자 및 개발자가 되기 위해 준비하시는 분들에게 동기부여를 줄 수 있는 첫 번째 단추를 단거 같아서 기쁩니다.
    • 초심을 잃지 않고 보다 가치 있는 일을 하여 많은 사람들에게 영감을 주도록 노력하겠습니다.
      5년 후, 10년 후에는 또 다른 관점에서 동기부여를 줄 수 있는 이벤트, 사건 들로 찾아뵙겠습니다.
    • 그동안의 노력들(bts 피땀 눈물 들으면서 정리했던 기억이 있네요..)

  • 끝까지 읽어주셔서 감사합니다.

+ Recent posts