Kim-Baek 개발자 이야기

클린아키텍처 - 1장 설계와 아키텍처란 본문

개발

클린아키텍처 - 1장 설계와 아키텍처란

김백개발자 2022. 1. 31. 00:33

개발자에게 중요한 능력은 무엇일까라는 고민을 많이 하게된다. 신기술을 빠르게 배우고 적용하는 능력, 누구보다 빨리 코딩을 하는 능력 등 여러가지 가 있을 수 있겠다. 회사에서 일을 하다 보니, 여러 사람이 봐도 이해할 수 있는 코드를 짜는 것이 정말 중요한 능력이 아닐까? 라는 생각이 많이 든다.

그래서 해당 능력을 기르기 위해 클린아키텍처라는 책을 읽으면서 스터디를 진행하게 되었다. 

1장 - 설계와 아키텍처란?

아키텍쳐는 고수준의 무언가 설계는 저수준의 무엇인가라고 생각하기 쉽지만, 둘은 아무런 차이가 없다고 한다. 중요한 것은 이것의 목표이다.

소프트웨어 아키택쳐의 목표는 필요한 시스템을 만들고 유지보수하는데 투입되는 인력을 최소화하는 데 있다.

좋은 설계로 만들어진 소프트웨어는 많은 사람이 없어도 발전되고 유지되는 것을 말한다.

하지만 실제로 회사에서 만들어지는 소프트웨어들도 그럴까? 사람이 많아질 수록 오히려 생산성이 낮아지는 것을 볼 수 있다. 초창기에 10명의 개발자가 100이라는 결과를 냈다면, 회사가 커져서 100명의 개발자가 되었을 때는 1000의 결과가 나올 거라 예상하지만 실제로는 500이나 나오면 다행이라는 것이다.

이것은 보통의 개발자가 생각하는 빨리 만들어서 결과를 내야겠다는 것 때문에 그렇다. 코드는 나중에 정리해도 되니 먼저 시장에 출시해야겠다고 생각하지만 실제로 고칠 수있을까? 아니다. 항상 새로운 기능이 기다리고 있고, 점점 엉망진창만 되어가는 것이다. 

"지저분한 코드를 작성하면 단기간에는 빠르게 갈 수 있고 장기적으로 볼 때만 생산성이 낮아진다." 라고 생각하는 경우가 많다. 하지만 유일한 진실은 다음과 같다.

빨리 가는 유일한 방법은 제대로 가는 것이다

 

반응형
Comments