이 벨로그를 열심히 운영해서 이직할 때의 자산으로 사용해야지!
취직을 하기 전까지만 해도 위처럼 생각했는데 어림도 없었다. 70시간씩 일하고 주말에 출근하게 될 줄은 몰랐지...
이제 여유가 생겼으니 다시 이 벨로그를 잘 가꿔봐야겠다.
SSAFY의 2학기가 시작되면서 프로젝트를 처음부터 직접 만들어보고, 완성하는 단계를 3번이나 거쳤다. 이 과정에서 프로젝트 매니징의 중요성, 팀원과의 협업 및 클린코드 작성법에 대해 배울 수 있었다.
사실 SSAFY에서 얻을 수 있는 가장 큰 자산은 개발자 친구들인 것 같다. 열정 넘치는 사람들이 모여 각자의 길을 걸어가다보면 알게 모르게 도움받을 일이 많은데 지금도 그 도움으로 많은 공부를 하고 있는 처지다.
혹시 고민하시는 분이 있다면 한 번쯤 참여해보는 것도 추천한다. 고등학교 시절로 돌아간 것만 같은 기분을 느끼실 수 있다!
SSAFY가 막바지일 때, 더욱 성장하고 싶은 마음에 네이버 부스트캠프에 지원했고 다행히 합격할 수 있었다.
다양한 주제를 통해 스스로 발전해나갈 수 있는 방법을 알려줬다. 엄두가 안 날 정도로 큰 양의 태스크를 작게 쪼개, 하나하나 해나가다보면 사실 내가 다 할 수 있는 일이라는 것을 알게되었다.
하지만 얼마 되지 않아 회사에 합격하게 되면서 아쉽게도 그만두게 되었다. 그만두지 말걸...
23년엔 취직을 하고 내가 구현해보고 싶은 컴포넌트, 기능이 아니라 실제 비즈니스 로직을 구현해보면서 오는 어려움을 통해 성장해보고 싶었다. 또한 친구들과 공부를 하다보면 상상할 수 없는 VOC나 체계적인 업무 플로우에 대해 배워보고 싶었다.
다행히 싸피가 끝나고 부스트 캠프를 조금 맛보던 찰나에!
프론트엔드 개발자로 취업에 성공했다.
기대했던 회사 생활과는 한달 동안 코드 한 줄도 보지 못하고 개발 외의 업무에 주로 차출됐다. 개발과 관련이 있는 업무였다면 그래도 좋았겠지만 시장 조사나 기획서 작성 같은 입사 전에는 생각지 못했던 업무를 주로 맡았다. 당연히 전문 기획자분들이 작성한 산출물보다 퀄리티가 떨어지는 내 것이 회사에 도움이 되는 일은 없었다.
이를 임원분들도 잘 알고 있었는지 발령대기와 비슷한 자유시간이 주어졌는데, 이 때 책을 정말 많이 읽었다. 아래는 지난 1년간 (사실은 23년에 거의 다 읽었다.) 읽었던 책들의 소개다.
필자처럼 고민 많은 주니어시라면 관심이 가는 책 한 권 정도를 읽어보시는게 어떨까 싶다.
[출처 교보문고]
싸피를 졸업할 때, 프로젝트를 조율하거나 어려움이 있을 때마다 도움을 주시던 컨설턴트 분들이 다같이 책을 추천해주는 시간이 있었다. 추천받았던 책 중, 개발자라면 언제든 읽어도 좋을 책이라고 추천받았던 "실용 주의 프로그래머"책을 가장 먼저 읽었다.
어떻게하면 좀 더 비용을 줄이고 효율적인 개발을 할 수 있는지에 대해 다양한 주제를 통해서 설명한 책인데, (비교적 오래된 개발서적이라 그런지) 번역도 아주 잘돼있고, 내용도 충실했다. 그 중에 가장 가슴에 와닿는 말이 있다.
"오래된 격언이 아직까지도 유용하게 사용될 줄 몰랐다"
물론 책이 처음 쓰였던 때와 의미가 변하거나 다른 관점에서 봐야하는 명제들도 있겠지만 책에 적혀있는 대부분의 주제가 뭣 모르고 개발하던 나에겐 크게 다가왔다. 먼저 일한 선배들이 남긴 지식을 습득해서 빠르게 성장하는 느낌을 받을 수 있어서 정말 좋은 책이었다.
이 책의 내용을 친구들과 공유하고 싶어서 pdf파일로 정리해둔 것이 있는데 다음 포스트에 올려보도록 하겠다.
[출처 교보문고]
개발자의 수명을 관리하는 방법에 대해 알려준 책.
마찬가지로 SSAFY에서 추천받은 서적이다. 개발자로서의 인생을 시작하는 사람들에게 본인의 경험을 바탕으로 조언해주는 책이다.
첫 10년은 개발에 대해 배우며 성장하고,
다음 10년은 팀을 이끌어 나가며 성장하며,
다음 10년은 지난 20년 동안 얻은 지식을 공유하면서 성장한다.
띠지에 적혀있듯이 개발자로써 30년 동안 어떤 방식으로 제품에 기여하고 각 10년마다 가지면 좋을 중장기 목표에 대해 생각해볼 수 있었다.
[출처 교보문고]
개발 방향이 틀리지 않았다는 확신을 얻을 수 있었던 책.
모든 개발자가 그러하다고 생각하겠지만, 모든 코드는 변경하기 쉽고, 알아보기 쉬울수록 좋은 코드라고 생각한다. 하지만 모든 게 그렇듯 이 분야도 트레이드 오프라고 생각한다. 더 좋은 코드를 짜려고 할 수록 더 많은 시간을 쏟게 되고, 오히려 특정 코드에 투자한 시간때문에 다른 코드에 투자할 시간이 없어 더 나쁜 코드를 짤 수도 있다.
이 책에선 이런 트레이드 오프를 어떤 방식으로 관리할 지 좀 더 넓은 관점에서 설명해준다. 일개 개발자의 관점, 팀의 관점, 한 제품을 매니징하는 관점, 더 나아가 회사, 사회의 관점에서 트레이드 오프라는 관점에서 설명하고 더 좋은 코드를 짤 수 있는 방법론에 대해서 알 수 있었다.
[출처 교보문고]
팀 내에 개발문화가 없어서 괴로워 하던 필자에게 친구가 추천해준 책.
일본의 한 기업의 개발자가 어떤 방식으로 새로운 팀에 스크럼 문화를 정착시키고 발전시켜 나가는지 글과 만화를 혼용하여 보여주는 책이다. 만화로 표현되어 있어서 모든 과정이 순탄해보이고 재밌어 보이지만 얼마나 많은 고난이 있었을 지 공감이 갔다.
아주 간단한 개발문화를 적용시키는 데에도 몇 개월의 시간이 소요되었는데, 짧은 시간에 성공적으로 스크럼이라는 문화를 적용시킨 선배 개발자가 존경스러워 지더라.
[출처 교보문고]
에자일이라는 문화에 선행되어야할 수 많은 조건들을 성장이라는 키워드로 풀어낸 책. 아직 읽고 있어서 아마 그렇지 싶다.
네이버 부스트캠프에 참여했을 때, 활동을 위해서 구매를 권유받았던 책이다. 물론 이 책을 활용한 활동을 하기 전에 회사로 떠나버렸지만 우리나라에서 가장 발전된 IT 회사 중 하나가 추천한 책이라 시간이 생겼을 때 읽어봐야지 생각만 하고 있다가 최근에서야 펼쳤다.
발전이 멈추고, 오히려 퇴보하는게 아닐까 불안에 떨고 있는 내게 이정표를 새겨주고 있는 책이다. 역시 부스트 캠프에서 추천한 책이라 그런지 성능 확실하구먼!
JS | React |
---|---|
![]() | ![]() |
[출처 교보문고]
가장 많이 성장했다고 느끼는 책.
위의 책들은 다 방법론이나 마음가짐에 대해서 설명했다면, 읽은 책 중 유이하게 기술적인 성장을 이룰 수 있었던 책이다.
JS나 React의 베이스에 대해 알려주는데, 이런 지식을 통해 개발을 하다가 발생했던 버그들이 왜 발생했는지, 어떻게 해결할 수 있는지 알 수 있었다.
일례로 옛날엔 왜 useState를 조건문 안에 배치하면 안되는지 알 수 없었다. 어차피 컴포넌트는 조건문을 통해서 로드되는 경우가 왕왕 있는데 컴포넌트 내부에서 조건에 따라 state를 초기화 못할 이유가 뭐란 말인가?
if(is마라탕) {
const [is탕후루, setIs탕후루] = useState<boolean>(false)
senpai(is탕후루, setIs탕후루);
is탕후루 && console.log('탕!탕! 후루후루!')
}
에러창을 통해서 ReactFiber에 의해서 발생한다는 건 알고 있었지만, 자세한 내용에 대해선 알 수 없었다. React 딥다이브를 통해서 fiber의 동작 원리에 대해서 알고나니, React가 렌더링이 필요한지 인식하는 과정에서 hook이 조건에 따라 fiber에 추가되면 성능이 저하되고 가상 돔을 활용한 react의 렌더링이 유명무실해진다는 것을 알 수 있었다.
워낙 유명한 책이라 다들 알고 계시겠지만, 위와 같은 사례들 말고도 다양한 지식을 배울 수 있으니 필자와 같은 프론트엔드 주니어 분이라면 매우 추천드린다!
그러고 갑자기 회사가 사라져 버렸다. 자회사는 원래 이렇게 있다가도 없는 거라나...?
회사가 증발되면서 필자에겐 전환을 신청하거나, 다른 회사가 설립되어 팀을 흡수하는 과정을 기다리는 선택지가 주어졌다. 1달 동안 코드를 전혀 못봤고, 하루라도 빨리 업무를 해보고 싶었던 당시엔 전환을 선택하게 되었다.
전환될 팀을 선택할 땐, 다음 조건들을 신경썼다.
위 조건에 딱 맞는 팀이 하나 있었고 간단한 기술 | 인성 면접을 통과한 뒤에 전환 배치를 받을 수 있었다.
팀에 처음 잡았을 때, 입사 전에 기대했던 개발문화가 거의 없었다. 전환을 하기 전, 후 모두 마찬가지였다.
코드리뷰, 스터디, 팀 내 세미나, 완벽하진 않지만 이유가 있는 개발문화 등등 회사에 들어오기 전에는 막연히 기대하고 있던 것들 중 준비된 것은 아무 것도 없었고, 막연히 좋겠다고 생각하던 개발 문화를 하나하나 팀에 적용하거나 상의해보고 싶었다.
지금 생각해보면 치기어린 생각이 아니었나 싶지만, 결과적으론 아직 갈 길이 멀지만 팀 내에 정착되고 있다. 서로가 모르는 것들을 서로 보완해나가면 더욱 발전된 제품을 만들 수 있다는 것을 설득하는데 3~4개월의 시간을 소모했지만 점점 변화하는 팀을 보면서 뿌듯함을 느끼고 있다.
이런 변화가 긍정적인지는 모르겠다. 이 또한 시간이 지나면 배우는 점이 있지 싶다.
위 문단에서 느끼셨는지는 모르겠지만 아쉽게도 팀 선택을 그리 성공적이지 않았다. 팀에서 성장하기가 힘들어 보였고, 자연스럽게 외부로 눈을 옮기게 되더라.
친구를 통해서 알게된 용감한 친구들 깃헙에서 많은 이벤트들에 대해서 알 수 있었다. 가끔씩 들어가, 관심있는 주제가 있다면 참여하는 형식으로 성장해보려고 했다. 한정된 시간, 한정된 자원으로 인해 알고 싶은 것을 쪽집게처럼 배울 순 없었지만, 시야를 넓힐 수 있는 계기가 되었다.
다양한 행사나 컨퍼런스에 참여해봤지만 오프라인으로 참여한 건 이 행사가 처음이었다. 훌륭한 세션과 네트워킹 시간이 마음에 들어서 관련이 있는 주제의 밋업이라면 꼭 신청하고 있는 행사다.
망중한에 갑작스럽게 작성하는 글이라 어떻게 끝을 맺어야 좋을지 모르겠다.
필자같이 성장을 하고 있긴한데 과연 옳은 길일지 모르겠는 모든 동료 개발자 분들이 많지 싶다. 혼자서 그 대답을 찾지 못하겠다면 책이나 타인에게서 찾아보시는 건 어떨까 싶다.