자소서
★ SSG.COM에는 조직과 개인이 함께 성장하는 조직문화를 만들기 위한 일하는 방식, DNA가 있습니다.
본인을 가장 잘 표현할 수 있는 DNA 항목 중 두 가지를 골라 자유롭게 기술해 주세요.
(최소 400자, 최대 1,000자 입력가능)
“유기적인 협업”
프로젝트 경험이 없던 사람들끼리 모여 팀 프로젝트를 진행한 적이 있었습니다.
당시에 협업에 대한 지식이 없다보니 프로젝트 진행사항도 잘 공유되지 않고 회의했던 내용도 기록되지 않아서 서로 인지한 내용이 달라서 문제가 발생한 적이 많았습니다.
그래서 프로젝트 진행이 지지부진했고 결국 목표했던 애플리케이션을 완성하지 못하고 프로젝트가 종료되었던 적이 있습니다.
이 때 경험을 바탕으로 팀 프로젝트 전에 성공적인 협업을 위해 협업 방식, 협업 툴 등을 미리 조사하였고 팀원들과 해당 내용을 공유하여 프로젝트를 진행했습니다.
칸반보드를 통해 현재 프로젝트 진행도를 파악하고 회의했던 내용들을 기록하여 팀원 모두가 같은 내용을 인지할 수 있도록 했습니다.
또한, 작업한 내용에 대한 트러블 슈팅 내용이나 학습했던 내용을 문서화 시켜 팀원들간의 공유를 통해 서로 성장해 나갔습니다.
해당 프로젝트를 진행중에 중간에 팀원들이 취업으로 인해 나갔었는데 작업내용의 공유가 충분히 이루어져서 작업을 각 팀원들에게 나누고 프로젝트 규모를 축소시켜 성공적으로 프로젝트를 완성시켰습니다.
“빠른 실행”
문제가 생겼을때 어떤 부분이 원인인지 빠르게 파악하고 이를 해결하려고 노력합니다.
이전에 프로젝트의 배포를 완료했는데 사이트의 속도가 너무 느리고 간헐적으로 504 에러가 발생했었습니다.
HTTP 응답 코드를 통해 서버의 응답이 늦어 해당 에러가 발생한 것을 파악했고 서버에서 로그를 통해 요청을 처리하는데 걸리는 시간을 측정하였고 서버측에서는 매우 빠르게 응답을 보내주는 것을 확인했습니다.
이를 통해 서버의 처리가 늦어서 발생한 문제가 아니라는 것을 파악했고 Vercel 설정을 확인한 결과 배포한 서버의 위치가 미국이고, 백엔드 서버의 위치가 한국이어서 거리 때문에 지연이 발생한 것을 파악했습니다.
문제를 해결하기 위해 프론트 배포를 GCP에서 진행하였고 응답이 지연되어 504 에러가 발생하는 경우가 사라졌고 사이트 속도도 매우 빨라졌습니다.
★개발Track :
①지원 분야와 관련하여 자신이 학습(경험)한 내용과
②다룰 수 있는 언어 및 수준 또는 개발 프로젝트에 대해 기술해주세요.
(최소 400자, 최대 2,000자 입력가능)
42서울이라는 교육기관에서 기본적인 CS 지식을 습득하였습니다.
해당 교육기관에서 C의 기본적인 라이브러리, 자료구조들을 직접 구현해보면서 실제로 내가 사용하던 라이브러리와 자료구조들이 어떻게 동작하는지 이해할 수 있었습니다.
CS 지식을 쌓은 후 백엔드 개발자로 취업을 위해 데브코스에서 Java + Spring으로 백엔드 개발을 학습했으며, 애플리케이션을 클라우드 환경에서 배포하고 운영하기 위해 클라우드 지식을 학습했습니다.
프로젝트로 Java + Spring을 사용하여 책을 기반으로 한 스터디를 제공하는 웹 애플리케이션의 백엔드를 담당했습니다.
3주간 프론트엔드 5명, 백엔드 3명이서 프로젝트를 진행하였고 스터디 관리 기능과 댓글 도메인, DevOps 역할을 맡아서 진행했습니다.
프로젝트는 애자일 스크럼 방식으로 진행하였고 팀원들 간의 작업 내용 공유를 위해 Github Projects를 통해 작업을 관리하고 스프린트를 단위마다 최소한의 기능을 가진 애플리케이션을 만들었습니다.
이번 프로젝트에서 프론트엔드와 협업을 하게되어 API 문서화가 필요하였고 RestDocs를 제공하려했으나 API를 테스트 해볼 수 있는 기능이 있으면 좋겠다라는 말씀을 듣고 RestDocs의 결과를 OpenAPI Spec으로 변환하여 Swagger로 제공해주었습니다.
개발 생산성을 올리기 위해 DB 접근기술로 JPA를 사용하였으며 JUnit + Mockito를 통해 테스트를 작성하여 작성한 코드들에 대해 검증했습니다.
그리고 작성한 테스트와 코드 커버리지 및 정적분석 도구를 이용하여 CI/CD 파이프라인을 구축하여 신뢰성있는 상태의 애플리케이션을 자동으로 배포하는 환경을 구축했습니다.
이를 통해 개발에 온전히 집중할 수 있고 배포 과정 자동화를 통해 휴먼에러를 최대한 줄일 수 있었습니다.
서비스 배포 후 서비스를 사용중에 변경사항이 있어 자동 배포가 진행되면 서비스가 되지 않는 증상에 대해서 불편함을 느꼈고 블루/그린 배포 방법을 사용한 무중단 배포를 구현하였습니다.
★ SSG에 지원하게 된 동기와 SSG를 사용하면서 느꼈던 점을 자유롭게 기술해주세요.
(최소 400자, 최대 2,000자 입력가능)
SSG의 경우 월간 이용자의 수가 2000만을 넘어가는 등 많은 이용자 수를 보유하고 있기 때문에 대용량 트래픽을 경험할 수 있을 것 같아 관심이 생겼습니다.
이후 SSG이라는 기업에 대해 찾아보아보며 개발자로써 빠른 성장을 할 수 있는 기업이라는 생각이 들었습니다.
프로젝트를 진행하면서 주도적으로 의견을 내고 의견을 뒷받침하는 근거를 가지고 다른 사람을 설득하는 일이 많았는데 서로 의견을 나누는 과정에서 성장한다는 것을 느꼈습니다.
SSG의 경우 이런 과정을 적극적으로 장려하고 있다는 생각이 들었고 단순히 시키는 것만 하는 것이 아닌 주도적으로 나서 의견을 제시하고 다양한 도전을 해볼 수 있는 기업이라는 느낌을 받았습니다.
이 뿐만이 아니라 학습한 내용에 대해서 다른 사람과 공유하여 피드백 받으면서 서로 성장할 수 있는 환경을 원했는데 SSG의 컬쳐핏을 보며 내가 일하고 싶은 기업과 일치하여 지원하게 되었습니다.