본문 바로가기

회고록

[회고]세번째 project를 진행하고

DevOps가 뭐지? 리눅스..?라고 생각했던 2월에서 벌써 세 번째 프로젝트를 끝마쳤고, 앞으로 모니터링에 대한 학습과 마지막 거대한 프로젝트 하나면 나의 개발자로서 첫걸음을 뗄 수 있을 것이다. 한 주 한주 회고를 진행하면서 매번 한주 공부한 것이 아쉽고 다음 주는 더욱더 잘 정리해보자라는 다짐을 하며 보냈는데, 막상 지금까지 와서 보니 나는 꽤 많은 것을 배웠다. 이번 프로젝트도 마찬가지다.

 

이번 프로젝트에서 가장 중요한 점은 "커뮤니케이션"이다.

 

이번 프로젝트는 가상의 상황을 가정한 채 진행되었다. 나는 한 소프트웨어 회사의 개발자이고 빵 공장을 운영하는 고객의 요청을 받는다. 

  • 판매 요청에 따라 현재 존재하는(레거시) 공장 서버와 통신할 수 있도록 해주세요.
  • 공장 서버가 오래되어서 가끔 작동을 안할 수가 있는데, 그래도 판매 요청은 정상적으로 잘 되게 해주세요.
  • 공장 서버의 api를 수정할 때 버튼만 누르면 수정된 내용이 배포될 수 있게 구성해주시고, 그걸 눈으로 확인할 수 있게 해주세요.
  • 공장 서버에서 생산 완료되었으면, 자동으로 재고가 올라가도록 연결을 꼭 해주세요.
  • 만들어진 클라우드 서비스를 코드로 편리하게 관리할 수 있도록 해주세요.

아 물론, 개발자가 아닌 공장 관계자 입장에서 위와 같이 세세히 말해줄 순 없다. 아마 다음과 같이 말했을 것이다.

  • 서버가 너무 느리고 가끔 작동도 안 되는데, 요즘 핫한 클라우드 써서 좀 해보세요. 근데 너무 많은 비용이 나오는 건 곤란합니다.

근데 나는 개발자이니 회의를 통해 위 다섯 가지를 잘 파악하여 멋진 마이크로 서비스를 만들어내야 할 것이다. 그러한 생각만 해도 너무 재밌겠다. 물론 이번 프로젝트는 가이드라인과 사용해야 할 기술이 명확히 주어졌었지만, 나름 상상을 하며 진행하니 참 재밌었다.

 

불친절할 수도 있는 고객의 요구를 잘 파악하고, 내가 해야할 업무에 대한 가이드라인을 스스로 잡아보는 것. 이것이 바로 커뮤니케이션의 힘이자 역할이라 생각한다. 

 

지금 내가 그 능력을 정확하게 경험하고 훈련할 수 없으니, 나는 기술을 많이 배우고 기술의 역할을 최대한 단순하고 직관적으로 설명할 수 있어야 할 것이다.

예를 들어 AWS 람다는 서버리스 서비스로 필요할 때 함수를 돌릴 수 있기에 비용 절약을 할 수 있다. 메시지 큐 서비스는 비동기적 호출로 어떤 서비스의 처리가 느리더라도 빠른 응답을 줄 수 있다. 그래서 람다에 메시지 큐를 붙이면 전체적인 서비스에 가용성과 속도를 높일 수 있을 것이다.

이처럼 관계자에게 설명하는 상상을 하며 배우는 것이 내가 할 수 있는 일이라 생각한다. 많은 기술을 알아야 관계자에게 다양한 선택지를 줄 수 있고, 더욱 신뢰성 있는 사람이 될 수 있을 것이다. 얼른 경험하고 싶다.


고객과의 커뮤니케이션, 물론 중요하다. 요청을 받아들였고 가이드라인을 명확히 했다고 해도, 일은 혼자 하는 것이 아니다. 팀원과의 커뮤니케이션 또한 상당히 중요하다.

 

사람마다 사용하는 언어도 다를 것이고, 전문인 분야도 다를 것이다. 나는 그런 것을 잘 파악하고 조율하여 역할을 분담하여 최적의 결과를 만들어내는 사람이 되고 싶다. 물론 꿈이지만, 많이 배우고 알고자 노력한다.

 

이 부분은 얼마나 강조해도 모자라지 않다. 항상 꿈을 생각하며 사람을 대한다면, 언젠간 그 경지에 이를 수 있지 않을까? 한번 생각해본다.

 

코드스테이츠에서 아주아주 멋진 말이 있어서 발췌해본다.

 

당신이 아무리 똑똑하더라도,
사람들과 일하는 법을 모른다면,
당신의 꿈은 그저 꿈일 것이다.
- 마윈

이번 회고는 KPT(Keep, Problem, Try)를 실천해보고자 한다.

 

지속할 것(Keep)

1. 에러를 즐기자

사실 나는 에러가 즐겁다. 직접 실행시켜보고, 에러가 나면 막 이유를 너무 알고싶다. 이런 마음가짐이 참 공부도 잘되고 좋은 것 같다. 취미로 코딩하는 사람들도 이 때문이아닐까? 싶다..

 

2. 지속적으로 소통하자

개발자들은 자칫 자신만의 굴에 빠지기 쉬운 것 같다. 이번 프로젝트에서 항상 나의 진행상황을 공유하고 팀원의 진행상황을 공유하여 다같이 해결하고 다같은 목표를 바라보는 것이 효율이 좋음을 느꼈다. 

 

문제되었던 것(Problem)

1. 에러를 좀 기록해두자

에러가 좋아 그것에만 집중하고 해결되면 그냥 넘어가버린다. 그런데 봤던 에러를 또 만난적이 있는데 또 찾았었다. 역사를 연구하는 이유가 앞으로 그러지말자는 이윤데 자꾸 반복해버리면 연구하는 의미가 없다. 마찬가지로 에러를 현상, 원인, 해결에 맞게 기록을 해둔다면 다음에 반복하지는 않을 듯하다. 

 

2. 미루지말자

회고든, 개념학습이든, 스프린트든 자꾸 미루다보니 현재 닥친 일들에 집중이 안된다. 모든일엔 순서가 있다고 생각한다. 잘 안되더라도 미루지말고 차근차근 침착한 마음으로 진행하자.

 

3. 전체적인 그림을 생각하자

프로젝트를 진행하면서 세부적인 기술구현에 집중하다보니, 완성을 했음에도 왜 이렇게되냐?라고 생각한 순간이 있었다. 굴에 빠진것이다.. 내가 목표로하는 직무는 더욱이 큰 그림을 그릴 수 있는 사람이라고 생각한다. 잠깐 떨어져서 침착하고 그림을 그리고 작업에 돌입하자.

 

시도할 것(Try)

1. 복붙이라도 에러 기록

솔직히 매번 에러를 만날때마다 현상, 원인, 해결에 맞춰 기록하는건 어렵다. 부트캠프처럼 주어진 과제가 항상 있을 경우 더욱 그렇다. 그럴땐 그냥 복붙해서 노션에 기록만 해두고 개인학습시간을 내어 차근차근 정리해보자. 한 일주일? 지난 에러라도 충분히 기억나지싶다.

 

2. 침착한 마음을 갖자

사실 내가 목표한 분야는 배움에 끝이 없다고 들었다. 즉, 다 배울 수 없다. 모르는채로, 해야할 것을 하지 않은 채로 넘어갈만큼 급한 일은 없다. 어차피 다 못배우고 다 못익힌다. 지난번에 했던 것을 정리할 수 있는 시간을 꼭 가져보자

'회고록' 카테고리의 다른 글

[회고]Final Project Day5  (0) 2022.05.25
[회고]Final Project Day4  (0) 2022.05.23
[회고]Final Project Day3  (0) 2022.05.20
[회고]Final Project Day2  (0) 2022.05.18
[프로젝트 회고]WAS로 투표 서비스 만들기!  (1) 2022.03.09