728x90

난 왜 소프트웨어 개발자가 되고 싶어 했을까?

솔직히 이 질문에 아직 해답을 찾진 못한 것 같다. 

처음엔 막연히 내가 만든 블로그가 있었으면 좋겠다 싶어서 무작정 django 책을 두 권사서 따라 해 봤는데,

나름 재미는 있었지만 직장을 다니면서 뭔가를 한다는 게 말처럼 쉬운 건 아니었다.(물론 지금 생각해보니 핑계가 거의 90% 이상이었지만..)

그 뒤로 잊고 살다가 불현듯! 프로그래밍이 하고 싶어졌다. 

 

이유가 몇 가지 있었다. 

1. 2020년 겨울쯤에 방영된 tvN 드라마 '스타트업'이 굉장히 재밌었다. 

2. 00학번으로 항공우주공학과를 들어가서 2021년 대한항공 항공기술연구원 퇴사 때까지

    거의 20년간 항공우주 관련 일을 했는데(물론 굉장히 재밌었고, 나름 자부심도 있었지만)

    그 상황에 너무나 만족한 나머지 무기력증에 걸려버렸다. 그래서 새로운 도전이 필요했다.

3. 누구나 시작은 해볼 수 있는 프로그래밍의 세계는 굉장히 좋은 출발점이었다.

4. "Programming" 이라는 단어가 그냥 마음에 와닿았다. 

등등..

 

물론, 이유가 명확하지 않아 남들이 보기에는 뜬구름 잡는 것처럼 보일 수도 있을 것 같다.

그런데 난 그냥 저런 이유만으로도 충분했다. 프로그래밍을 시작하기에는..

 

Wecode Fullstack 부트캠프 시작

회사 다닐 때는 퇴직하게 되면 최소 5년은 전 세계를 여행해야겠다고 생각을 했었는데,

아쉽게도 2021년 2월에 퇴직했을 때는 코로나 때문에 아무 데도 못 가는 상황이었다.

물론 그래도 집에서 게임도 하고, 영화도 많이보고, 보고 싶은 책도 많이 봐서 원 없이 쉬긴 했다. 

그리고 6개월 정도 재밌게 놀았으니, 이제 해보고 싶은걸 해보자 싶어서 바로 부트캠프에 등록했다. 

 

부트캠프의 장점은 같은 목표를 가진 사람들(협업)이 있고, 강요하진 않지만 해야만 하는 느슨한(?) 강제성이 있고, 

모르는 문제에 대해서 구글링 말고도 실시간 대화가 가능한 멘토분들이 있다는 점인 것 같다. 

 

혼자서도 시간관리 잘하고, 스스로 문제 해결을 잘 해내는 일당백인 사람들은 굳이 부트캠프로 시작할 필요는 없을 것 같다. 

하지만 확률적으로 보면 우리는 대부분 보통의 사람들이라서 결국 서로 돕고, 약간의 행동 제약을 받아야 결국 무언가를 해낼 수 있다는 걸 잘 안다. 

그러니 그냥... 부트캠프든, 국비지원이든 혼자 하지 말고 다른 사람들과 같이 하자.

 

1차 프로젝트 회고

6주간의 pre, foundation 코스가 지나고 2주간의 1차 프로젝트가 끝나가는 이 시점에 회고록을 쓰는 이유는...

지난 6주보다 프로젝트를 수행했던 2주가 더 드라마틱하게 다가왔기 때문이다.

 

프로젝트 소개 및 역할

우리 팀은 마플샵 클론 코딩이 프로젝트로 주어졌다. 

모든 기능을 구현할 수 있는 실력은 안되기 때문에

백엔드 데이터 모델링 및 각종 API 구현, 메인 페이지, 제품 상세 페이지, 로그인/회원가입, 이미지 슬라이드 UI 구현 등 기본적인 기능만 구현하는 것을 목표로 잡았다.

기간은 2주, 인원은 5명!

 

나의 역할은 프런트엔드 : 로그인/회원가입 UI 구현, 백엔드 : 상품 상세 정보 페이지에 정보를 제공하는 API 구현이었다. 

사용 기술

  • Front-end : React.js, sass(최대한 라이브러리 배제)
  • Back-end : Node.js, express, prisma, My SQL
  • Common : RESTful API
  • Community Tools : Slack, Zoom, Notion

결과물

Front-end : https://github.com/quark4904/fullstack3-1st-wepleshop-frontend

Back-end : https://github.com/quark4904/fullstack3-1st-wepleshop-backend

https://youtu.be/KS8-9Y_w8_A

개인적으로 좋았고, 아쉬웠던 점

6주간 정신없이 배웠던, React.js와 Node.js를 통합해서 하나의 웹페이지를 만드는 일은 생각보다 멋진 일이었다. 

 

부트캠프 초반에만 하더라도 useState, useEffect 등등 React Hook이 이해도 안 가고 router는 무엇이며,

부모 자식 간에 props를 전달한다는데 왜 그래야 되는지, fetch는 뭔지.....RDBMS, Layered Pattern은 왜 이리 복잡한지..

이 모든 것들이 머릿속에 짬뽕되면서  이게 그거 같고, 저게 그거 같은 지식의 과부하 때문에 머리가 복잡했는데,

프로젝트를 수행하면서 뭔가 머릿속이 1차적으로 정리가 된 느낌이 들어서 굉장히 만족스러웠다. 

 

내가 맡은 기능 구현에 초점을 맞추다 보니 다른 팀원들의 코드를 제대로 살펴보지 못한 건 아쉬움으로 남는다.

github에 올라온 다른 팀원들의 PR을 나름 유심히 본다고 봤지만, 세세하게 보진 못한 것 같다.

또한 로그인 후, 백엔드를 통해 받아온 token을 실제로 활용할 수 있는 코드를 직접 작성해보지 못한 것도 아쉽다. 

이러한 아쉬움은 다음 주에 있을 리팩터링 기간에 모두 해소시키리라 마음먹어본다.

협업

그동안 다녔던 회사들을 살펴보면, 협업이 중요하지 않은 곳은 단 한 군데도 없었다.

모든 분야가 그렇겠지만 항공우주 분야도 특성상 각 계통(추진, 구조, 전기 등등)과의 유기적인 협업이 굉장히 중요한 분야이다. 

특히나 항공 사고는 대부분 인명 사고로 직결되기 때문에 많은 것들이 시스템화 되어 있고, 보수적으로 흘러갈 수밖에 없다.

 

이제 겨우 부트캠프의 프로젝트 하나를 수행해본바로 웹 개발의 협업에 대해 많은 걸 알 수는 없겠지만,

개인적으로 느끼는 두 분야의 협업은 정답이 있느냐 없느냐로 나뉘지 않을까 싶다. 

 

항공우주 분야는 공기역학, 열역학, 구조역학 등 어찌 보면 정답 같은 것들이 존재하는 분야다.

빠르게 날아가기 위해서는 추진력이 강해야 하고, 공기역학적으로 동체 구조를 유리하게 만들어야 하고..등등

즉, 그 정답들에 빠르고 정확하게 다가가기 위한 회의로서의 협업의 느낌이라면..

 

웹 개발 분야의 경우, 아주 짧은 기간 동안 느낀 바로는 정답이 없는 문제를 해결해야 하는 분야 같다는 느낌이 든다. 

정답이 없다는 건 내 생각과 다른 사람의 생각이 모두 정답이 될 수도 있고, 정답이 되지 않을 수도 있다는 말이 된다.

결국 누군가의 생각(혹은 조직)이 정답이 될 텐데,  그만큼 협업이 굉장히 중요한 문제가 될 수 있는 분야이지 않을까 싶다. 

 

이번 프로젝트를 하면서 가장 크게 느낀 부분이 바로 이 부분이었다. 

프로젝트 초기 세팅을 하면서 우리가 놓친 부분에 대해서는 모두가 각자의 방식대로 진행을 했고,

또한 각자가 맡은 기능 구현에 초점을 맞춰 진행하다 보니 서로의 코드를 확인하는 것을 소홀히 진행했던 것이다. 

프로젝트 마무리 때 모두가 동의했던 내용이 바로 협업의 중요성이었다.

 

마무리

웹 개발 분야는 지금도 열심히 성장하는 분야다. 

그만큼 개발자들도 부지런해야 한고, 노력해야 하기 때문에 굉장히 힘든 분야인 것 같다. 쉽게 생각했던 나 자신을 반성한다. 

 

난, 대전 산기슭 어디쯤에서 편하게 생활하다가 갑자기 바다가 보고 싶어서 출발한 지 1년여 만에 바다에 도착을 했고, 이제 겨우 발바닥에 바닷물을 묻힌 수준인 초초보 개발자다. 다행히 바닷속에 들어가는데 나이 제한은 없긴 하지만, 바닥에 닿을 체력을 온전히 유지하고 있을지가 의문이다. 하지만, 일단 바닷가에 도착한 이상 바닷속을 들어가 봐야 한계를 알 수 있지 않을까 생각한다. 시간이 지나서 더 깊이 다이빙할 수도 있고, 잠시 해변가에 나와서 휴식도 취할 수 있는 그런 개발자가 되고 싶다. 

반응형

'Programming' 카테고리의 다른 글

[Programming]HTTP 상태 코드 간단 정리  (0) 2021.12.13

+ Recent posts