2023. 2. 28. 14:59ㆍ개인노트
2023년 2월 28일 두 번째 이직을 시작하기 전 개인의 생각정리 및 이때까지의 여정을 정리해 보기 위해 글을 남긴다.
물론 너무 관리를 하지 못한 티스토리에 보여 줄 게 없는 듯한 느낌이 들어서 정리를 시작한 경향도 있다.
#1
개발자로써의 첫 시작 SI회사
부산에서 국비지원학원을 수료한 뒤 서울로 올라와 개발자로 일을 시작한 2021년 3월 안양에 있는 IT회사로 출근하게 되었다. (그 과정에서 여러 곳 면접도 보았고, 특정 회사들은 소위말하는 뻥튀기..? 년차 불리기를 할거라는 식으로 설명하는 회사가 있다는 걸 커뮤니티가 아닌 직접 알게 되는 순간들이 있었다. 개발일을 제대로 시작도 안했는데 왜 2년 차가 되는 거지..???)
여러 가지 궁금했던 기술들을 사용해 보고 준비해 본 토이프로젝트만 해 보았던 내가 드디어..!
본격적인 일을 시작하는구나 싶었던 순간이었다. 두려움과 설렘(?) 여러 가지 감정을 안고 시작한 첫 출근 회사에서 지급해준 노트북에 여러가지 환경세팅을 하다 보니 하루가 다 지나가는 매직을 경험하게 되었다.
나름(?) CMS 기반 솔루션 회사였던지라 소스분석 할 때마다 의외로 큰 규모에 복잡해 보이는 로직들 잘할 수 있나 여러 가지 걱정이 지나가던 때였다.
(여기서 CMS란 content management system로 워드프레스(PHP)처럼 편리하게 사이트를 운영하고 여러 가지 관리자 기능 등을 제공하는 형태의 사이트 관리 솔루션에 가까웠다. 대부분이 자동화인줄 알았으나.. 나중에 알고 봤더니 요청이 들어오면 반자동(?)에 가까운 것들이 많았다..!
그럼에도 불구하고 공기업들이 솔루션을 납품받아 사용하는 이유는 오픈소스의 경우 개발자를 고용하거나 하여 관리를 직접해야하는데 이 경우에는 솔루션 업체에서 처리해 주기 때문인 듯했다.)
전자정부 프레임워크로 진행되는 프로젝트였다.
(egovframework, JDK 1.7, JDK 1.8 , tomcat 7, tomcat 8, Apache Server, Mybatis 등등.... 여러 가지 환경 등에 적응 중이었다)
#2
이게 맞나 싶던 나날들..
1. 기존에 소스를 수정 후 배포할 때 운영서버든 개발서버든 class파일로 하나씩 수정한 파일을 찾아가며 파일질라로 옮겨 배포하던 질풍노도의 시기.
(수정 후 배포할 때마다 시간이 너무 많이 걸리는데 첫 회사다 보니 이런 형태의 프로세스가 맞는 줄 알던 시기였다..!)
2. 처음에는 조그마한 업무로 시작하고 있었지만 갑자기 개발 2개월 차(?)에 덜컥 기존 솔루션을 납품한 업체의 마이그레이션을 담당해야 하는 일이 생겼다. Oracle -> mysql로 DB전환 및 WAS를 세팅해 둔 윈도우 서버 이관 등 여러 가지가 한 번에 몰아치는 하루가 시작됐다.
회의에도 참가해 보고 데이터 마이그레이션 쿼리, 데이터 및 서버 이관계획을 세워보고, 관련하여 정리하다 보니 해당 프로젝트에 회사 솔루션이 아닌 다른 포트를 사용하는 프로그램도 존재한다는 걸 알게 되었다..!(이슈사항 발생 1)
3. 그리고 변경하면서 새로운 사이트도 구축하기 때문에 통합로그인(SSO)까지 적용을 해야 한다고 하였다.
oracle용으로 세팅된 쿼리문들 중 페이징쿼리 변경 및 oracle에서만 지원하는 함수를 찾아서 mysql용으로 바꾸고 DB를 클라우드 서버에 설치 및 세팅하고, 변경된 쿼리가 정상적으로 동작하는지 확인하고 이래저래 일거리가 몰아치는 시기가 되었다..!
#3
첫 주말출근..!
야근도 여러 번 하긴 했지만 주말에 출근하는 건 처음이었다.
서버 및 데이터 이관 계획에 따라 일정을 조율하였고 실질적인 서버 세팅 후 특정일자를 지정하여 SSO 연동 및 이기종 DB 간의 데이터 이관처리를 수행하였다.. 대략적으로 100만 건정도였던 것 같다.
그리고 성공적으로 이관 후 오픈되었지만 물론 여러 가지 이슈사항이 생기고 동일한 테이블, 쿼리, 인덱스를 생성하여 옮겨왔지만 조회성능이 급격하게 나빠지는 케이스도 존재하였는데 그 부분을 해결하는데 힘들기도 했다.(1초도 안 걸리던 쿼리가 갑자기 3분이 지나도 결과 조회가 안 되는 상태가 발생함 DB만 바꿨을 뿐인데?!)
뭔가 많은 걸 모르던 입장에서 데이터 이관과 이것저것 준비하고 테스트하고 하다 보니 어느새 첫 회사에 취직한 지 거진 6개월이 다가오고 있었다.(이때는 6개월 단기 계약이었다.)
#4
첫 직장을 떠나게 된 이유
정직원으로의 재계약을 요청을 받았다.
여러 가지 편한 방법들이 존재하는 걸 알게 된 이후로 컴파일된 class파일들을 하나씩 옮겨가면서 배포하는 것에 불편함을 왜 감수해야 하는지에 대한 의문이 들었다.(그리고 최저임금에 가까운 임금 또한 고민이 되기도 했다..;;)
이때부터였다.
편하게 배포하는 방법이 없는지 확인해 보고 조금 더 편하게 할 수 있는 게 없는지 확인해 보기 시작하던 때가..!
자동화를 지원하는 툴의 경우 여러 가지 종류가 있지만 Jenkins라는 걸 처음 접하고 직접 개발서버에 자동화를 해보려고 노력하던 게 생각난다.(여러 가지필요성을 어필했지만 일이 바쁘다 그냥 하면 되는 거 아니냐 라는 여러 가지 들의 이유로 개발서버에 세팅하거나 사용하지는 못하였다...! 나를 비롯한 몇 명의 개발자들만 사용하는 상태로 되어버린 채 끝나버림)
그리고 JPA라는 걸 접하게 되고 충격을 받는 시기이기도 했다.
(위에서 했던 Oracle -> Mysql로의 쿼리문 변경이 되는데.. 왜?! 직접 한 거지 라는 의문을 그런....?)
여러 가지 불편함을 개선하기 위해 아무리 언급을 해도 나아질 수 없을듯한 관리자의 대답에 더 나은 환경을 찾고 싶어서 뛰쳐나오게 되었다.(이때 들었던 말은 아직도 기억난다..! 네가 여기를 나가면 뭐 더 좋은 곳으로 갈 수 있을 것 같냐고 했었다....!)
추가적으로 솔루션회사이지만 해당 솔루션 코어부분을 개발한 시니어가 모두 퇴사하고, 남은사람들이 1~2년차가 대부분인 상태에서 여기에서 내가 지속적으로 발전 해 나갈 수 있을까?? 라는 의문이 강하게 들었다.
다음 이야기는 2화에서 시작!
'개인노트' 카테고리의 다른 글
CMS 어드민 개발 시작...!(토이프로젝트) (0) | 2023.03.06 |
---|---|
개발자가 되기 까지...!(2021 ~ 2023년)(개발자 회고록 2) (0) | 2023.03.02 |
API서버 RequestBody 여러번 읽는방법 (0) | 2023.02.07 |
NPM 사용 할 때 고려되어야 하는 사항 (0) | 2023.01.12 |
개발자 채용 과제 수정해보기 (0) | 2021.10.28 |