6주간 정신없이 배웠던, React.js와 Node.js를 통합해서 하나의 웹페이지를 만드는 일은 생각보다 멋진 일이었다.
부트캠프 초반에만 하더라도 useState, useEffect 등등 React Hook이 이해도 안 가고 router는 무엇이며,
부모 자식 간에 props를 전달한다는데 왜 그래야 되는지, fetch는 뭔지.....RDBMS, Layered Pattern은 왜 이리 복잡한지..
이 모든 것들이 머릿속에 짬뽕되면서 이게 그거 같고, 저게 그거 같은 지식의 과부하 때문에 머리가 복잡했는데,
프로젝트를 수행하면서 뭔가 머릿속이 1차적으로 정리가 된 느낌이 들어서 굉장히 만족스러웠다.
내가 맡은 기능 구현에 초점을 맞추다 보니 다른 팀원들의 코드를 제대로 살펴보지 못한 건 아쉬움으로 남는다.
github에 올라온 다른 팀원들의 PR을 나름 유심히 본다고 봤지만, 세세하게 보진 못한 것 같다.
또한 로그인 후, 백엔드를 통해 받아온 token을 실제로 활용할 수 있는 코드를 직접 작성해보지 못한 것도 아쉽다.
이러한 아쉬움은 다음 주에 있을 리팩터링 기간에 모두 해소시키리라 마음먹어본다.
협업
그동안 다녔던 회사들을 살펴보면, 협업이 중요하지 않은 곳은 단 한 군데도 없었다.
모든 분야가 그렇겠지만 항공우주 분야도 특성상 각 계통(추진, 구조, 전기 등등)과의 유기적인 협업이 굉장히 중요한 분야이다.
특히나 항공 사고는 대부분 인명 사고로 직결되기 때문에 많은 것들이 시스템화 되어 있고, 보수적으로 흘러갈 수밖에 없다.
이제 겨우 부트캠프의 프로젝트 하나를 수행해본바로 웹 개발의 협업에 대해 많은 걸 알 수는 없겠지만,
개인적으로 느끼는 두 분야의 협업은 정답이 있느냐 없느냐로 나뉘지 않을까 싶다.
항공우주 분야는 공기역학, 열역학, 구조역학 등 어찌 보면 정답 같은 것들이 존재하는 분야다.
빠르게 날아가기 위해서는 추진력이 강해야 하고, 공기역학적으로 동체 구조를 유리하게 만들어야 하고..등등
즉, 그 정답들에 빠르고 정확하게 다가가기 위한 회의로서의 협업의 느낌이라면..
웹 개발 분야의 경우, 아주 짧은 기간 동안 느낀 바로는 정답이 없는 문제를 해결해야 하는 분야 같다는 느낌이 든다.
정답이 없다는 건 내 생각과 다른 사람의 생각이 모두 정답이 될 수도 있고, 정답이 되지 않을 수도 있다는 말이 된다.
결국 누군가의 생각(혹은 조직)이 정답이 될 텐데, 그만큼 협업이 굉장히 중요한 문제가 될 수 있는 분야이지 않을까 싶다.
이번 프로젝트를 하면서 가장 크게 느낀 부분이 바로 이 부분이었다.
프로젝트 초기 세팅을 하면서 우리가 놓친 부분에 대해서는 모두가 각자의 방식대로 진행을 했고,
또한 각자가 맡은 기능 구현에 초점을 맞춰 진행하다 보니 서로의 코드를 확인하는 것을 소홀히 진행했던 것이다.
프로젝트 마무리 때 모두가 동의했던 내용이 바로 협업의 중요성이었다.
마무리
웹 개발 분야는 지금도 열심히 성장하는 분야다.
그만큼 개발자들도 부지런해야 한고, 노력해야 하기 때문에 굉장히 힘든 분야인 것 같다. 쉽게 생각했던 나 자신을 반성한다.
난, 대전 산기슭 어디쯤에서 편하게 생활하다가 갑자기 바다가 보고 싶어서 출발한 지 1년여 만에 바다에 도착을 했고, 이제 겨우 발바닥에 바닷물을 묻힌 수준인 초초보 개발자다. 다행히 바닷속에 들어가는데 나이 제한은 없긴 하지만, 바닥에 닿을 체력을 온전히 유지하고 있을지가 의문이다. 하지만, 일단 바닷가에 도착한 이상 바닷속을 들어가 봐야 한계를 알 수 있지 않을까 생각한다. 시간이 지나서 더 깊이 다이빙할 수도 있고, 잠시 해변가에 나와서 휴식도 취할 수 있는 그런 개발자가 되고 싶다.
초반이라 그런가 여전히 어렵다. 이야기를 전개하기 위한 빌드업 과정이 책의 서론 부분에 주로 배치가 되는데, 이 흐름을 놓치면 이야기 전개를 따라가기가 어려워진다. 한글책도 그런데... 영어책이야 오죽할까..ㅠ 그래서 원서를 읽을 때 힘을 조금 더 줘야 하는 부분이 바로 초반인 것 같다. 그래도 일단 계속 읽어나가자!