우리에게 적합한 기술스택은 뭘까?

임찬혁·2024년 7월 3일
1

생각

목록 보기
1/4
post-thumbnail

기술스택이란?
스택이라는 개념은 개발자라면 익숙할 것입니다. 우리에게 필요한 기술을 차곡차곡 쌓아 구조화하는 것이라서 기술스택이라고 부르게 된 것 같습니다.

새로운 프로젝트를 시작할 때, 개발자들이 가장 먼저 고민하는 것은 개발 환경을 어떻게 구성할까? 입니다. 이런 과정의 큰 비중을 차지하는 것은 어떤 기술스택을 선택할 지에 대한 고민일 것 입니다. 저도 다양한 프로젝트를 진행해오면서 이런 경험을 겪어왔는데요, 제가 기술스택을 선택하는 기준을 몇 가지 공유하려고 합니다.

적절한 기술을 골라보자

기술의 발전이 점점 빨라지고 있고, 이러한 추세에 따라 많은 새로운 기술이 나타났다가 사라지고 있습니다. 이런 환경에서는 기술스택을 선정하는 기준도 매번 변화하기 마련인데요, 그럼에도 불구하고 변하지 않는 기준이 있습니다.

  • 커뮤니티의 활성도
  • 학습 비용
  • 지속 가능성
  • 인력 수급 용이성

생태계의 활성도
개발을 하다보면 어떠한 문제에 부딪히는 경우가 무조건 있습니다. 만약에 이런 문제를 해결하기 위한 자료를 찾기 힘들고 혼자서 풀어나가야 하는 상황이라면 너무나도 막막한 상황이 될 수 있습니다.

학습 비용
우리에게는 개발할 수 있는 시간이 무한정 주어지지 않습니다. 적절한 깊이의 학습을 한정된 시간 안에서 학습하고 적용해야 하는 경우가 대부분입니다.

지속가능성
우리가 개발하는 제품은 긴 수명을 가질 것이고 거듭해서 진화를 해야합니다. 사용하고 있는 기술스택의 유지보수가 끝나고 새로운 기술스택으로 변경해야 한다면 많은 비용이 투입되어야 합니다.

인력 수급 용이성
언제까지나 지금의 인원으로만 개발을 이어나기는 어렵습니다. 외부 인력을 수급해야 하는 상황에서 마이너한 기술스택의 경우에는 긴 시간을 인내해야 할 수 있습니다.

이것저것 체크할 여유가 없을 때는 어쩌지

여러 부분을 체크하면서 기술스택을 선정할 여유가 없는 경우에는 생태계(커뮤니티)가 활성화되어있는 기술을 선택하는 것이 좋습니다. 커뮤니티가 크다는 것은 많은 사람들이 사용하고 있다는 것이고, 이런 부분은 인력 수급 용이성지속가능성에 긍정적인 영향이 있을 가능성이 큽니다.
또한 여유가 없는 상황은 높은 확률로 개발을 빠르게 진행해야 하는 상황일 수 있는데, 자료가 많으면 확실히 개발속도에 도움이 되는 것도 사실입니다.

마무리

기술스택 선정 기준은 프로젝트의 성격에 따라 달라질 수 있습니다. 진행중인 프로젝트를 개선하는지, 회사에서 새로 시작하는 프로젝트인지, 재미를 위한 사이드 프로젝트인지 등등 각자의 목적이 다르기 때문입니다.
한 번 선택한 기술스택은 당분간은 바꾸기 어려울 가능성이 높기 때문에 신중하게 결정하되, 고민에 너무 많은 시간을 투자하는 것은 지양하고 있습니다. 프로젝트의 현재 상황에 과분한 기술스택을 사용하게 되는 경우도 있었는데, 적당한 선택을 하는 것이 항상 어려운 것 같습니다.

profile
개발새발자

0개의 댓글