첫 개발자 커리어는 중소기업에서 시작해 약 2년 5개월간 자사 앱 서비스를 유지보수하는 역할을 맡았다. 그러나 점차 개발자로서의 역량 부족을 느끼며, 코드를 작성하는 데 부담감을 가지게 되었고, 결국 퇴사를 결정했다. 이후 부족한 부분을 채우기 위해 삼성청년소프트웨어아카데미(SSAFY)에서 1년간 교육을 받았으며, 그 후 외국계 SI 기업에 백엔드 개발자로 다시 커리어를 시작하게 되었다. 현재까지 약 10개월간 SI 백엔드 개발자로 근무했고, 진행 중인 프로젝트가 마무리되는 시점에 회고를 남기게 되었다.
SI 기업에 처음 취업하면서 알게 된 점
- SI 기업은 인력을 Man/Month(맨먼스) 단위로 표현한다. 말 그대로 ‘한 사람이 1개월 동안 수행할 수 있는 작업량’을 의미하지만, 이 단위가 실제 개발자의 능력을 반영하는 것은 아니라는 점이 인상 깊었다. 개발자의 등급과 맨먼스를 통해 단가가 책정되는 구조였다.
- 취업 후에도 고객사 파견을 위한 별도의 면접을 보게 된다. 이는 고객사의 요청이 있을 경우에 진행되는 것으로 보이며, 면접 없이 파견되는 경우도 존재했다.
- 고객사에 파견된 이후에는 본사에서 큰 관심을 가지지 않는 듯한 느낌을 받았다. 일단 고객사에 인력이 투입되면, 복귀하기 전까지는 실질적인 케어가 거의 없었다.
프로젝트를 진행하며 알게 된 점
- 물류 도메인의 프로젝트를 진행하면서 실제 로봇의 이동이 알고리즘에 의해 제어되는 모습을 직접 확인할 수 있었다. SSAFY에서 학습했던 다익스트라 알고리즘이 실제 환경에서 사용되는 것을 보며, 그 중요성을 다시금 느꼈다.
- 폐쇄망 환경에서 Jenkins를 구성하면서 다양한 네트워크 이슈를 경험했다. 예를 들어 Git 서버에서 Webhook 송신은 불가능했지만, Jenkins 서버에서 Pull 방식은 가능했다. 이는 방화벽 설정 등 네트워크 제약에 따른 현상으로 보였다.
- 고객이 Teams를 통해 빌드 결과를 받고 싶어 하셨고, Jenkins Plugin으로는 원활하게 동작하지 않아 Webhook 엔드포인트를 직접 받아 curl 명령어를 통해 메시지를 전송하도록 구성했다.
- SI 프로젝트에서 가장 번거로운 점은 문서화 작업의 양이었다. 특히 API 명세서를 따로 생성해야 했기에, Swagger 데이터를 파싱하여 Excel 문서로 자동 생성하는 스크립트를 작성하였다. 이 과정에서 TypeScript와 유사한 ExcelScript를 사용해볼 수 있었다.
- Jenkins, SonarQube, Nginx를 온프레미스 Windows 환경에 구축해야 하는 고객 요청이 있었는데, 이 과정에서 예기치 못한 이슈도 발생했다. 특히 Windows 명령줄에서 명령어 실행 시 대문자가 자동으로 소문자로 변환되는 문제가 있었고, 이는 보안 프로그램 때문으로 추정되었다. 결국 PowerShell과 Bash를 활용해 우회하는 방식으로 해결했다.
- 자사 서비스의 품질 검증 프로세스를 거치며 보안, 아키텍처, 테스트 각 팀으로부터 다양한 컨설팅을 받았다. 보안 측면에서는 프론트엔드와 백엔드의 역할 구분을 명확히 해야 함을 느꼈고, 아키텍처 측면에서는 고가용성을 위한 구조 설계에 대해 다시 고민하게 되었다. 테스트 측면에서는 사용자 친화적인 UI/UX의 중요성을 체감했다.
- 좋은 고객을 만나는 것이 얼마나 중요한지를 느낄 수 있었다. 파견 전에는 '갑을' 관계에서 오는 어려움이 있을 거라 예상했지만, 다행히 현재 고객사에서는 팀원들을 잘 챙겨주셔서 늘 감사한 마음이다. 앞으로도 팀에 더 많은 기여를 하고 싶다.
앞으로 어떻게 할까
단기 목표
이번 분기에는 개발 공부를 많이 하지 못했다. 가장 가까운 목표는 KCNA 자격증 취득이다. 현재 프로젝트는 대용량 트래픽을 처리하지 않기 때문에 상대적으로 간단한 아키텍처로 구성되어 있지만, 앞으로 대용량 트래픽을 다뤄야 하는 상황이 온다면 꼭 사용해보고 싶은 기술이기 때문에 지금부터 개념 정리를 해두고 싶다.
커리어 목표
그동안 항상 "CTO가 되고 싶다"는 목표를 가지고 있었지만, 문득 왜 그렇게 생각했는지를 되짚어 보게 되었다. 개발자의 커리어는 제너럴리스트와 스페셜리스트 두 방향으로 나뉠 수 있다고 생각한다. 나는 지금까지 제너럴리스트로 살아온 것 같다. 앱 개발자로 시작해, 백엔드, 풀스택 등 다양한 영역을 경험하면서 자연스럽게 CTO라는 꿈을 꾸게 된 것 같다.
최근 서비스 품질 검증 과정에서 아키텍처 팀의 검증을 받으며, 내가 생각한 이상적인 CTO의 모습을 확인할 수 있었다. 서비스에 대한 배경지식 없이도 문제를 정확히 짚고, 서버에 직접 접근해 원인을 분석하는 모습이 매우 인상 깊었다.
이 경험을 바탕으로 다음 커리어는 아키텍트가 되었으면 한다. 그리고 그 이후, 변함없이 CTO가 되고 싶다.
'박현우' 카테고리의 다른 글
2024년 회고 (7) | 2024.12.30 |
---|---|
DVA-C02 자격증 후기 (3) | 2024.12.02 |
내가만든 오픈소스, 누가 쓰긴하나? (4) | 2024.11.13 |
Github Foundations 자격증 후기 (3) | 2024.09.28 |
2024 AWS Innovate Migrate, Modernize, Build 후기 (4) | 2024.09.26 |