최고 품질의 상품들을 지금보다 더 많은 소비자들이 여러 유통 채널에서 더욱 폭 넓고 쉽게...
1. 자발적으로 최고 수준의 목표를 세우고 끈질기게 성취한 경험에 대해 서술해 주십시오.
(본인이 설정한 목표/ 목표의 수립 과정/ 처음에 생각했던 목표 달성 가능성/ 수행 과정에서 부딪힌 장애물 및 그 때의 감정(생각)/ 목표 달성을 위한 구체적 노력/ 실제 결과/ 경험의 진실성을 증명할 수 있는 근거가 잘 드러나도록 기술)
(700~1000 자 10 단락 이내) (베릴로그 CPU)
[아무리 어려운 목표도 초기의 탄탄한 설계가 중요하다]
대학교에서 컴퓨터 구조 강의를 수강하면서 Verilog를 통해 파이프라인 CPU를 구현했던 경험이 있습니다. 파이프라인 CPU는 매 clock마다 1개의 명령어가 처리되도록 해야 하고 다양한 명령어를 상황에 맞게 처리해야 하므로 고려해야 할 요소가 많은 과제였습니다. 주어진 기능을 구현하는 것만으로도 어려운 과제였음에도 불구하고 추가점수를 받기 위해 기본 구현 요구사항이 아닌 분기 예측을 포함한 모든 기능을 구현하는 것을 목표로 하였습니다.
처음에는 일찍 개발을 시작하면 기한 내에 충분히 구현할 수 있다고 생각했습니다. 그리고 처음에 구상한 설계 구조를 가지고 바로 개발을 시작했습니다. 하지만 분기 예측을 구현하는 부분에서 이전에 들어온 명령어를 flush 시키는 부분이 생각대로 작동하지 않았습니다. 계속해서 수정을 해봤지만 해결되지 않았고, 시간이 갈수록 마감 기한이 다가오자 초조해졌습니다. 결국 초기의 설계가 문제가 있다고 판단했고 처음부터 설계를 다시 하기로 결정했습니다. 반복된 실수를 하지 않기 위해 모든 명령어의 경우의 수를 고려하여 파이프라인 CPU를 구성하는 모듈 간의 논리 구조도를 그림으로 그려 도식화하였습니다. 또한 각 명령어 단계의 변화를 Transition Diagram을 그려서 예외 케이스를 놓치지 않도록 하였습니다. 모든 케이스를 고려하여 설계한 내용을 그대로 코드로 작성하니 무턱대고 코드로 작성했을 때보다 훨씬 빠르게 구현을 완료할 수 있었습니다. 또한 추가 기능까지 구현하여 다른 학우들보다 높은 점수를 받을 수 있었습니다.
이러한 경험을 통해 복잡한 프로그램일수록 개발을 하기에 앞서 충분한 이해를 바탕으로 탄탄한 설계를 하는 것이 더 효율적인 개발 방법이라는 것을 배울 수 있었습니다. 훗날 SK하이닉스에서 개발 업무를 수행하게 된다면 이러한 탄탄한 설계에 기반을 둔 개발 경험은 큰 도움이 될 것이라 확신합니다.
2. 새로운 것을 접목하거나 남다른 아이디어를 통해 문제를 개선했던 경험에 대해 서술해 주십시오.
(기존 방식과 본인이 시도한 방식의 차이/ 새로운 시도를 하게 된 계기/ 새로운 시도를 했을 때의 주변 반응/ 새로운 시도를 위해 감수해야 했던 점/ 구체적인 실행 과정 및 결과/ 경험의 진실성을 증명할 수 있는 근거가 잘 드러나도록 기술)
(700~1000 자 10 단락 이내) (페이스북 광고 자동화)
[자동화를 통한 업무 효율성 개선]
군 전역 후 스타트업에서 개발자로 근무하던 당시 페이스북 비즈니스 API를 통해 주기적으로 광고의 효율성을 점검하여 자동으로 광고를 내려주는 서비스를 개발한 경험이 있습니다. 기존에는 마케팅 부서에서 일정 주기로 광고의 비용과 유입량 등을 조사하고 수작업을 통해 광고를 관리해주었습니다. 그로 인해 담당 직원들이 2시간마다 한 번씩 광고 효율성을 점검하느라 다른 업무에 집중하기가 어려운 문제점이 있었습니다.
이러한 고충을 듣고 나니 개발자로서 자동화할 방법이 있지 않을까 고민하였습니다. 여러 방안을 찾던 중에 회사에서 사용하는 페이스북 비즈니스 관리에서 API를 제공해주는 것을 알게 되었습니다. 이러한 방안을 개발팀 회의에서 제안하였고 개발팀에서는 흔쾌히 프로젝트로 진행하는 것을 승인해주셨습니다. 이후 회사 계정의 토큰을 발급받아 API를 통해 광고 인사이트를 가져오는 코드를 작성하였습니다. API로 가져온 데이터를 분석한 뒤 광고의 효율성을 계산하는 기준을 정하기 위해 마케팅 부서와 회의를 진행하였습니다. 그리고 광고 비용 대비 유입량, 클릭 수 등을 조합하여 일정한 기준을 정하고 매 2시간 마다 자동으로 이를 계산하여 광고를 꺼주도록 하는 프로그램을 개발하였습니다. 또한 어떠한 광고가 꺼졌는지 Slack을 통해 알려주도록 구현하였습니다. 몇 번의 테스트 과정을 거치고 검증을 마친 후에 크론탭에 등록하여 자동화 작업을 완료하였습니다.
기존의 반복된 작업을 직접 개발한 프로그램으로 자동화하니 마케팅 부서의 업무 시간에서 불필요하게 소요되던 시간을 상당 부분 단축할 수 있었습니다. 개발자로서 사내 업무 시스템을 개선하였다는 점에 뿌듯함을 느낄 수 있었고 인턴으로서 좋은 평가를 받을 수 있었습니다.
3. 지원 분야와 관련하여 특정 영역의 전문성을 키우기 위해 꾸준히 노력한 경험에 대해 서술해 주십시오.
(전문성의 구체적 영역(예. 통계 분석)/ 전문성을 높이기 위한 학습 과정/ 전문성 획득을 위해 투입한 시간 및 방법/ 습득한 지식 및 기술을 실전적으로 적용해 본 사례/ 전문성을 객관적으로 확인한 경험/ 전문성 향상을 위해 교류하고 있는 네트워크/ 경험의 진실성을 증명할 수 있는 근거가 잘 드러나도록 기술)
(700~1000 자 10 단락 이내)
[Django ORM 스터디]
인턴을 하던 당시 백엔드 개발을 담당하면서 데이터베이스의 관리를 용이하게 하기 위해 사내 정기 스터디에 참여하여 Django 프레임워크의 ORM에 대해 공부했던 경험이 있습니다. “Django ORM Cookbook”이라는 교재로 매주 수요일 퇴근 후에 2시간씩 스터디를 진행하였습니다. 스터디는 한 주 동안 각자 정해진 범위까지 공부하고 미리 2명의 발표자를 정해서 발표자는 강의자료와 퀴즈를 만들고 나머지는 서로 궁금했던 점들을 질문하는 방식으로 진행하였습니다. 이전까지는 항상 공부는 혼자서 하는 것이라는 관념이 있었습니다. 하지만 그룹 스터디를 경험해보고 나니 발표를 맡은 부분에 대한 의욕과 책임감도 생기고, 궁금한 것들을 바로 해소할 수 있어서 더 효율적인 공부가 가능하다는 것을 알게 되었습니다.
6주간의 스터디를 통해 쌓은 지식을 바탕으로 당일 업무 진행도를 분석하여 정해진 시간에 알려주는 알림 봇을 개발하였습니다. Django ORM을 통해 데이터베이스에서 당일에 생성된 데이터를 가져와 일정 기준에 따라 분류하여 여러 데이터를 분석하였습니다. 예를 들어 당일 대출 승인 건수와 승인 대상자 수, 당일 마케팅을 통해 유입한 회원 수와 같은 당일의 업무 관련 진행 수치를 분석한 결과를 Slack을 통해 각 팀 채널에 정해진 시간마다 알려주도록 구현하였습니다.
이러한 경험을 통해 Django ORM에 대해 배울 수 있었고 실제 업무에 적용해보면서 데이터 분석이 업무에 어떻게 활용될 수 있는지 확인할 수 있었습니다. 이 외에도 최근에는 알고리즘 유튜브 강의를 듣고 직접 코딩문제를 풀어보면서 프로그래밍의 바탕을 이루는 알고리즘 분야에 관해 공부하고 있습니다.
4. 혼자 하기 어려운 일에서 다양한 자원 활용, 타인의 협력을 최대한으로 이끌어 내며, Teamwork를 발휘하여 공동의 목표 달성에 기여한 경험에 대해 서술해 주십시오.
(관련된 사람들의 관계(예. 친구, 직장 동료) 및 역할/ 혼자 하기 어렵다고 판단한 이유/ 목표 설정 과정/ 자원(예. 사람, 자료 등) 활용 계획 및 행동/ 구성원들의 참여도 및 의견 차이/ 그에 대한 대응 및 협조를 이끌어 내기 위한 구체적 행동/ 목표 달성 정도 및 본인의 기여도/ 경험의 진실성을 증명할 수 있는 근거가 잘 드러나도록 기술)
(700~1000 자 10 단락 이내)
[데이터베이스 성능 개선 워크숍]
스타트업에서 인턴을 하던 당시 기존 데이터베이스의 성능을 개선하기 위한 팀 워크숍에 참여했던 경험이 있습니다. 그 중에서 저는 고객 관련 데이터의 구조를 개선하는 팀에 배정되었습니다. 입사 3개월 차에 진행되었던 워크숍이라 우선 혼자서 기존 데이터베이스의 구조를 분석하고 문제점을 파악하는 것이 시급했습니다. 기존 데이터베이스의 구조를 파악하고 나니 고객 관련 데이터 중에서 여러 테이블에 불필요하게 중복되거나 자주 사용되지 않는 테이블들을 정리해야 하는 문제점들이 보이기 시작했습니다.
하지만 이를 해결하기 위해서 고객 관련 데이터뿐만 아니라 다른 팀의 데이터베이스 구조에도 영향을 끼치는 작업이 필요했습니다. 그래서 해당 팀에게 협업을 요청하였고 정기적으로 일정을 잡고 회의를 진행하였습니다. 회의를 진행하는 과정에서 어떤 데이터를 유지할 것인지, 마이그레이션은 어떻게 할 것인지에 대해 의견 충돌이 있었습니다. 저는 각자가 설계한 ERD를 공유하고 모두에게 설명하면서 피드백을 주고받자고 제안하였습니다. 그렇게 여러 의견을 공유하면서 가장 좋은 평가를 받은 구조를 정하고, 그 구조를 중심으로 마이그레이션 및 개선 작업을 진행하였습니다. 한 구조로 통일하고 개선을 진행하니 생각나는 아이디어들을 다른 구조와 충돌할 걱정 없이 적용해 볼 수 있게 되었습니다. 또한 이를 기반으로 워크숍 전에 설계를 완료할 수 있었습니다.
워크숍 당일에는 최종적으로 설계한 데이터베이스 구조를 ERD로 그려 발표하였고 좋은 평가를 받을 수 있었습니다. 이후 피드백 받은 부분을 수정한 결과 본격적인 프로젝트 계획에 추가시킬 수 있었습니다. 이러한 경험을 통해 협업에서 적극적이고 활발한 의사소통이 문제 해결 속도를 얼마나 빠르게 향상시킬 수 있는지 배울 수 있었고, 어려운 문제일지라도 집단지성을 활용하면 비교적 쉽게 해결될 수도 있다는 것을 느낄 수 있었습니다.