개발은 재밌어야 한다
article thumbnail
반응형

이전에 임시 저장한 게 날아가서 그냥 처음부터 다시 작성을...

당시 취준을 했던 때로 돌아가서 생각을 해보면 이력서에 지원하는 회사들에서는 나름에 기준이 있었습니다.
 
크게 나누어서 SW 회사들은 SI, SM, 솔루션, 서비스 회사들로 나누어져 있다고 생각합니다.
 
이 중에서 제가 회사를 선택하는 기준이었습니다.
 
서울에 있는 소프트웨어 회사인가
안정적으로 월급을 지급할 수 있는 회사인가 (재무가 튼튼한 회사)
성장을 하고 있는 회사인가
 
그리고 마지막으로
기왕이면 자사 서비스를 가지고 있는 서비스 회사를 가고 싶다는 생각을 가지고 있었습니다.
보통의 취준생들은 어느 정도의 불안과 초조함을 가지고 있다고는 생각하지만, 돌이켜 생각해보면 2020년 4월에 수료할 당시에는 코로나로 인하여 저의 급한 성격에 불을 질렀습니다. 
 
그래서 위의 기준들을 모두 충족하면서 내가 마음에 드는 회사를 가기가 힘들었었던 것 같습니다. 
그리고 그때 당시에는 코딩 테스트에 대한 준비가 전혀 되어있지 않은 상태였기 때문에 약간 코딩 테스트에 대한 두려움이 느껴지는 곳에서는 지레 겁먹고 들어가기도 했었습니다.
 
 

직장 근처 익숙한 여의도의 그 사거리

그래서 SI 회사들을 몇몇 군데 면접을 보고 여의도에 위치한 한 솔루션 회사에 취업을 하게 되었습니다. 
당시 입사 테스트로 약간 전공 시험과 같은 쪽지 시험과 면접시간을 포함해 4시간~5시간 정도는 해당 회사에서 입사 테스트를 통해 합격하게 되었습니다.
 
나름 매출도 100억 이상에 순이익도 잘 나오고 계속 성장하는 곳이라는 생각이 들어서 입사를 결정하였습니다.
 
 

서울에서의 첫 자취방 이사온 날

그래서 생에 첫 자취를 서울에서 첫 직장을 26살에 시작하게 되었습니다.

나름 OJT(On the Job Training, 직장 내 훈련, 현장 훈련)을 통해서 나름에 회사 내부에 커리큘럼 교육을 통해 약 2~3개월 정도는 사내 교육을 받으면서 회사에서 사용되는 기술이나 프로세스들에 대한 교육들을 배우는 시간을 가지게 되었습니다. 
 
당시에 회사에서 프론트엔드로 Vue.js를 사용하는데 자바스크립트의 기초는 알고 있지만 Vue에 대해서는 모르는 상태에서 OJT에서는 Vue에 대한 교육을 따로 해주는 기간이 있었습니다. SQL도 ANSI 기준으로 인덱스나 쿼리 튜닝, 실행계획에 대한 부분들을 알려줘서 도움이 많이 되었던 것 같습니다.
 
OJT가 끝이 나고 팀 배정을 받게 되었는데 입사 당시 동기가 총 6명이었는데 OJT 중간에 한분은 그만두시고 총 5명이서 각각 팀에 배정받고 팀 내에서 따로 팀 OJT를 하거나 급하게 프로젝트에 투입되는 인원도 있었습니다.
 
저도 전사 OJT가 끝난 후에 팀에 배정받았을 때 팀 내에서는 이미 진행하고 있던 프로젝트가 한창이었고, 저는 그 프로젝트 중간에 투입하여 간단한 것부터 (프런트에서 REST API 호출을 통한 JSON 데이터를 테이블에 바인딩하는 정도)부터 조금조금씩 영역을 넓혀가면서 업무를 할당받았었습니다.
 
팀 내에 잘하시는 분들도 많았고 다들 좋은 분들이었어서 그분들에게서 많은 것을 배운 것 같습니다.
처음에는 모르는 게 있으면 물어보는 게 오히려 좋다고 생각합니다.
그래야 어떤 부분에서 내가 부족한 부분인지도 한번 고민하게 되고 해당 부분에 대한 접근 방향을 아예 모르는 상태에서 계속해서 파고들어도 오히려 그 시간 동안 물어보는 것을 통해서 방향성을 잡아서 다시 새로운 시각으로 접근하는 게 오히려 시간 대비 효율이 더 좋을 수 있습니다.
 
(물론 자기가 끝까지 접근을 해보는 것도 그것 나름대로의 생각의 깊이를 깊게 만드는데 도움이 된다고 생각합니다. 스스로 아무런 생각도 안 하고 떠먹여서 주는 것들은 그만큼 쉽게 얻은 만큼 쉽게 잃어버릴 수 있기 때문이라고 생각합니다.)
 
 
그 후에는 어느 정도 회사에 적응을 한 시점 이후로는 퇴근하고 나서는 매일 스스로 공부를 했었습니다. 9시 출근해서 야근해서 저녁 9시에 퇴근하면 새벽 1시나 2시까지라도 하면서 프로젝트 기간 중에도 일은 일대로 하고 퇴근하고 나서도 자기 계발을 꾸준히 했었습니다.

함께해온 책들 (본가에 전공서적으로도 저정도 양의 책이..)
함께 해온 강의들

 
그렇게 까지 열심히 한 이유는 실무를 겪으면 겪을수록 내가 뭘 공부를 해야 할지 공부할 것들이 너무나도 많다는 게 온몸으로 느껴져서 이후 내가 원하는 공부의 영역까지 모두 충족하려면 공부할 것들이 너무나도 많다고 생각했습니다. 
 
간혹 그런 분들이 계시던데 무엇을 어떻게 어디서부터 공부해야 할지 모르겠다고 생각하시는 분들이 종종 있으시던데 무엇이 되었던 자기가 알고 있는 것에 대한 지식을 확장하고 그 너머의 기술적인 영역까지 공부를 계속해서 이어 나가면 어떠한 방향을 가지고 뭘 더 공부해야 할지 스스로 계획을 세워서 어떤 것들부터 공부해야 하고 내가 무엇이 부족하니까 뭘 공부해야 할지를 찾을 수 있을 것이라고 생각합니다.
 
 

공부할 게 없다고 안 하기보다는 무엇이 되었던 일단 달리세요. 승마로 예시를 들어 생각해보면 일단은 말을 타고 달려야 어디들 향하게 되어있고 설사 그것이 잘못된 공부방향이던 공부법이던 필요 없는 공부라도 가만히 서있거나 조금씩 걷는 것보다는 달리는 말을 타서 앞으로 나아가야 하는 게 맞지 않을까요...? (설사 길이 잘못되어서 되돌아간다고 해도 잘 달리는 법만 알고 있다면 다시 돌아가서 다른 방향으로 달리는 것 그리 어렵지 않을 테니까요)
 
 
만으로 1년이 지날 무렵 점점 저에게 주어지는 권한들은 영역이 넓어지고 업무에 대한 양도 맡은 게 많아졌습니다.
이를 효율적으로 처리하기 위한 방법이 무엇일까에 대한 부분들을 고민하였고 그런 과정에서 깃허브에 있는 오픈소스들도 많이 접해보며 이 오픈소스는 어떤 기능을 가지고 있는지, 이 기능들은 어떻게 구현을 했는지에 대해서 분석해보고 이를 적용시켜서 개발에 대한 리소스를 줄여보기도 하고 점점 개발에 있어서 효율적이 방법들을 찾아보곤 했었습니다.
 
이외에도 첫 커밋을 했던 시점을 되돌아 생각해보면,, 이거 진짜로 커밋해도 되나요?라고 했었던 과거에 나는 예전 모습이고 이제는 그냥 어느 정도 기능의 틀이 나왔다 하면 바로 커밋 메시지 작성해서 커밋하고 잘못된 게 있으면 커밋 히스토리 보고 어디서부터 잘못된 건지 찾아서 수정해서 커밋하고..
 
이슈 사항이 생기면 해당 상황을 재현해서 소스 코드를 디버깅해서 해당 발생되는 조건이 뭔지 어떤 로직을 통해 가는데 특정한 부분에서 발생되는 에러인지 확인하고 무엇이 왜 잘못되었는지 파악하고 올바르게 수정이 되었다면 수정된 코드를 통해서는 에러가 없는지, 해당 코드를 수정함으로써 사이드 이펙트는 없는지 확인하고 다시 커밋하고 등등등... 점점 뭔가 직업으로써 개발자가 되어 간다라는 생각이 되어갔었습니다.
 
 
그런데 프로젝트를 진행하면서 작성하는 고객 요구사항 없지만 스스로가 고객이 되어서 만들어내는 요구사항 정의서, 요구사항 분석서, 프로젝트 계획서, 프로젝트 기획서, 경쟁사 분석 자료, 경쟁사 제품 기능 분석, 기능 정의서, 화면 설계서, 공수 산정서,,,,등등등 거의 PPT와 엑셀, 워드에 지옥에서 거의 실질적인 개발 기한은 가뭄 수준으로 매일같이 개발 기한을 맞추려고 야근 야근 야근,,,, 그리고는 개발이 완성되면 QA팀에 넘어가기 전에 다시 또 개발자가 진행하는 1차 테스트, 2차 테스트, 3차 테스트..... 그리고 QA팀에 가면 다시 또 올라오게 되는 이슈들 처리 처리 처리 거의 하루에 많으면 5개씩 쳐내는 경우도... 그리고는 이제 정상적으로 통과가 되면 운영되어 납품되거나 다음 스텝의 프로젝트를 진행...
 
게다가 어떤 프로젝트는 프론트엔드 담당, 어떤 프로젝트는 백엔드 담당, 어떤 프로젝트는 그냥 모두 담당하다가 보니 프론트엔드 포지션 담당할때는 적응하는데 조금 다시 걸리고, 다시 백엔드 했을때도 적응하는데 조금 걸리고, 둘다 할때는 왔다 갔다 정신없고 뭔가 나는 프론트엔드 개발자인가, 백엔드 개발자인가, 아니면 그 전설의 풀 스택...?

풀스택 개발자는 유니콘과 같지 않을까? 진정한 의미로의 깊이 있는 풀스택 개발자는 힘들어서 유니콘과 같은 존재같다고 생각합니다.

 
 
1년 10개월이 되었을 무렵 고도화와 신기술 적용과 차세대 같은 프로젝트들을 합치니 7개의 프로젝트를 했었다. 그중에 제일 긴 프로젝트가 6개월짜리 프로젝트였으니 거의 2달에 한 번꼴로 프로젝트가 시작되고 끝이나기를 반복했다.
 
이쯤에서 뭔가 신입 때는 다양하게 하는 것도 좋다고 하는데 뭔가 전문적으로 깊이 있는 업무(백엔드면 백엔드, 프론트면 프론트)를 맡아서 하나에 집중해서 능력을 좀 더 깊이 하고 싶다는 생각이 들었다.
 
 
그리고 점점 떠나가는 윗사람들 그동안 열심히 해왔기에 이직을 해야겠다고 마음먹고 솔루션이 아닌 서비스를 다루는 회사를 가고 싶었다. 작년 12월부터 코딩 테스트를 공부하면서 4월까지 집중적으로 코테에 대한 준비를 하고 중간중간에 서류를 넣고 코딩 테스트를 보고 개발자 인터뷰하고 정신없이 시간이 지났던 것 같습니다.
 
그 끝에 이커머스 대기업으로 서비스를 하는 회사에 제가 원하는 백엔드 포지션으로 경력으로 입사를 하게 되었습니다.

면접 분위기도 너무 좋았고 뭔가 저를 인정해주시는 느낌과 더불어 기술적인 부분들도 제가 가서 더 성장할 수 있는 환경이라는 생각에 얼른 가서 앞으로의 더 나은 성장을 향해 달려가는 개발자가 될 수 있기를....
 
 
노력하면 된다라는 말이 저에게도 오는 말이 될 줄은 몰랐습니다. 저도 해냈는데 저를 보며 희망을 가지시고 나도 되는구나 좋은 개발자가 될 수 있을 수 도 있다는 믿음을 가지며 열심히 화이팅...! (나도 화이팅...)
 
 
앞으로의 무궁한 성장과 발전을 위해...

cheers!

 

반응형
profile

개발은 재밌어야 한다

@ghyeong

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!