웹서비스 백엔드 개발자 · 2022 하반기
작성자
황**
대학
홍콩 상위 대학
전공
산업공학
GPA
3.91/4.0
TOEFL
104점
"나비효과", "중요한 것은 꺾이지 않는 마음" 두가지 문구를 모토(Motto)로 여러 IT 기술 (웹, 모바일 애플리케이션 서비스 개발, 대용량,대규모 트래픽 관리)에 관심을 갖고 꾸준히 학습하고 있습니다. 그동안 쌓은 경험과 지식을 바탕으로 보다 가치있는 서비스를 효율적으로 개발하고 안정적으로 관리하기 위해 문제를 심도 있게 고민하고 해결하는 개발자가 되고자 합니다. [ 능동적, 적극적인 자세로 협업을 이끌어내다 ] 대학교 4학년 졸업 작품에서 ‘능동적인 자세’ 를 갖고 어필함으로써 좋은 성과를 냈던 경험이 있습니다. 졸업 작품은 3인 1조로 진행 되었는데, 작품 주제가 "청각장애인을 위한 의사소통보조 어플리케이션도구" 이었습니다. 프로젝트를 기획, 역할 분담을 마친 뒤에 좀 처럼 협업이 원활히 이뤄지지 않았습니다. 무엇보다 그 누구도 좀처럼 적극적으로 나서지 않자, 먼저 적극적이고 솔선수범한 모습을 보일겸 앞으로의 협업 규칙, 진행 작업 분할, 일정에 대한 토의를 제안하였고 이로인해 본격적으로 프로젝트가 수월하게 진행될 수 있었습니다. 그밖에도 숨어있는 오류를 발견해 해결하거나, 좀 더 개선되었으면 하는 부분,아이디어를 먼저 제시하는 등 적극적이고 열정적인 태도를 어필하고자 노력했고 이러한 점 또한 팀에 긍정적인 영향을 미쳤습니다. 이후, 다른 팀프로젝트 , 회사에서 타부서원과 협업을 진행하는 경우에도 ‘능동적인 자세’ 를 갖추고 임할 수록 좋은 성과로 이어지는 경우가 많았습니다. 따라서, 적극적이고 능동적인 자세를 갖추고 부딪히는 마음가짐이 강점이라고 생각합니다. [가이드 문서 작성은 필수] 에이전트/ 서버 개발자로서 근무하며, 함께 일하는 동료(프론트 개발자, QA/컨설팅 엔지니어, 디자이너) 분들과 함께 협업하는 경우가 많았습니다. 그때마다, 개발한 내용을 정확하게, 효율적으로 전달하는 것이 중요했습니다. 만약, 커뮤니케이션에 실패하거나, 설명을 못하면 업무에 큰 차질로 이어질 수 있어, 이를 방지하고자, 개발 관련 사항을 문서에 이해하기 쉽게, 상세히 설명을 넣어 전달하는 습관을 들였습니다. 이를 통해 저를 포함해 관련 담당자들에게 업무에 큰 도움이 되었고, 강점이라고 생각 합니다. 프로젝트를 진행하며 있었던 어려움, 갈등 상황에 대해 설명해주세요 [중요한건, 상대방을 탓하기보다, 이해하고 존중하는 마음] 사이드 팀프로젝트로 팀장을 맡아 진행했을 때의 경험입니다. 프론트엔드 팀원들과 백엔드 팀원들간에 협업을 진행하는 중 프론트엔드 팀원들의 작업 속도가 백엔드 팀원들의 작업 속도에 비해 많이 뒤쳐져 클라이언트↔ 서버 쪽 연동 작업이 예상 일정보다 늦어지는 어려움에 처했을 때의 일입니다. 당시에 팀장을 맡아 프로젝트 진행 일정, 완성도를 최우선으로 여겼던 저는 프론트엔드 팀원들의 작업 진행 상황을 타겟으로 삼아 압박을 주기 시작했습니다. 당시에는 당연한 방법이라 여겼고 이에 영향을 받아 작업 진행 속도는 늘었지만 팀원들이 저의 눈치를 보기 시작했고 팀 분위기가 많이 안좋아졌음이 느껴졋습니다. 추후에 프론트엔드 팀원들과 백엔드 팀원들이 협업에 차질을 빚게 되는 결과를 낳았습니다. 결국 팀원들의 수준, 작업 속도를 탓하기보다 보다 근본적인 문제를 찾는 자세가 필요했습니다. 다음날, 팀원들과 회의 자리를 마련해서 저의 그동안의 언행과 태도, 부족함에 대해 진실되게 사과를 하고, 팀원들이 평소에 빠듯한 일정과 과도한 작업량에 대해 스트레스가 많음을 알 수 있었습니다. 팀프로젝트에서 중요한건 욕심에 맞춘 완벽한 결과물 보단, 팀원들과의 협업이라는 생각이 들었고 이를 토대로 칸반보드를 통해 팀원들의 수준에 따른 예상 작업 일정, 작업 진행 상세 상황을 자세히 기록하고 격려해주는 시간을 갖도록 작업 방식에 변화를 주었습니다. 그 결과, 전보다 나은 분위기 속에서 작업이 진행되었고, 예상 외로 원활하게 진행도 또한 전보다 좋아졌습니다. 이를 통해 나 자신의 기준이 아닌 팀원들의 수준을 고려하고 각자의 진실된 속마음을 들어주고, 이해하고 존중하는 것이 중요함을 깨달았고 그동안 잘못 된 협업 방식으로 팀 프로젝트를 진행해온 자신을 되돌아보고 반성하는 계기가 되었습니다. 다른 사람과 구별되는 나만의 강점을 설명해주세요 [공부한 내용, 작업 진행 사항은 기억 보단 문서로 정리] 2017년부터 지금까지 개인블로그를 운영하며 공부한 내용, 이슈를 해결한 과정, 프로젝트 공유 등등 여러가지 내용에 대해 기록하였습니다. 업무를 진행하며 특정 기능을 구현하거나 이슈가 발생했을 때, 막히는게 있으면 주로 아래 목록의 게시글에 검색, 질문을 해서 참초하며 해결하였습니다.
ChatGPT
[MriaDB 이중화 작업 중에 데이터 동기화 불일치 현상] 블로그 웹 서비스 프로젝트를 진행하던 중, 사용 중이던 mysql DB의 master, slave 이중화 작업을 진행했을 때의 일입니다. 쓰기 트랜잭션에서 slave DB에 write 작업을 진행하는 바람에 master와 slave 간에 저장 된 데이터가 일치하지 않는 현상이 발생 했습니다. 원인을 추적하기 위해, master, slave 각각의 DB에 상태 로그를 확인하고, 롤백 후에 다시 설치하기 까지 여러 블로그를 참조해서 진행하였으나, 블로그마다 설정 방식, jdk, spring 버전, 환경에 대해 말이 달라서 단순히 설정을 그대로 따라 적용하기 보다는 설정 방식 마다 어떤 차이가 있는지, 이에 따라 spring, jpa, 트랜잭션 관리자 빈(Bean)이 어떤 식으로 초기화 되는지 등등 여러 정보를 보다 명확하게 이해하고 확인하는 과정이 필요했습니다. 문제를 파악하고 해결하기 까지 인과 관계를 명확히 정의하고 작은 부분에서 부터 단계식으로 접근하는 자세가 필요함을 깨닫는 계기가 되었습니다. [시간대(Timezone) 불일치 이슈] APM 일일/주간/월간 보고서에 표시 된 시간이 현재 시간과 일치하지 않는 이슈가 발생했습니다. 브라우저상에 시간대는 서울(GMT+9) 시간대 였고, 보고서 상에 표시 되는 시간대는 인도(GMT+5) 였습니다. 처음 겪는 유형의 이슈인 만큼 이해가 쉽지 않았기에 동료 개발자에게 조언을 구해 발생 원인을 파악할 수 있었습니다. 타임존(시간대)에 대한 이해와 서버 ≪-≫ 브라우저 간에 시간대 차이가 왜 발생하였는지 단계적으로 접근이 필요했습니다. 발생 원인은 서버측에서 잘못 계산 된 시간(기본 UTC 시간에서 보고서 상에 표시 되는 시간대(GMT+5)를 계산하여 최종 계산 된 시간 값)이 브라우저 시간대(서울, GMT+9)로 변환 되어 잘못된 값으로 표시 되는 것이었습니다. 따라서, 서버측에서 시간대를 계산하는 로직을 수정하여, 올바르게 표기 되도록 하여 해결 될 수 있었습니다. 해당 문제 관련해서 좀 더 조사해본 결과, 자바스크립트측에 moment.js 라이브러리를 이용하여, 브라우저 측에서 해당 이슈를 방지할 수 있는 것을 추가로 발견할 수 있었습니다. 시간대(Timezone)에 대해 자세히 이해하고 해결할 수 있는 다양한 방법이 있음을 배울 수 있는 계기가 되었습니다. 와탭랩스 개발1그룹(서버,알림) 사원 팀원 (1년 3개월) ※ SAAS 서버 구성 JAVA 모듈 개발 및 관리 - 프로젝트/에이전트 통합 목록 검색 API 기능 개발 - 트랜잭션 목록,상세 TXT 다운로드 API 기능 개발 ※ 브라우저, 네트워크 모니터링 서비스 연동 기능 개발 및 관리 - 브라우저 Ajax, Page 요청 프로파일 정보 조회 페이지네이션, 필터링 API 개발 및 관리 - java 동기/비동기 Aws S3 library를 이용한 대용량 sourcemap.js(소스맵 파일) 관리(CRUD) API 개발 - 네트워크 모니터링 설치 yaml 파일 다운로드 API 개발 - SAAS/설치형 고객사 이슈 트러블 슈팅 ※ 서버/클라우드 모니터링, 알림 서비스 개발 및 관리 - 이벤트 V2 신규 기능 개발 참여 - 이벤트(알림) 목록 조회 SQL 속도 개선 - SAAS/설치형 고객사 이슈 트러블슈팅 ※ 통합/프로젝트별 보고서 서비스 개발 및 관리 - 월간 이벤트 보고서 기능 개발 및 관리 - 서버 모니터링/이벤트 보고서 지표 추가 및 개선 - SAAS/설치형 고객사 주요 이슈 트러블 슈팅 ※ 설치형 고객 라이선스 발급 웹서비스 개발 및 관리 - 프론트엔드/백엔드 개발 및 관리 - 기존/신규 라이선스(V4) 발급 페이지 개발 및 관리 - querydsl 프레임워크 도입 및 레거시 코드 개선 - 설치형 고객사 라이선스 발급 이슈 대응 및 트러블 슈팅 엑셈 APM 데몬 1팀 사원 팀원 (1년 8개월) ※ 사내 애플리케이션 성능관리 솔루션(Intermax)의 주요 구성 모듈 中, WAS 모니터링 자바 에이전트, 웹서버 모니터링 자바 애플리케이션의 신규 기능 개발 및 배포, 유지 보수 ※ git-flow 기반의 담당 솔루션 모듈 버전 관리 ※ 사내 담당 자바 에이전트 솔루션 테스트용 스프링 웹 애플리케이션 프로젝트 유지보수 관리 - maven에서 gradle로 빌드 툴 변경 - 고객사의 다양한 WAS 환경 (jdk 1.5 ~ jdk 11) 의 범위 에서 버전 상관 없이 정상적으로 빌드, 실행 되도록 의존성 관리, 코드 수정 및 개선 - SAAS용 AWS RDS OS 모니터링 자바 애플리케이션 신규 개발 참여 Amazon CloudWatch API를 이용해 CPU, Memory , DB, SQL 정보 메트릭(지표) 수집 로직, 단위 테스트 코드 작성 ※ 클라우드 환경 WAS 모니터링 자바 에이전트 신규 기능 추가 및 유지보수 - Junit 기반 단위 테스트 코드 작성, 관리 - WAS 간에 http 통신 End To End 패킷 모니터링 기능 개발 - apache Jmeter 툴을 이용한 에이전트 부하 테스트 진행, OOM 버그 해결 - 타부서 실무자와 서버와의 통신 방식 및 데이터 교환 프로세스 의논 및 협의, 패킷 데이터 교환 문서 작성 ※ 담당 SW 모듈에 대한 내부 아키텍처, 주요 기능, 발생 이슈 및 고객 문의 대응 문서 작성 및 관리