그 쪽(회사) 주니어 개발자는 안녕하신가요?! (부제: 주니어 개발자가 회사를 떠나는 이유)
안녕하세요! 운동하는 개발자 JAY입니다.
뭔가 코로나 때문에 재택근무도 하고 그러다 보니 2020년 상반기가 금방 지나간 거 같습니다 ㅎㅎ
6개월이 지난 현재, 개발자로서 잘 성장해 왔는지와 주니어 개발자로서 회사에 대한 로망(?) 대해서 정리를 해보고 싶었습니다.(라고 쓰고 불만이라고 읽는다) 최근에 느끼는 저의 고민과 지인들을 만나면서 듣게된 내용들을 컨텐츠로 만들면 좋을 거라 생각해서 글을 쓰게 되었습니다.
모든 개발자들에게 마찬가지겠지만 개발(일)이라는 게 인생에 있어서 중요한 부분을 차지하고 있고, 특히 주니어 개발자들은 더 열심히 공부하고 무언가 얻어가야 한다고 생각합니다.
(조금 극단적이지만) 오늘 하루가 내년의 나에게 얼마나 큰 영향을 미칠지 모른다고 생각합니다. 그리고 일을하면서 본인과 맞는 Fit의 회사를 찾는 것도 중요하지요 ㅎㅎ
이번 포스팅에서는 개인적으로 이직을 하면서 느꼈던 것들과 다른 지인들의 경험 그리고 현재 저의 경험 등을 토대로 "주니어 개발자가 회사를 떠나는 이유" 를 정리해보려고 합니다.
아, 연봉은 일단 베이스로 깔고 가겠습니다 ㅎㅎ 이번 포스팅에서는 연봉보다 중요한 가치(?)에 대해서 이야기해볼게요!
(사실 돈이 최고야 ..흠흠..흠💰 )
1. 하고 싶은 일을 하고 있는가? 👨💻
첫 직장에서 2년 정도 일하고 현재의 회사로 이직을 하게 된 가장 큰 이유는 '개발자'이고 싶어서입니다!
이건 IT 회사가 첫 직장인 주니어 개발자들에겐 공감이 안될 수 도 있는데, 저는 첫 직장을 제조업 쪽으로 갔습니다.
임베디드 개발자로 입사했지만 하는 일은 볼트 쪼이고, 전수검사, 출장 가서 프로그램 설치, 문서작성 등 온갖 잡일을 했죠 ㅎㅎ 물론 개발을 하기도 했지만 MFC로 되어있는 데이터 분석 프로그램 유지보수 정도? 한 2년 동안 3개월 정도 한 것 같네요 ㅎㅎ
그래서 진짜 개발만 하는 회사에 가고 싶은 열망이 컸기 때문에, 내일 채움 공제(5개월인가? 남기고 포기), 커리어, 안정된 생활(?) 등을 포기 한채 이직을 결심하게 되었습니다.
- 잡일꾼 개발자 시절 (탈출을 꿈꾸던 시기) : https://jay-ji.tistory.com/22?category=747899
제 지인의 경우는 프론트엔드쪽을 하고 싶었는데, 백엔드 쪽 일을 계속하게 되어 이직을 하고 싶었다고 했습니다. 다행히 부서가 변경되어 잘 풀렸다고는 하네요ㅎㅎ
회사(또는 리더)에서 주니어 개발자가 하고 싶은 일만 줄 수는 없지만, 적어도 포지션에 맞는 직무와 현재 하고 있는 일에 대한 어려움에 대해서는 공감해주고 알아줘야 한다고 생각합니다.
좀 더 폭넓게 보자면 하고 싶은 일이란 회사의 비전과도 연결될 것입니다. 내가 만든 서비스가 일상생활에서 편리함을 주고 사람들에게 사랑받는다면, 거기서 얻는 성취감은 정말 말로 표현 못할 것입니다.
가령 예를 들자면, "나는 재미난 서비스를 만들고 싶은데 회사에서는 수익을 내기 위한 서비스만 만든다" 했을 때 회사의 비전과 지금 나의 비전, 서비스를 만드는 목적에서 괴리감을 느낄 수 도 있을 것 같습니다. (비유가 적절한지 모르겠네요 ㅎㅎ)
그리고 적어도 이 서비스를 개발하는 이유와 목적 등에 대해서 공유해줘야 한다고 생각합니다.
그냥 "이것 좀 만들어 주세요!", "이 기능 넣어주세요"라는 요구는 개발자에게 공장에서 통조림 캔을 찍어내는 로봇이라는 느낌을 주기도 합니다.
2. 지금 하고 있는 일이 내 성장(커리어)에 도움이 되는가? 🌳
'성장' 이라는 키워드는 개발자, 특히 주니어 개발자에게 가장 중요하다고 생각합니다. 저 또한 회사를 다니면서 가장 중요하게 생각하는 것 중 하나입니다. 회사에서 일을 하면서 성장을 할 수 있습니다! 하지만 회사에서 주어진 업무 만으로는 지속적인 성장을 기대하기 어렵습니다
하..전 부양해야 할 가족도 없고(미혼), 돈도 없고... 노빠꾸 인생이기 때문에...(가진건 몸뚱이뿐...😂) 개발자로서 성장하는 게 지금 인생에 있어서 가장 중요한 일입니다 ㅎㅎ
사람마다 기준이 달라서 얼마만큼 이 '성장'이라고 정의하기는 조금 어렵긴 하네요.
그리고 어떻게 생각해보면 회사는 학원이 아니기 때문에 개인의 성장을 위해 노력해줄 필요는 없기도 하고... 흠...
사실 저는 개인의 성장 -> 팀의 성장 -> 회사의성장이라고 생각하는 사람이라... 회사에서도 개인의 성장을 위해 어느 정도의 노력을 해줘야 한다고 생각하는 합니다. 물론 당연히 주니어 개발자도 그만큼 의지가 있어야겠지요!💪
그리고 회사에서 주어진 업무 만으로 성장을 바라는 것도 약간은 미련한 일(한계가 있다고 생각함)이기도 합니다. 주니어 개발자가 회사일 말고도 성장할 수 있는 일이 무엇일지 한번 (뻔하지만) 적어봤습니다.
📌 토이 프로젝트 (강력추천) 🤖
무조건 하라고 말씀드리고 싶네요! 저는 회사에서 django, python을 쓰는데 이미 어느 정도 갖추어진 상태라 크게 처음부터 무언가 세팅하고 할 일이 없었습니다.
토이 프로젝트를 하면서 DNS 설정, 서버 생성, Nginx세팅, 배포 등을 처음부터 끝까지 경험하다 보니, 회사에서 몰랐던 부분도 알게 되고 처음부터 내가 만들었다는 성취감도 얻을 수 있었습니다.(자신감도 up!)
주변에 같이 함께할 동료들이 있으면 더 좋은 것 같아요. 혼자 하다 보면 뭔가 "아 내일하자", "귀찮은데 이건 넘어가자" 하는 경우도 있는데, 같이 하다보면 실제 회사처럼 일정도 정하고 좀 더 적극적으로 할 수 있게 되는 것 같습니다.
📌 스터디 📝
토이 프로젝트와 비슷한데, 스터디를 통해서 좀 더 깊게 알 수 있는 것 같아요. 저는 최근에 Rx스터디를 시작했는데, 처음에는 Rx가 그냥 비동기 처리 관련된 라이브러리 정도로만 알고 있었습니다. 지금은 Rx가 왜 인기 있는지 또 Rx를 사용할 수 있게 되었습니다.(아 물론...기본;;)
그리고 글로 정리하다 보니까 좀 더 깊게 찾아보게 되고 라이브러리를 뒤져보게 되는 것 같아요. 이렇게 스터디를 하면서 새로운 지식이 생긴다는 거 자체가 성장의 지표가 될 수 도 있을 것 같습니다.
📌 오픈소스 활동 👨💻
주변에서는 오픈소스 활동을 많이 하는 것 같은데, 막상 제가 하려니까 뭐부터 해야 할지 어렵더라고요 ㅎㅎ
그래서 저는 제가 사용하고 있는 오픈소스 플러그인에 README 수정부터 시작했어요!
처음부터 "README를 수정해야겠다!" 이런 건 아니지만 직접 사용하다 보니까 문서를 읽게 되고, 코드를 뒤져보게 되고 이 부분이 추가되면 더 좋겠다는 생각이 들더라고요 ㅋㅋ (PR은 했지만.. 언제 merge 될지는...)
이런 거 하나하나가 소소하게 하다 보면 언젠가는 코드 수정까지 할 수 있을 것 같습니다! ㅋㅋ
3. 회사(일) 가는 게 꿀잼인가? 🍯
현재 일하고 있는 회사에서 1, 2년 연차가 쌓이다 보면 자연스럽게 회사에서 사용하는 언어, 프레임워크에 대해 익숙해집니다. 그리고 웬만하면 기존에 하던 업무와 유지보수를 주로 하게 됩니다. (Case By Case입니다~)
솔직히 유지보수.. 🐶빡칩니다... 내가 몇 개월 전에 짠 코드도 유지보수하면서 보면...
"과거의 나여 왜 이렇게 짠 것인가.. 미친것인가?"
라는 생각이 드는데... 정말 초창기 코드, 레거시 코드 등을 수정할 때면 정말 화가 납니다...ㅎㅎ
그리고 프로젝트는 끝났지만, CS 등을 통해 들어오는 유지보수, 추가 수정 등은 사람을 지치게 하죠...ㅎㅎ( 다른 것 좀 하고 싶다 하...).
또 잘못된 경우(?)에 CS가 너무 많이 들어오면 log 찾고 history 찾고... 뭔가 개발은 아니자만 개발자가 해야 하는 일(?) 아니 개발자가 해야하는 일인가(?)라는 의문이 드는 일들을 할 때면... 현타가 오기도 합니다.
그러다 보면 일에 흥미가 떨어지고, 새로운 기술, 언어, 프레임 워크에 대한 관심이 생깁니다.
"왜 우리 회사는 이런 거 안 쓰지?"
"어... 이거 한번 공부해서 회사에 적용해 보고 싶은데?"
물론, 현재 회사에서 사용하고 있는 기술, 언어, 프레임워크를 마스터했다는 이야기는 아니지만, 늘 하던 거니까 새로운 거에 비해 흥미가 떨어진다는 것입니다.
그리고 지금까지 말한 것들을 좀 해소할 수 있는 통로가 다음에 말할 개발 문화인 것 같습니다.
4. 개발 문화 (나아가 기업 문화) 🚀
많은 개발자들이 공감할 것 같은 이야기입니다. 최근에 지인들을 통해 알게 된 사실인데 github 조차 안 쓰는 회사들이 많다는 것입니다. 심지어 IT회사인데도요... (그냥 폴더로 관리...project_1_200701....)
제 지인의 경우, 회사에서 노후된 기술만 사용하고 코드 리뷰 같은 것도 없었던 것이 이직을 결정하게 된 이유 중 하나라고 하네요.
검증된 기술을 사용하는 건 문제없지만, 노후된 기술을 사용한다는 건 문제가 있는 것 같습니다... 기존의 쓰던 기술만 계속 쓰는??
(예를 들면 버전 지원이 끝난 라이브러리를 계속 쓴다던지...)
뭔가 새로운 기술이 나오면 그 기술에 대해서 이야기도 하고 싶고, 자연스럽게 개발에 대한 이야기(커뮤니케이션)도 하고 싶습니다. 그리고 이야기하다 보면 스터디나 세미나로 이어질 수 도 있고요.
같은 포지션인 개발자들과 이야기하면서 부족한 부분도 알 수 있고, 이런 커뮤니케이션 자체에서 얻는 인사이트가 있다고 생각합니다! (진짜로! 무조건! 있음! - 개발자 모임을 가는 이유)
그리고 이런 문화 자체에서 주니어 개발자의 성장으로 까지 이어질 수 있다고 생각합니다. 물론 이건 약간 제가 geek 스러워서 이런 분위기(너무 개발만 생각하나? ㅋㅋ)와 문화를 원하는 것 일 수도 있습니다.
누군가는 세미나, 스터디를 할 시간도 없고, 다른 일에 관심이 있을 수 있으니까요.
5. 마치며 👋
요약하자면 이렇습니다.
- 하고 싶은 일을 하고 있는가?
- 지금 하고 있는 일이 내 성장(커리어)에 도움이 되는가?
- 회사(일)가 꿀잼인가?
- 개발 문화 (나아가 기업 문화)
마지막으로 느낀 점은 회사는 개발자의 개발 관련된 니즈(Needs)를 모두 충족시켜줄 수 없다는 것입니다.
다만, 세미나가 없다면 세미나를 준비해서 열어본다던지 커뮤니케이션을 먼저 유도한다던지 이런 노력 정도는 해보고 그래도 만족을 못한다면 이직을 생각해 보는 것도 나쁘지 않다고 생각합니다.
아니면... 초보 개발 팀장의 1년 회고 - 좋은 팀장이 되기 위한 노력들 이런 리더를 찾아서 떠납시다...ㅎㅎ
반대로 회사 입장에서는 이런 주니어 개발자의 니즈(Needs)를 충족시켜준다면 퇴사를 막을 수 있다는 것이죠!
(연봉도 올려주시면 더 감사요)
대부분 제 주관적인 생각이 많이 들어간 것 같습니다만, 어떤 부분은 공감이 되는 부분도 있을 거라고 생각합니다!
다른 주니어 개발자들은 어떻게 생각하는지 궁금하네요!! (댓글로 알려주세요!😄)
그럼 긴 글 읽어주셔서 감사드리며, 오늘 하루도 즐거운 하루! 좀 더 성장하는 개발자가 되길 바랍니다!! (응 나도!)