본문 바로가기

스터디

SI 기업 1년차에 서비스기업 이직 성공했습니다.

+ 추가글 

자바봄 스터디 모집에 대해 감사하게도 문의가 많이 와서 글 추가합니다!

자바봄 스터디원 충원은 늘 염두해두고는 있지만 아직 정확한 계획은 없습니다 ㅠㅠ 현재 진행하고 있는 2기 스터디가 안정화되고 나면 더 모집하지 않을까 싶습니다. 그리고 따로 조건에 대해 문의주신 분들도 계시는데, 저희는 "기본적으로 자바를 사용할 줄 알고, 취업 또는 이직 후에도 오랫동안 함께 할 스터디원"을 가장 우선적으로 두고있습니다 :) 

 

 

며칠전 3달간의 긴 프로세스를 거쳐 드디어 꿈에그리던 N사의 합격메일을 받았습니다.

아직 입사하지도 않았는데 이런 후기를 남기는 것이 조금은 부끄럽기도하지만 언젠가 꼭 써보고 싶던 후기여서 남겨보려고합니다.

제 이직 후기에 나올 이직비법(?)은 가이드라인이 아니라는 것을 꼭 생각하며 읽으셨으면 좋겠습니다.(저는 그럴 위치에 있는 사람도 아닙니다 ㅎㅅㅎ)

 

 

서론

 

우선 제 소개를 간단하게하자면, 작년 상반기 신입공채로 대기업 SI 에 입사하였고 퍼블릭 클라우드관련 업무를 맡았습니다.

하지만 개발에 대한 의지가 굉장히 명확했어서 인프라 업무에 관련된 코딩업무를 맡았었습니다. AWS Lambda 짜기가 주 업무였던거같네요. 업무자체가 불만은 아니었습니다. 제가 원했던 애플리케이션 개발과는 거리가 멀었지만 퍼블릭 클라우드환경도, Lambda 코딩도 다 재밌었습니다.

회사에 합격하고 기쁨의 눈물을 흘렸을 때가 엊그제같은데 서론에서는 회사의 단점만 구구절절 쓸 것 같아 민망하네요 ^.^

 

대기업 SI의 단점은 굉장히 명확합니다. (물론 진리의 팀바팀, 부바부, 사바사입니다)

 

1. 명확한 엔지니어 업무를 보장받을 수 없다

연차가 올라가고 그 사람의 업무 바운더리가 명확하게 잡히기 전, 그러니까 입사후 1-2년차까지는 "저는 이 업무를 잘하고 이 일은 저만할 수 있으니 다른 잡무는 시키지마십시오"라는 말을 할 수 없습니다.

그래서 사람이 모자라다? 하면 그곳에 지원을 가게되기도합니다.

운이좋게 내가 하고 싶은 일에 마침 초급 1명의 TO가나면 그곳에 들어가서 차차 시작할 수 있습니다. 하지만 그렇게 운이좋기는 쉽지 않습니다.

관련된 저의 자세한 고민은 https://a1010100z.tistory.com/143?category=862059 포스팅에도 기록되어있습니다.

 

우아한 개발자분들을 만나고 나서

 지난 토요일(2019.12.07) 아주 좋은 기회로 우아한 형제들의 개발리더, 데브옵스로 재직 중인 분들을 만나서 이것 저것 물어볼 수 있는 기회를 가졌다. 학교다닐 때는 개발이 너무 재밌었고, 자바�

a1010100z.tistory.com

 

2. 기술인력보다 관리인력을 더 중요하게 생각한다.

다른 SI는 사실 잘 모르겠지만, 대기업 SI는 SI라기보다는 관리회사에 가깝습니다. 저희끼리는 "PM 인력 사무소"라고도합니다(ㅠㅠ) 그렇기 때문에 기술보다는 문서, 보고에 굉장히 치우쳐져있습니다. 신기술한다고 경력직분들을 잔뜩 채용해놓고 보고서만 시키는거보면 나가고 싶다는 생각을 안할래야 안할수가 없습니다.

보고서가 싫다는 것은 아닙니다. "보고를 위한 보고, 보고를 위한 업무"가 싫은 것입니다. 굳이 현재 프로젝트에 필요없는 기능을 보고하기위해 만들기도합니다.

실제로 제가 퇴사하고나서 보임자는 기술인력(대부분 사원,대리급)나가는거 신경쓰지마라. 파트너사쓰면된다. 라는 망언을 하기도 했습니다.

사실 SI 의 단점은 쓰려면 더 쓸 수 있지만 대부분 알려진 단점이라서 이정도만 쓰겠습니다. 그리고 모든 SI 가 이런다는 보장도 없으니 더 쓰기가 조심스럽네요 :(

 

그럼 이런 의미없는 경력은 아예 의미가 없느냐? 라고 물으신다면 그건 NO 라고 대답하겠습니다.

어쨋든 제가 경력공고에(직무는 다르지만) 지원하고 면접의 기회를 얻은 이유는 이만한 경력이라도 있기 때문이라고 생각합니다. 하지만 딱 거기까지만 필요했습니다. 많은 사람들이 2년만 더다니고 대리달고 이직해라 라는 조언을 했지만, 전 그 2년이라는 무의미한 시간을 허비하고 싶지 않았고 지금도 옳은 선택이었다고 생각합니다. 여러분들도 ,, 부디 현명한 선택을 ,, !  

 

 

 

본론

 

이제 제가 이직을 어떻게 준비했는지에 대해 써보려고합니다. 

미리 말해두자면 저는 "이직"을 따로 준비하진 않았습니다. 자바봄스터디를 1년 동안 한 것이 무엇보다 가장 도움이되는 "이직준비"였고, 이직을 위한 공부가 따로 필요없었습니다. (물론 면접 대비는 당연히 했습니다.)

즉, 제 이직준비는 자바봄 스터디가 120%이기 때문에 저희 스터디의 공부방향, 그리고 그것을 면접 때 어떻게 녹였는지에 대해 써내려가보려고합니다. 그래서 이 글은 제 이직성공후기를 빙자한 스터디홍보(?)일수도 있겠습니다 ㅋ_ㅋ

 

그전에, 저는 포트폴리오/이력서를 만들어보는 것을 꼭 추천드리고싶습니다.

꼭 어디 다른데 지원할 생각이 없더라도 나의 이력을, 나의 경험을 정리하면 내가 뭘 잘하고있는지, 뭘 빠트리고있는지가 보이는 것 같습니다. 여기서 중요한건 다른사람에게 피드백을 받는 것 입니다. 

 

대부분의 서비스회사는 포트폴리오를 별첨할 수 있게합니다. (그러지 않아도 자기소개서 문항에 얼마든지 포트폴리오 링크를 넣을 수 있습니다.) 이렇게 포트폴리오를 만들어두면 좋은 회사의 공고가 떴을 때 훨씬 부담없이 지원할 수도 있습니다.

바쁜 업무 중 지원서 작성은 굉장히 부담이되죠 ㅠㅠ  포트폴리오를 작성해두었다면 대부분의 자체서비스회사는 자기소개서 문항이 크게 부담되지 않았습니다. 이미 포트폴리오를 만들면서 한번씩 정리했던 내용을 자기소개서이 녹이면 되기 때문입니다. 

 

2월회고 때 포트폴리오를 완성했으니 이제 이직 꼭 성공하자! 라는 글을 최종합격한 이 시점에 다시보니 감회가 새롭네요 ㅎㅎ https://a1010100z.tistory.com/178

 

2월 회고

엄 나름 바쁘게 살았던 2월이었던 듯. 매달 회고를 해보자 라는 목표를 정한건 아니지만, 2월은 나름 뿌듯하기도 해서 짧게 정리해보려고한다. 1. 포트폴리오를 완성했다 대학교 다닐 때도 포트��

a1010100z.tistory.com

 

 

 

위에서 언급한대로 저는 딱히 이직을 위한 공부를 따로하지는 않았습니다.

여기서 이직을 위한 공부란 "취업 스터디", "알고리즘 공부" 등이 해당됩니다. 그도 그럴 것이 자바봄 스터디 1년은 지난 제 취준 생활보다 훨씬 값졌고 그 어떤 취업 스터디보다 알찼기 때문이라고 생각합니다. 

+ 참고로 저는 알고리즘 코딩테스트를 굉장히 못합니다 ㅠㅠ 코테공부는 해도해도 재미가없어서 이직준비를 미룬것도 있습니다. 하지만, 안정적으로 면접을 가려면 코테 준비는 확실히 필요한 것은 부정할 수 없습니다.

 

이제 저희 스터디의 방향을 써내려가보려고 합니다. 자바봄 스터디는 "Java + Spring"  개발자를 목표로 "클린코드", "테스트코드" 에 집착하(려고 노력하)는 스터디입니다. 

 

1. 개발서적읽기

스터디 활동 중 유일하게 "고정된" 활동입니다. 객체지향의 사실과 오해를 시작으로 지금 이펙티브자바를 읽고있습니다.

이펙티브자바는 거의 6개월째 이어가고 있는데요, 독서스터디의 목표는 여러가지가 있겠지만 저희는 "모든지 제대로 알고 넘어가자" 라는 목표를 가지고 시작했기 때문에 시간이 굉장히 오래걸리고 있습니다. 

저희 책읽기 스터디에 대한 설명은 스터디원의 발표자료가 있어 공유하고 면접얘기로 넘어가겠습니다.

https://www.slideshare.net/ssuser8fdee2/200531-jandi

 

200531 jandi

잔디콘 온라인 공유회 0531 실패하지 않는 책 스터디 - effective java

www.slideshare.net

https://javabom.tistory.com/70

 

자바봄이 이펙티브 자바를 읽는 방법

사실 책 스터디를 반년 동안 지속하기란 쉽지 않다. 그럼에도 다들 꾸준히 하는 이유는 이 책을 가장 잘 이해하고 넘어갈 수 있는 스터디 그룹이라는 자부심이 있어서라 생각한다. 사실 책 스터�

javabom.tistory.com

사실 저는 개발 서적 독서에 대해 굉장히 긍정적이지만 실무진들도 그렇게 생각할까?에 대해서는 의문이 있었습니다. 그도 그럴 것이 전 회사에서는 제가 책을읽거나 인터넷 강의를 본다는 말만하면 "그런거 다 필요없고 부딪히고 배우는게 최고야" 라는 말을 심심치않게 들었기 때문입니다.

 

결과적으로 제 이직에 독서는 아주 큰 도움을 주었습니다. 기술면접 질문의 못해도 20퍼센트는 이펙티브자바를 읽으며 알게된 내용이었고, 대충읽지 않은 덕분에 미처 준비하지 않았어도 다 대답할 수 있었습니다. 그리고 포트폴리오의 한켠에 자리잡은 이 활동에 대해 질문도 많았습니다.

 

우리가 흔히 아는 서비스기업들은 늘 "기본기"가 중요하다고 말합니다. 저는 JAVA를 대학시절부터 계속 사용했고 Springboot 로 개인프로젝트도 해봤습니다. 하지만 저는 기본기가 없었습니다. 

여기서 기본기는 뭘까요? 네트워크, 운영체제와 같은 CS 도 물론 중요하겠지만, 신입 개발자에게 요구하는 기본기는 JAVA 에 대한 기본기일 것이라고 생각합니다.

 

제 코드는 클린코드, 객체지향과는 거리가 멀었고 테스트코드는 있는지도 몰랐습니다. 스터디로 인해 제 포트폴리오의 주요 키워드는 객체지향과 클린코드, 테스트코드였습니다. 그리고 면접관분들은 그 키워드에 대해 굉장히 흥미롭게, 그리고 깊게 질문해주셨습니다. 

 

제가 1년차 "인프라 직무" 경력임에도 백엔드 개발자 "경력공고"에 지원하고 면접까지 합격할 수 있었던 이유는 기본기를 어필했기 때문이라고 확신합니다. 면접 내내 개발경력이 아닌 것에 대해 아쉬운 반응도 많이 보이셨지만, 결과적으로 대부분의 기본질문을 잘 대답했기 때문에 좋은 평가를 받을 수 있었을 것입니다. 

+ 아 참고로 너무 자바 공부만 한 나머지 DB 와 같은 코딩 외 백엔드 개발자가 갖춰야할 역량은 뒤로하고 있었고, 면접 때도 "DB 공부는 해오셔야할 것 같다" 라는 말을 듣기도 했습니다. 또, 코딩테스트 준비를 아예 안해서 코테에서 떨어지는 경우도 굉장히 많았습니다. 어느 정도의 밸런스조절은 해도 좋지 않을까 싶습니다.

 

가장 쉽게 기본기를 익힐 수 있는 방법은 "책"이라고 생각합니다. 너무 어렵고 이상적이라고만 생각했던 이펙티브자바의 내용을 코드미션에 활용할 때, 그리고 면접질문에 같은 내용이 나왔을 때의 그 기분좋음은 .. ㅎㅎㅎ ! 

 

2. 유동적인 활동

여태까지는 토이프로젝트, 실습 책 한권 잡고 따라하기, 자체세미나 열기, 등등이 있습니다.

토이프로젝트는 스프링 개발자가 꿈인데 너무 순수자바만 하고 있는 것 같아 가볍게 시작한 거였는데, 지금 생각해보면 아쉬움이 많이 남습니다. 조금 더 공부해보고 했으면 더 많은 공헌을 할 수 있지 않았을까? 생각합니다.

아, 만약 신입 개발자라면 토이프로젝트를 하나정도하고 포트폴리오 한켠에 담으면 좋을 것 같습니다. ㅋㅍ 면접 때 저희 토이프로젝트 이름을 보고 굉장히 흥미롭게 질문주셨던 기억이 있네요 :) 

 

자체세미나는 그때그때 하고싶을 때 진행하는 활동입니다. 각자가 소개해주고싶은 내용을 스터디원들에게 공유하는 활동인데요, 저같은 경우는 처음 인프라직무를 맡고 알게된 내용, CI/CD 의 간단한 프로세스를 공유했습니다.

 

저도 인프라 전문가가 아니기 때문에 굉장히 부족하지만 스터디원들 대부분은 인프라를 접할 기회가 없어 흥미롭게 들어줬습니다. 아래 카테고리의 CI/CD, 왕초보 시리즈가 그 세미나 내용을 정리한 포스팅입니다 ^_^ 

 

https://javabom.tistory.com/category/%EC%8A%A4%ED%84%B0%EB%94%94/%EC%9D%B8%ED%94%84%EB%9D%BC

 

'스터디/인프라' 카테고리의 글 목록

자바 스프링 블로그 입니다.

javabom.tistory.com

 

어떤 스터디원은 GC에 대해 공부를 하고 와서 그 내용을 공유해줬었는데 면접 때 GC에 대한 질문을 받았고, GC 종류에 따른 프로세스를 다 설명하니 굉장히 놀라셨던 기억이 있습니다. 무조건적인 암기보다 다른사람들과 공유해본 지식은 확실히 오래남는 것 같습니다. 

 

토이프로젝트는 개발경력이 없던 제가 그래도 실무와 비슷한 상황에서(협업, gitflow, 이슈관리, 코드리뷰 등) 개발을 해본 경험이 있다고 어필할 수 있는 좋은 소스였습니다.

그리고 대부분의 회사는 "소통을 잘하는사람" "지식을 공유하는 것을 좋아하는 사람" 을 원하는데 자체세미나는 저의 좋은 소스였습니다 ㅎㅎ 이렇게 팀블로그 링크까지 공유할 수 있었으니까요. 추가적으로, 스터디를 한다면 "코드리뷰"를 꼭 주고받는 것을 추천합니다.

코드리뷰경험으로 "나는 다른 사람의 코드를 많이 봤고, 보는 것을 좋아한다. 그리고 그 코드에 대해 끊임없이 고민한다" 라는 것을 어필할 수 있기 때문입니다. 스터디가 없어서 코드리뷰를 경험하기 어렵다면 개인적으로 넥스트스탭(https://edu.nextstep.camp/)의 교육과정을 추천합니다. 타 교육은 제가 경험해본적이 없어서 잘 모르겠습니다.

 

 

 

 

이 외에도 자체 위클리미션(인강듣기 등 ,,), 회고, 등등 다양한 활동이 있지만 제 면접에 가장 큰 도움이 된 위의 내용까지만 정리하겠습니다. 아, 모의면접은 정말 큰 도움이 되었습니다. 내가 알고있는 것과 말할줄 아는 것은 분명히 다르기 때문에 다른 사람들 앞에서 면접을 진짜처럼 경혐해보는 것은 대단히 중요하다고 생각합니다. 참고로 자바봄 모의면접은 그 어떤 면접보다 어려웠습니다 ^^ ; (대신에 적중률은 최상)

 

 

Q. 그래서 뭘 공부했는데?

요약하자면 제가 공부한 것은 "클린코드", "TestCode", "객체지향, DDD" 입니다.

스터디를 처음 시작했을 때 작은 미션들을 수행하며 클린코드(객체지향 생활체조 위주), TestCode(어떤 코드가 테스트짜기 좋은 코드인지?), 객체지향과 DDD(SOLID, 각 객체의 역할과 메시지에 집중하여)에 대한 깊은 고민, 그리고 피드백을 받으며 순수 자바프로그래밍을 위주로 진행했습니다. 스터디가 없다면 위에서 잠깐 언급했던 NextStep 에서 같은 과정을 경험할 수 있습니다. 저는 지금 진행하고있습니다.

 

컴공을 나와서 위의 내용을 중요하게 생각하며 짜기는 쉽지 않다고 생각합니다. 참고로 저는 학교다닐 때 성적이 굉장이 우수한 학생이었고, 개발과제도 좋아했지만 위의 내용은 전혀 고려할 줄 몰랐습니다. 성적만 믿고 지원한 모 게임회사 인턴 면접 때 한마디도 못하고 떨어졌던게 생각나네요.

 

곧, 위의 키워드를 어필하는 것은 "뽑고 싶은 지원자"로 한걸음 다가서는 것이 아닐까 싶습니다. 저도 전형의 90퍼센트는 모두 위의 키워드로 향했습니다. 

 

요구사항이 변경되었을 때 변경이 크게 일어나지 않는 것. 그때 비로소 "내 구조 좀 괜찮았는데?" 라는 것을 느낄 수 있었고, 그제서야 위의 키워드가 중요하다는 사실을 깨달았습니다. 

 

제가 합격한 전형은 백엔드 개발자 전형입니다. Springframework 숙련자를 모집하는 공고였고, 저는 사실 학교다닐 때 프로젝트로 엉망진창 짜본 경험, 스터디에서 간단하게 게시판 구현해본 경험외에는 스프링프레임워크를 잘 모릅니다. 이제부터 차차 공부해나가야겠죠.

그럼에도 저는 백엔드개발자 전형에 합격했습니다. 개발자 경력이 아니었기 때문에 경력 관련된 몇가지 질문 외에는 신입 개발자와 동등한 면접 질문을 받았고, 신입 개발자에게 요구하는 것은 "스프링으로 API를 만드는 것"이 아니라는 것을 알게되었습니다. 

 

그래서 저는 OO야 스프링시작하려면 어떻게해야해? 라고 물어보는 친구에게 뭐라고 말해줘야할지 잘 모르겠습니다 ㅎㅎ 저도 이제 막 시작하려는 사람이기 때문입니다.

물론 스프링의 핵심적인 내용은 평소 백기선님의 강의를 통해 알고 있었습니다. 기본적인 스프링에 대한 질문은 그 공부로 인해 대답할 수 있었습니다.

 

 

 

결론

 

제가 처음 취업 준비를 했을 때 가장 많이 고민했던 것은 "프로젝트 경험이없는데 ㅠㅠ", "대외활동 경험이 없는데 ㅠㅠ" 였습니다. 그래서 저는 상대적으로 위의 경험이 덜 중요하다고 느꼈던 대기업 공채를 타겟으로 취업준비를했고 성공했습니다. 다시 그때로 돌아간다면 다른 선택을 했을 것 같습니다.

 

이직 후기가 아닌 스터디 소개가 되어버린 것 같은데 , 제 이직의 120%는 스터디 덕이기 때문에 당연한 결과인지도 모르겠습니다.

하지만 여러분들도 스터디하세요! 스터디 꾸준히하고 기술블로그도 관리하시고 git도 관리하세요! 라고 말은 못하겠습니다.

 

열정적이고 꾸준한 개발자, 그리고 개발자 지망생(이자 개발변태들)을 만나서 스터디를 하게된건 어떻게 보면 제 복이기 때문에 다른 사람들도 스터디를 하면 이직을 할 수 있다고 말하는 것은 거짓말인 것 같습니다.

 

마음 맞는 사람들, 그리고 잘 이끌어주는 사람들을 만나는 것은 쉽지 않겠지만 적어도 좋은 개발 문화를 가지고 있는 자체서비스 회사로 이직을 하고 싶다면 어떤 방향으로 공부를 해야하는지에 대한 방향을 정하는데 참고가 되시기를 바랍니다 :) 

 

'스터디' 카테고리의 다른 글

자바봄이 이펙티브 자바를 읽는 방법  (6) 2020.06.14