|
|
|
|
|
 |
웅진CIT-Lab팀의 JavaBackendWeb개발은 단순히 웹 기능을 만드는 역할이 아니라, 조직의 서비스가 안정적으로 확장되도록 토대를 설계하고 운영 품질을 끌어올리는 역할이라고 이해하고 있습니다.
저는 개발을 개인의 손기술이 아니라 팀의 시스템으로 만들고 싶습니다.
반면 저의 약점은 초기에 완벽한 구조를 만들고 싶어 과설계로 흐를 수 있다는 점입니다.
제가 실제로 방식을 바꿔 성과를 만든 사례는 테스트와 코드리뷰 문화를 개선한 경험입니다.
팀에서는 테스트가 "시간이 남으면 하는 것"으로 취급되는 경향이 있었습니다.
제가 먼저 한 일은 테스트가 왜 안 되는지 이유를 구조로 분해하는 것이었습니다.
웅진 CIT-Lab팀에서도 저는 비슷한 방식으로 개발 프로세스를 더 단단하게 만들겠습니다.
저는 테스트를 레이어별로 구분하되, 핵심 경로를 중심으로 설계합니다.
|
|
|
 |
경험했던 조직생활 중, 조직원들과 함께 성공적으로 문제 해결(또는 목표 달성)을 했던 경험이 있다면 본인의 실제 역할을 중심으로 기술하여 주시기 바랍니다.
저는 그 신뢰를 코드와 구조로 증명하는 일을 하고 싶었고, 그래서 '서비스의 중심을 지키는' 백엔드 직무를 선 택했습니다.
웅진CIT-Lab팀의 JavaBackendWeb개발은 단순히 웹 기능을 만드는 역할이 아니라, 조직의 서비스가 안정적으로 확장되도록 토대를 설계하고 운영 품질을 끌어올리는 역할이라고 이해하고 있습니다.
인턴이라는 기간이 짧다고 해서 가벼운 성과로 만족하고 싶지 않습니다.
제가 만들고 싶은 첫 성과는 장애가 나도 복구가 빠른 구조, 재현 가능한 테스 트, 문제를 빠르게 발견하는 관측 가능성입니다.
기능은 일정에 맞춰 만들 수 있지만, 신뢰는 습관과 기준을 조직에 남길 때 생긴다는 것을 경험으로 배웠기 때문입니다.
저는 개발을 개인의 손기술이 아니라 팀의 시스템으로 만들고 싶습니다.
저의 강점은 운영을 전제로 설계하는 습관입니다.
실제로 결제 완료 이후 주문 상태가 간헐적으로 되돌아가는 이슈를 겪었을 때, 원인은 비동기 처리 중 레이스 컨디션과 중복 콜백 처리였습니다.
반면 저의 약점은 초기에 완벽한 구조를 만들고 싶어 과설계로 흐를 수 있다는 점입니다.
배포 직후 특정 조건에서 결제 완료가 지연되고, 고객 문의가 급증했습니다.
저의 역할은 상황을 통제 가능한 단위로 쪼개고, 팀이 같은 사실을 바라보게 만드는 것이었습니다.
장애가 시작된 시점, 직전 배포 변경점, 외부 연동 응답 변화, DB 지연 여부를 시간축으로 정렬해 팀에 공유했습니다.
같은 일을 더 적은 비용으로, 더 예측 가능하게 만드는 것이 혁신이라고 생각합니다.
팀에서는 테스트가 "시간이 남으면 하는 것"으로 취급되는 경향이 있었습니다.
그래서 릴리즈 속도는 빨랐지만, 장애가 한번 나면 그 비용이 더 컸습니다.
저는 이 구조가 결국 팀의 시간을 갉아먹는다고 판단했고, 테스트를 강요가 아니라 생존도 구로 바꾸고 싶었습니다.
팀원들이 테스트를 싫어한 게 아니라, 무엇을 어디까지 테스트해야 하는지 기준이 없고, 테스트가 작성하기 어렵고, 작성해도 유지보수가 힘들었기 때문입니다.
다음으로 저는 테스트 작성 비용을 낮췄습니다.
인덱스, 쿼리 구조, 캐시적정 적용, 불필요 호출 제거 같은 조치로 먼저 안정화하고, 필요하면 비동기화나 큐잉으로 구조적 개선을 설계합니다.
장애 전파를 줄이기 위해서는 외부 연동의 실패가 내부 전체를 묶지 않도록 타임아웃을 명확히 하고, 필수 경로 가 아닌 작업은 비동기 처리로 분리했습니다.
단위 테스트는 도메인 규칙과 상태전이처럼 로직이 중요한 부분에 집중하고, 통합 테스트는 실제로 장애가 발생했을 때 비용이 큰 구간에 우선순위를 둡니다.
예를 들어 인증과 권한, 결제 승인 흐름, 주문상태 전이, 멱등처리, 재시도 처리 같은 부분은 통합 테스트로 보호합니다.
보안 원칙의 핵심은 입력은 불신하고, 권한은 최소화하며, 민감정보는 남기지 않는 것입니다.
필요한 것은 추적ID, 상태코드, 처리 시간 같은 메타 정보였고, 민감필드는 저장하지 않게 했습니다.
잘못된 코드나 결론을 그럴듯하게 제시하는 환각, 민감 정보 유출, 그리고 팀 이 사고를 AI에 맡기는 의존성입니다. |
 |
테스트, 만들다, 팀, 장애, 처리, 상태, 개발, 설계, 이다, 기능, 운영, 특정, 경험, 실제, 문제, 개선, 구조, 결제, 조직, 외부 |
|
|
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|