[슬기로운 인턴생활] in 이마고웍스 7편 with 2022년 중간점검
어느덧 2022년의 중순에 접어들었다.
이마고웍스 입사 첫 날까지만해도 추위로 코트와 패팅을 입었지만, 이 글을 쓰는 오늘 아침은 반팔에 긴바지를 입었지만 굉장히 웠다..
많은 동기 및 친구들이 나한테 인턴생활에 대해 많은 질문을 준다.
다들 인턴 생활에 대한 궁금증도 많고 두려움도 많은 것 같다.
그들의 질문에 대한 나의 답변은 늘 "진짜 배우는거 많고 너무 만족스러워"였다.
내가 이마고웍스에서 이렇게 행복하게 일 할 수 있는 이유를 고민해보았다.
우선 나는 인턴을 지원할 때 꽤나 많은 것들을 고려했다.
1. S/W회사인가?
- 작년 겨울방학 인턴을 했던 회사는 S/W 회사가 아니었기 때문에, 굉장히 불만족스러웠다....
거의 자습하러 출근하고 퇴근하는 느낌이었다. 정말 말도 안되는 회사였기때문에 탈주를 결심하였다.
2. 내가 원하는 직무에서 일을 할 수 있는가?
- 나는 작년부터 줄곧 NodeJS로 백엔드를 공부하고 있었다. 때문에 인턴 지원시 가장 중요한 부분은 NodeJS를 사용하는 회사인가였다. 많은 회사에서 Spring을 쓰는 경우가 많아서, 선택권을 많이 좁힐 수 있었다. 사실 가끔은 그냥 Spring이나 공부해야하나 많이 고민했다. 왜냐면 정말 많은 회사에서 Spring을 사용하기 때문이다. 이러한 상황에서 이마고 웍스에서는 다행히 NodeJS를 사용할 줄 아는 인턴을 찾고 있었고, 신난 마음으로 지원하게 되었다.
3. 회사 홈페이지는 어떤가?
- 회사 메인 홈페이지가 회사를 가장 잘 보여주는 부분이라고 생각한다. 회사의 얼굴이기때문에 많은 회사에서 홈페이지를 깔끔하게 유지한다. '이마고웍스'에 입사하길 간절히 원했던 가장 큰 이유도 홈페이지에 있다. 홈페이지에서 느껴지는 회사의 열정과 방향성 그리고 팀원 이 모든 것이 인턴 지원자인 나에게도 굉장히 강하게 다가왔다. 또한 홈페이지에 가장 최근 업데이트된 게시글이 언제인지도 살펴보았다. 관리가 되고 있는 홈페이지라면 분명 최근에 업데이트된 게시글이 있을 것이다. '이마고웍스' 홈페이지에서는 회사의 열정과 방향성은 물론 최신에 업데이트된 부분도 있었다. 정말 사소한 것을 확인한다고 생각할 수 있었지만, 인턴을 지원하기 위하여 꽤 많은 회사를 찾는 과정에서 저 두 부분을 모두 충족하는 회사는 정말 적었다.
아마 홈페이지 'About us'탭에서 많은 사람들이 나와 같은 느낌을 받을 것이라고 생각한다.
4. 회사의 위치
- 우리는 월~금까지 출/퇴근 시간에 이동한다는 사실을 확실하고 인지해야만 한다. 단순 하루, 이틀 출근하는 것이 아니라는 것에 명심하자. 계속해서 이마고웍스 칭찬을 하게 되지만, 어쩔 수 없다. 정말 이 모든 것을 완벽하게 갖추고 있다. 이마고웍스는 신논현역에서 2분거리에 있다. 정말 그냥 바로 앞이다.
물론 신논현이어서 하루종일 사람들로 붐비지만,
나만 출퇴근 하는 것이 아닌 수 많은 사람들도 출/퇴근을하고 있다는 사실에 힘듦이 사라진다.
어쨌든 출퇴근길은 무조건 편해야한다(==지하철역에서 접근이 좋아야한다.)
이보다 완벽한 위치일 수 있을까..? ❤
지금 당장 생각나는 것은 4개의 항목정도이다.
위 항목에서 마저 못 다한 이야기를 이어가보겠다.
나는 개발자를 꿈꾸고 있는 학생이기 때문에, "개발자의 실무를 배울 수 있는가?"가 가장 중요한 고려사항이었다.
사실 이 부분은 회사에 실질적인 입사를 하기 전까지는 정말 알기 힘든 부분이었다.
하지만 조금의 꿀팁이 있다면, 지원 직무에 대한 설명이 얼마나 자세한지 살펴보면 된다. 단순하게 "Spring을 하는 열정가능 개발자를 찾습니다."가 아닌 "Azure, AWS등의 클라우드 환경에서 서비스 운영 경험이 있고, Spring 프레임워크 기반의 분산 시스템을 경험한 개발자"와 같이 실제 업무에서 사용되는 툴에 대한 자세한 정보를 알려주는 회사를 지원하는 것이 좋다. 지원 자격 조건이 자세하면 자세할수록 지원의 진입장벽이 높아지는 느낌이지만, 해당 직무가 얼마나 독립적이고 어떤 개발에 초점 맞추어 진행되는지 알 수 있는 가장 표면적인 부분이라고 생각한다.
또 만일 NodeJs와 Spring 중 선택을 앞두고 고민하는 사람들이 있을 수 있어, 내가 왜 NodeJS를 선택하게 되었는지 간략하게 적어보겠다. 이유는 단순했다. 대학교 2학년때, JAVA를 배우고 나는 컴퓨터공학이 나와 맞지 않는 영역이라고 생각했기 때문이다. 또한 주변에서 Spring이 정말 어렵다고 많은 겁을 주었기 때문이다. 이 두가지의 큰 이유때문에 NodeJS를 선택하게되었다. 하지만 지금와서 생각해보면, 'Spring이 어렵고 NodeJS가 쉽다'는 편견이었던 것 같다.
그냥 백엔드의 진입 장벽이 프론트엔드의 진입 장벽보다 높다보니 조금 더 쉬운 백엔드 프레임워크를 찾다보니 그런 인식이 생긴 것 같다. 사실 NodeJS가 절대적으로 Spring보다 쉬운 것도, Spring이 NodeJS보다 어려운 것도 아닌 것 같다. 그냥 각 프레임워크의 특징과 사용법이 조금(...조금 많이) 다를 뿐이다. 때문에 자신이 어떤 프레임워크와 더 친숙한지가 중요한 것 같다. 그냥 두 프레임워크로 간단한 프로젝트를 만들어보고 손에 더 익숙하게 잡히는 프레임워크를 선택하면 최고의 선택이 아닐까 싶다.
그리고 사실 프론트엔드가 쉽다는 인식이 강한 것 같다. 하지만 그저 움직임이 앞에 보이기에 상대적으로 쉬워보이는 느낌을 주는 것 뿐이라는 생각이 있다. 그래서 나는 쉬운 것을 선택하기 위해 프론트엔드를 선택하는 것을 추천하고 싶지 않다. 분명 시작은 쉬워보일지언정 정말 빠른 변화가 있고 다양한 라이브러리들이 있는만큼 절대 단순하지 않다.
Spring boot의 사용률이 점점 늘어나는 것 같다. NodeJs의 사용 증가율보다 훨씬 많이 증가한 것을 볼 수 있다.
회사 공고에서 Spring/ Spring boot를 사용하는 개발자를 찾는 공고가 많은 이유를 알 수 있을 것 같다.
아!
아까 회사의 위치에 대한 이야기를 계속해보겠다. 신논현으로 출퇴근하면서 느낀 것이 있다. 주변에 워낙에 스타트업이 많고 S/W회사들도 많다보니 많은 인파 속에서 지하철을 기다리다보면 개발자들의 대화가 많이 들린다. 오늘날 대부분의 스타트업이 S/W 기반의 회사인만큼 개발자들이 정말 많은 사회에 우리는 살아가고 있다. 나는 그 중의 1명일 뿐이라는 것을 체감하는 순간 정말 많은 성장을 해야 한다는게 크게 느끼게된다. 이마고웍스 Cloud팀에서 매주 팀원과 회의때면 새로운 것들을 배우고 있다. 단순히 대화를하며 얻게된 지식 한 조각일 뿐이지만, 이 모든 조각들을 모아 맞추다보면 개발자의 늪에서 조금의 경쟁력은 갖춘 나를 발견하지 않을까라는 기대를 하고 있다.
아..아!
또 다른 부분으로 이야기가 빠지게 되었다.
상반기를 결산하면서 이마고웍스에서 배운고 개인적으로 성장한 것들을 기록해보겠다.
1. Azure 사용
- Azure는 정말 인턴을 하지 않는 이상, 대학생들이 경험해보기 정말 힘든 툴같인 것 같다. 업무를 분배하고 진행상황을 공유하고 형상관리를 해주는 툴이지만, 유료이기도하고 사실 토이프로젝트나 개인 프로젝트를 사용하는 경우에는 추후에 기록용으로는 좋지만 오히려 공수가 많이 드는 것 같다. 하지만 모든 회사들은 1인 개발 프로젝트가 아니기에 협업툴은 필수적이다. 때문에 인턴경험을 통하여 협업툴을 다뤄보는 것은 정말 큰 의미있는 경험이라고 생각한다.
2. Git fork 사용
- 처음에 입사할때는 'branch = master 브랜치 복사해서 새로운 작업을 하는 것', 'commit - 기록하는 것'과 같이 문장으로만 알고 있었다. 사실 commit과 push의 차이도 몰랐다. 그냥 commit 후 push를 해야만 한다는 사실만을 알았다.
또한 개인 프로젝트를 개발하면서 Git을 사용해서 기록하는게 좋다라는 이야기를 들어 단순히 레포지토리를 생성하고 commit하며 git툴을 다룰 줄 안다고 착각한적이있다. 그 단순한 과정에서 간단한 commit이었지만, 생각보다 마음대로 되지 않아 레포지토리를 날린 경험이 여럿있다. 때문에 입사 초기에는 내가 실수로 레포지토리를 날릴까봐 git이 무섭기도 했다. 지금은 git으로 상당히 많은 시행착오를 겪으면서 rebase와 cherry-pick까지 나름의 응용을 할 수 있게 되었다.
이 모든게 내가 fork를 다루다 멈춰있을 때면, 하나 둘 나의 테이블로 와주셔서 해결 방법을 알려주신 팀원분들 덕분이다.... 정말로... 많이 성장했다.... 아! 무엇보다 ㅎㅁ님이 알려주신 사이트에서 git에대한 이해를 정말 확실히 할 수 있었다. rebase와 cherry-pick을 한 동안 사용 안 하면 또 까먹을거 같다는 느낌이 있지만 ㅎㅁ님이 공유해주신 사이트에서 연습하다보면 완벽히 내것으로 만들 수 있지 않을까라는 기대감이 있다.
(이제는 Git을 사용할 줄 안다고 예전보다 더 당당하게 말할 수 있지 않을까라는 기대를 하고 있다ㅎㅎㅎ..ㅎㅎ.ㅎㅎ
사실 예전에는 gitHub에 commit하는거 하나 해봤다고 git다룰 줄 안다고 당당하게 말하고 다녔다.......
지금 생각하면 상당히 부끄럽고 작아진다......ㅎㅎㅎㅎ...ㅎㅎㅎ..ㅎㅎ....ㅎㅎ)
3. CodeReview
- 내가 평소 꼼꼼하지 않은 성격이라는 것을 굉장히 잘 알고있다. 매번 노력은하지만 생각보다 쉽지 않다. 이상하게 나도 모르게 빠른 속도로 많은 것을 처리를하려한다. 때문에 디테일한 부분을 놓치는 경우가 있다. 하지만 이런 부분을 ㅅㅇ님이 굉장히 잘 잡아주신다. 매번 나의 꼼꼼하지 않은 성격때문에 발생한 사소한 오류들(충분히 확인 후 PR을 올렸어야하는 부분)을 잡아주신다. 내가 이렇게까지 성급했다는것을 정말 확실하게 느끼고 있다. 또한 단순 내 실수로 나만 재작업하는 것이 아닌, 바쁜와중에 팀원분들의 시간도 뺐고 있다는 생각이 많이 들어서, 빠르게 PR을 올리는 것이 아닌 PR올리기 전에는 반드시 재확인을 할 것을 인지하고 있다.
꼼꼼! 더 꼼꼼! 좀 더 많이 노력하자 김윤주!!
!!다음주의 나는 더 이상 사소한 실수를 발생시키지 않는다!!
얍!!
4.개발 외
- 인턴을 시작하면서 운동을 시작하였다. 운동을 평생 해오지 않은 몸이었기때문에 운동 등록이라는 진입장벽을 깨고 들어가기까지 꽤나 많은 고민이 있었다...(코로나 시작때부터 거의 2년을 고민만 했다 ㅋㅋㅋㅋ) 다행히 일주일에 2번씩 잘 가고 있다. 회사에서 하루종일 모니터를 보고 있고, 움직임이 없어서 운동은 정말 필수적인것 같다.
회사끝나고 운동을 다녀오면 하루가 끝나서 개인 시간이 너무 없는 것은 아닐까 고민도 했었지만, 사실 운동 갔다와서 충분한 시간이 있음에도 내가 핸드폰을 하느라 시간이 없다고 느끼고 있는 것이라 반성을 하고 있다.
또 지옥의 출퇴근길을 경험하고 있지만, 출퇴근 시간을 보다 효율적인 방법으로 쓸 수 없을까라느 고민에 빠졌었다. 책을 읽을까 고민을 했었지만, 종이책은 절대 볼 수 없는 환경이었다. 그렇고 전자책을 읽기에는 책의 흐름이 너무 자주 끊긴다는 느낌이 있었다. 때문에 나는 출퇴근길에는 WSJ을 구독해서 출근길에 1개 퇴근길에 1개씩 읽고 있다. 환승을 중간에 해야해서 기사 1개를 전부 읽으면 신논현에 딱 도착한다. 만일 영어 신문을 찾고 있다면 Bloomberg또는 WSJ을 추천한다. 나는 현재 WSJ를 읽고 있지만, Bloomberg에서 나오는 기사들이 궁금증을 유발하는 제목을 사용하여 호기심을 자극한다. 때문에 Bloomberg로 옮겨갈까 고민이다. 신문구독은 세계의 경제 상황을 매일매일 조금씩 알 수 있어, 도움이 많이된다. 모르는 단어도 클릭으로 바로 검색할 수 있어서 추천한다!
(아! 내가 신문구독을 통하여 세계 경제의 1인자가 된 것은 전혀 아니다. 그저 전혀 무지했던 영역에 조금씩 밑그림을 그리고있을 뿐이다. 세계 경제에대한 엄청난 지식 습득을 원한다면 아마 출퇴근외의 시간을 투자해야할 것이다. 난 단순하게 간단한 지식들과 영어공부를 위하여 실천하고 있다. )