# 다급한 지현 ## 1번 ``` [관련 경험 ], 기간 ], 본인의 역할 (1)], 본인의 역할 (2)] 로 나누어 작성 ㅇ 관련 경험 ] : 직무 역량과 관련있는 객관적 증빙 가능 경험 작성 (50 자 이내 예시 1) 신제품 개발 프로젝트 수행 예시 2) 교내 소프트웨어 프로젝트 경진대회 수상 ㅇ 기간 ] : 경험 수행 기간 작성 (20 자 이내 예시 1) 2019.01~2020.01 ㅇ 본인의 역할 ] : 해당 경험에서 본인의 주요 역할 또는 사용기술 ) 및 실행 과정 작성 (200 자 이내 예시 1) 신규 서비스의 고객 반응 조사 담당 : 실행 과정 및 성과 작성 예시 2) 서 비스 개발 담당 안드로이드 , IOS, 관리페이지 , Backend (Firebase, AWS)) : 실행 과정 및 성과 작성 ``` [2020.01 - 2020.06] Testing tool의 분산화 및 성능 개선 프로젝트 - 물리적 환경에서 스위치, 허브 컴퓨팅 노드 분산화 - 컴퓨팅 노드에 Ubuntu Linux 설치 및 네트워크 설정 - Angora Fuzzer(타깃 테스팅 도구)의 task 병렬처리 및 알고리즘 개선 - 알고리즘 개선 시나리오 실험 진행 및 결과 데이터 시각화 - JANDI를 통한 팀 커뮤니케이션 - google docs를 통해 미팅 일정 관리 및 회의록 작성 [2021.01 - 진행중] SSAFY(삼성청년소프트웨어아카데미) 1학기 교육 이수 - SSAFY 공통부트 반별 최우수자로 선정: 쿠버네티스 기본 개념 발표 - 주변 정보를 점수화하여 아파트 매매 서비스 백엔드 개발(Spring boot, MySQL, Docker, AWS ec2, KAKAO map api) - DB 설계 및 데이터 저장 - KAKAO map api를 이용한 아파트 매물 위치 정보 화면 UI 구현 - 특정 아파트 매물 주변 정보를 5개로 분류해서 점수화하여 Chart UI 구현 - 회원가입 시 다음(Daum) 주소 API를 이용한 주소 검색 구현 - 회원가입, 로그인, 시/군/구 주소, 아파트 매물 REST API 구현 - 백로그를 작성하여 Jira로 프로젝트 체계화(1일 1스크럼, 1주일 1스프린트) ## 2번 ``` 혼자 하기 어려운 일에서 타인과 협업한 직무 역량 관련 경험 중 , 가장 힘들었던 위기 상황 은 무엇이며 , 그 상황을 어떻게 극복하였는지 작성해 주십시오 ㅇ 혼자 하기 어렵다고 판단한 이유 / 타인과의 관계 예 . 친구 직장동료 ) 및 타인의 역할 / 목표 설정과정 / 타인과 협업하기 위한 본인의 행동 / 구체적 실행과정 / 결과 ] 로 작성 ㅇ 경험의 진실성을 증명할 수 있는 근거가 잘 드러나도록 작성 ㅇ 직무 역량과 무관한 개인적 취미 활동 , 운동 , 군 생활 , 입시 등 기타 일상 사례 지양 ``` 소프트웨어 공학 분야 랩실에서 테스팅 툴을 개선하는 프로젝트를 하면서 소프트웨어에 대한 자신감을 찾고 상대방과 함께 문제를 해결하며 함께 성장하는 즐거움을 알 수 있었습니다. 기존에 소프트웨어Testing Tool의 기존 알고리즘을 개선시키고 성능을 향상시키는 것이었습니다.다양한 테스팅 방법 중 변형 기법에 따라 정상 입력들을 변형시켜 타겟 프로그램의 예상치 못한 버그를 찾 아내는 Fuzzing 테스팅 방법의 Angora Fuzzer가 성능을 개선시키고자 한 테스팅 툴이었습니다. Angora Fuzzer의 테스팅 성능과 효율을 높이기 위해서 두가지를 목표로 잡았습니다. 하나는 싱글 컴퓨팅 노드에서만 동작하던 환경을 분산화된 환경으로 만드는 것이었고, 다른 하나는 프로그 램의 동일한 테스팅 범위에 대한 테스팅 시간을 단축시키는 것이었습니다. 팀원 모두가 Rust언어의 사용과 소프트웨어 테스팅 분야가 처음 도전했던 분야였기 때문에 Rust 튜토리얼 다큐먼트와 Fuzzing book공식문서를 통해 이론 스터디를 진행하고 교수님의 피드백을 받으며 기초지식들을 채워나갔습니다. 혼자서 공부했을 때 잘 이해하지 못했던 부분이 있었지만 매주 공동 목표를 세우고 서로 공부해 온 것들을 나누면서 더 깊이있게 부족한 부분을 점검하고 보 완할 수 있었습니다. 분산 환경을 만든 후 테스팅 효율을 높이는 작업에서 많은 시행착오를 거쳤습니다. 이미 존재하는 큰 프로그램의 코드를 개선해야했기에 프로그램의 로직을 분석한 뒤 가설을 세워 실제 잘 동작하 는지 점검까지 하는데까지(하나의 가설당 테스팅의 시간이 최소 4시간) 다소 시간이 걸렸습니다. 이에 밤을 세워가며 수 많은 아이디어 회의를 하는 것과 더불어 번갈아 불침번 테스팅을 진행했습 니다. 모든 팀원들이 함께 노력한 결과, 변형 인풋에 대한 해쉬알고리즘을 적용으로 의미있는 성능향상 을 이끌어내었고 2020한국정보과학 주관 논문대회에서 학부생논문 최우수상을 수상할 수 있었습 니다. 이를 통해서 팀원들과의 의사소통과 각자의 역할들이 문제 해결에 미치는 큰 영향력을 느꼈습니다. 프로젝트 경험을 통해 제 삶에 대한 주도적인 태도를 함양하고 , 상대방과의 협의를 이끌어내는 방법에 대하여 알 수 있었습니다 작년 4 명의 친구와 2 개의 프로젝트를 함께 했 습니다 첫 번째 프로젝트에서 에어팟 케이스 쇼핑 몰 사이트를 만들었 습니다 제한 시간 내에 빠르게 개발하 는 데만 집중되어 해결함 ’, 야호 끝 ’ 등 의 내용으로 커밋하여 어떤 작업을 했는지 알 수 없었 습니다 상세페이지 및 장바구니에서의 이 슈를 해결할 때 특정 시점으로 돌아가기 위해 커밋을 하나씩 클릭하여 확인해야 했습니다 또한 변수와 함수 이름이 어떤 기능을 하는지 알기 힘들어 애를 먹었습니다 그리고 제출 기한이 다 되어서야 특정 팀원이 개발하지 못한 것을 알게 되었습니다 최종 프로젝트에서 협업을 체계화하고자 git flow 와 Jira 를 도입하 기로 하였 습니다 . Jira 에 스프린트 회의 익숙해지고 카페 사장님들의 디저트 도매 사이트 D essert 101 토이프로젝트를 진행하였습니 다 미리 브랜치명과 커밋 컨벤션을 정하여 문서화했습니다 . 커밋 내역과 브랜치 상태로 프로젝트 가 어떤 기능이 개발되고 있고 어떤 방식으로 관리되고 있는 지 알 수 있었습니다