<aside> ⛔ 아래 글은 사내에서 제가 작성한 글을 옮겨 왔습니다. 나중에 보면 의미가 있을 거 같아서...

</aside>


<aside> 🔥 우리는 코더가 아니라 문제를 해결하는 사람들입니다.

</aside>

클린 아키텍쳐, 클린 코드, DDD, TDD ... 용어가 너무 많고, 왜 배워야하는 지도 잘 모르겠죠? 순수 과학, 컴퓨터 관련 하드웨어 등에 비해서 소프트웨어 공학은 역사가 오래 되지도 않았는데, 왜 이렇게 알아야하는 게 많을까요?

게다가 맨날 새로운 라이브러리, 언어, 프레임워크, 방법론들이 나오고 있고, 이걸 모두 캐치업하는 게 불가능해 보일 정도로 소프트웨어 공학은 빠르게 발전하고, 변화해가고 있습니다.

개발 공부를 꾸준히 하다보면 잘 짠 코드, 유려한 아키텍쳐, 뛰어난 퍼포먼스 등 소프트웨어 공학적으로 아름다운 것들에 매몰되서 그것보다 더 중요한 것을 잊기 쉽다고 생각합니다. (뭣이 중헌디?)

질문을 몇 개 던져 볼게요.

아키텍쳐 왜 배울까?

낮은 결합도, 높은 결합도(Low Coupling, High Cohesion)에 맞게 코드를 구성해서 변경 사항에 유연하게 대처할 수 있기 때문입니다.

그냥 막 짜면 되는거 아닌가? 이걸 왜 다 지켜야해?

막 짜도 됩니다. 멋진 설계보다 빠른 실행력이 훨씬 더 중요한 순간이 있겠죠. 하지만 그 선택에 대한 트레이드 오프에 대해서 인지하고 있어야 한다고 생각합니다. 한 술 더 떠서, 코드를 유지보수 가능하게 만들 가장 좋은 방법은 코드를 안 짜는 것이라고 생각합니다

The Rise of the No-Code Movement - SitePoint

노-코드 운동

코드를 왜 유연하게 작성해야할까?