고졸부터 취업 및 2년차 개발자가 이직을 생각하기까지..

최윤성·2024년 5월 9일
1

회사 생활

목록 보기
1/1
post-thumbnail

들어가며..

이 글은 제가 마이스터고를 거치며 취직후 회사를 다니며 겪었던 경험을 공유합니다.

편하게 한 고졸 개발자가 풀어주는 썰이라고 생각하시면 좋을듯합니다. 🥸


고등학생 개발자의 학교개발 생활 🚐

나는.. 결정장애?

저의 경우 특목고인 소프트웨어마이스터고를 졸업하였습니다. 저는 학교에서 평범하다면 평범한? 학생이였고 고등학생 당시에도 역시 개발을 좋아하는 한 사람이였습니다.

다만, 여러 고민이 있었는데 내가 하고싶은 개발 분야를 감 잡지 못했다는것이였습니다.

그래도 취직은 해야지..

다른 친구들은 1학년부터 하고싶은 분야 (back-end , front-end, ai , hw 등등..) 를 미리 정해 다음 학년인 2학년부터 해당 분야를 파는것에 반해 저는 게임개발을 먼저하다 안드로이드 , 웹 프론트엔드를 거칠정도로 잘 한 분야에 정착하지 못하는 성격을 지녔고 이러다보니, 한 기술에 대해 깊게 정착하지 못하여 이대로는 취업에 불리할거같아 안드로이드 분야를 적극적으로 공부하였고 교내 및 교외 행사 , 개인적으로 여러 사이드 프로젝트도 만들었습니다.

이때에 저는 사이드 프로젝트를 만드는것을 좋아했고 또 즐겼습니다. ( 오류는 좋아하지 않았지만..)

사이드 프로젝트를 엄청나게 멋있게 만들지 못했지만 그래도 개발을 좋아하는 마음을 좋게 봐주신 기업이 있어 3학년때 취직을 할 수 있었던것 같습니다.

이에 대한 글은 따로 작성해보겠습니다 :)

나의 처음 직장이자 새로운 사회 📕

아직 미처 나에게 주어진 사회가 끝나기도 전에 새로운 사회를 맞이하는 도전

새로운 시작은.. 늘 설레지만은 않지

이때의 저는 굉장히 마음이 두근거리고 또한 두려웠습니다. 그 이유는 고등학교도 졸업을 안한 내가 회사에 소속되며 회사 업무를 할 수 있었기 때문입니다.

또한, 고등학생인 저로써 무언가 실수하지않을까 혹은 회사의 업무를 해내지 못하면 어쩔지.. 고민을 많이 했었던거 같습니다.

안드로이드 키오스크..?

회사에서 제가 가장 처음으로 받은 업무는 AI 동영상을 이용한 롤베이스 형태의 안드로이드 키오스크 였습니다.

키오스크에 말을 하면 STT 로 말을 인식하고 해당되는 질문에 대한 답을 해주는 간단한 롤베이스 였으나 기존에 제가 제작하던 방식과 많이 달라 파악하는데 시간이 걸렸던 기억이 있습니다.

추가적인 질문지 애니메이션이나 인식 후 자동 스크롤 및 여러 기능 최적화를 해보니 이제 진짜 내가 회사원이구나.. 하는 생각도 들고 상당히 흥분된 상태에서 개발 했었습니다.
또한 , 해당 앱은 키오스크에 들어가는앱이라 용량적인 문제도 있어 추가로 들어가야하는 애니메이션을 android compose 로 직접 구현했던 기억이 있습니다.

그래도 처음 맡았던 프로젝트이니 만큼 애정이 가는 프로젝트였기도 하고 사내에서 해당 키오스크를 이용해 CES 관련 사업도 진행한것을 공유 받아서 뿌듯하기도 했던 프로젝트였습니다 :)

Web , Mobile 동시 공부

모바일 개발자에서 웹 개발자로?

안드로이드 키오스크 프로젝트를 무사히 마친후 저에게 주어진 업무는 식단관리 관련 솔루션 개발이였습니다. 다만, 이 프로젝트에서 APP은 이미 만들어진 보일러플레이트 코드가 존재하였고 WEB 은 만들어지지 않은 상태였습니다.

그래서 APP 에서 사용되어진 라이브러리인 React Native 를 공부하여야하였고 추가적으로 웹도 만들어야 하는 상황이였기 때문에 React 를 먼저 공부하게 되었습니다.

React 는 이미 제가 학교에서도 몇번 경험해보았었고 JS 나 TS 도 경험해 보았어서 2주간의 업무 병행 학습으로 개발 방향성이 잡혔습니다.

다만, 이러한 학습에서 React Native 도 어느정도 진행해볼 수 있었지만 Web 은 프로젝트 특성상 백엔드 , 프론트엔드의 코드를 한번에 관리할 수 있는 SSR 프레임워크인 Remix 를 사용했습니다. 다만, 이때 Remix 를 도입한것은 프레임워크를 비교하며 결정한것이 아닌 최근 트렌딩에 Remix 프레임워크가 자주 보이고 또한 흥미가 생겨 도입하게 되었습니다.

( Next.js 를 도입할껄.. 추후 후회했습니다..)

이때 두가지 플렛폼을 동시에 맡으며 여러가지 라이브러리나 코드 스타일을 내 의지대로 도입도 해보고 시행 착오도 겪으며 많이 성장했던거 같습니다.

1년차 주니어인 내가 여기선 10만+@ 서비스 관리까지?

어느날, 저에게 회사에서 겪었던 업무중 가장 고난을 겪고 , 성장아닌 성장을 했던 프로젝트가 할당되었습니다.

해당 프로젝트는 회사에서 외주로 진행하는 외부 프로그램 유지보수였는데 해당 프로그램은 웹 / 관리자 웹 / 사용자 멤버십 웹으로 이루어져있었습니다.

다만, 프로그램에서 제가 경험해보지못한 JSP 및 각종 Spring 프레임워크를 사용하였었습니다. 저로써는 프로젝트를 받고 당황했습니다.

당장 지금부터 해당 프로젝트에 사용된 프레임 워크를 모두 공부하고 (특정 회사의 private 프레임 워크도 포함되어 있어 쉽지않았습니다..) 명목상 유지보수지만 신규 개발도 앞으로 한달 안에 해야하는 상황이였고 추가로 이미 10만+@ 사용자가 사용하고 있는 서비스라 부담도 많았습니다.

프로젝트를 하며 걱정했던대로 제가 모르는 부분에서 오류가 터지는것이 주를 이뤘고 프로젝트에서 사용하던 JAVA 버전이나 여러 프레임워크들이 노후화되어 유지보수하는데에도 난항을 겪었습니다.

그럼에도 불구하고 저와 같이 프로젝트를 진행하던 Back-end 개발자분과 함께 멤버십 회원 로그인 방식 변경 및 여러 이슈 트레킹 + 신규 기능 개발등 여러 시행착오를 겪으며 100+@ 의 pr 이 생겼을정도로 성장도 많이 되었지만 번아웃도 함께왔던 프로젝트였습니다.

내가 원하는 성장 ≠ 회사가 바라는 업무 처리

제가 원래 원하는 성장 및 개발 방향은 팀원간의 소통이 주력이 되며 가독성이 좋은코드가 무엇인지 연구하며 클린코드 방향성이 지켜지며 개발하는것이였습니다.

다만, 현재 회사에서는 한가지를 깊게 유지보수하는것이 아닌 여러 프로젝트를 동시다발적으로 개발하여 업무 던지기 식으로 진행되었습니다. 이러한 환경에서 저는 업무를 하던 어느순간 제가 원하는 가치의 성장을 할 수 없다는것을 깨달았습니다.

( 나는 코드를 보고 수정 및 추가만 하는 사람인가..?)

또한, 개발 환경상으로 사수분이나 다른 코드를 봐주실 수 있는 개발자분이 존재하지 않다는 점 및 한번 프로젝트가 종료된 코드에 대해서 코드 클린을 안한다는점 + 저의 코드를 리뷰 받을 창구가 어디에도 없다는점(개인적인 공부에서도 주변에 도움을 받을 수 있는 환경이 없었다.) 에서 저의 성장은 매말라 있었다고 생각합니다.

그래서 이때부터 개인적으로 클린코드를 공부하여 새로운 프로젝트들은 처음 만들때 , 만들어 진후에 클린코드를 회사 코드에 적용시켰던거같습니다.

클린코드 공부

회사일을 하던 어느 순간.. 저는 문득 이런생각이 들었습니다.

내가 지금 일하며 쓰는 코드가 내가 추구하는 코드가 맞나?

회의감이 점점 더 커져가며 생각해보기론 바쁜 프로덕트에 맞추려는 제 자신만 보였고 제가 추구했던 "개발자면 누구든지 볼 수 있는 코드" 와는 거리가 멀었습니다.

실제로 제가 만들어놓은 컴포넌트들을 봐도 가독성 제로에 가까운 컴포넌트와 props drilling 현상으로 인해 의존성이 서로 연결되어버린 코드들.. 밖에 보이지 않았거든요.

그래서 차근차근 시작했습니다.

SOLID 기법을 이용한 react 에서 추구하는 이상적인 컴포넌트 생성 및 분리 방식 및 여러 디자인 패턴, 추가적인 web 내부 동작과정 / 테스트 코드 , 스타일 선언 방식 등등

이전에 급하게 공부하느라 하지못했던 공부를 진행하였고 또한, 공부를 하며 이전에 풀리지 않았던 최적화 문제나 궁금했던 사항들도 여럿 알 수 있었습니다.

다만 , 제가 궁극적으로 추구했던 누구나 알 수 있는 코드 를 충족하기에는 다른 사람의 의견이 수용되지않은 제 주관적인 코드는 아직 부족했습니다.

🖥❤️ (코드로 토론을 해보고 싶은 내 마음)

개인적인 공부에서도 성장할 수 있는 한계를 느끼게 되었습니다..


결론

저는 위의 배경을 바탕으로 저는 코드리뷰가 존재하고 회사의 플랫폼 방향성 및 유저에게 직접 피드백을 받으며 일 할 수있는 환경에 대해 목말라지기 시작했습니다.

이 다음 글에서는 위의 배경을 바탕으로 시작했던 이직기에 대해 이야기해보겠습니다.

긴글 읽어주셔서 감사합니다!

내가 원하는 성장을 얻기위해.. 또한, 내가 추구하는 가치를 위해..

profile
웹과 앱을 사랑하는 남자

0개의 댓글