Skip to content

프로그래밍을 하면서 느끼는 괴로운점

힘들다

Makonea
·2026년 6월 11일·4분

프로그래밍을 하면서 느끼는 가장 괴로운 지점은
내가 새로운 것을 만들었다고 생각한들, 그것이 프레임워크 내에 IoC를 따르며, 결국 특정 형태로 귀결된다는 지점이다.

나름 열심히 잘 짰다고 생각하지만 결국 특정 절차에 의거해서 특정 형태로 귀결된다. WPF를 쓰면 결국 MVVM이 되고, 리액트를 쓰면 앱 라우터냐 페이지 라우터냐의 차이일뿐 결국 특정 형태로 이어지게 된다. 결국 상태 관리의 문제가 있고, 이건 모범해답이 있다. 서버 컴포넌트를 어디까지 쓸 것이냐라고하면서 사람들은 저마다의 정답을 말하지만 결국 세상에 살아남는 정답지는 이미 몇가지 정해져있다. 마치 논술 시험에서 창의성을 말하지만 그 창의성이 결국 심사위원에게 맡겨졌듯이.

결국 최종적으로 이미 남이 풀어놓은 정답지를 그대로 가져와서 그대로 레고 블록 조립을 한다. WPF를 쓰면 보일러 플레이트는 어쩔 수 없고, 그곳에서 벗어나기 위해 여러 프레임워크를 조립하면 결국 프레임워크 격리를 위한 헥사고널처럼 되고 이것 또한 잘 알려진 문제로 패턴화 된다.

혹자는, 비즈니스 로직을 잘 세우면 새로운 문제가 되고 그때는 새 패턴이 없지 않느냐 하지만 결국 내가 받거나 내가 생각하는 로직 대부분이 얇은 비즈니스 로직 위에 있어서 결국 포트-어댑터 작성의 반복화만 있고, 핵심인 비즈니스 로직도 결국 간단하고 얇은 작업만 된다. 나는 그저 개발자라고 생각했지만 나는 그냥 배관공일뿐이다.

처음에는 내가 시스템을 만든다 생각하였으나, 어느순간부터 시스템이 허용하는 방식으로 나 자신은 레고블록 조립만 한다는 느낌을 받는다. 프로그래밍은 자유로운 창작물이라기보다는, 이미 존재하는 틀안에서 빈 칸을 채우는 행위처럼 느껴진다. 결국 내 일이라는 것은 "새로운 것을 만드는 일"이라기보다는 "이미 존재하는 틀 안에 빈 칸을 채워넣는 행위"처럼 느껴진다.

그리고 이미 알려진 제약 속에서 가장 덜 망가지는 형태를 고르는 일처럼 느껴진다.

모든 성숙한 공학 분야가 그렇다. 교량 설계자도 결국 몇가지 구조 형태로 수렴하고, 그걸 패배라고 생각하지 않는다. 하지만 결국 교량 설계자는 그 트러스 공식을 발견하지 않았다. 나는 어쩌면 그 트러스 공식을 발견하고 싶은 사람이 되고 싶은걸지도 모르겠다.

누군가는 그렇기때문에 유지보수 할 수 있다.

누군가는 그렇기때문에 이직이 가능하다.

라고 말하지만, 가끔 나는 무엇일까라는 존재론적 고민을 한다.

프레임워크는 제어권을 가져가는 질서고, 개발자는 그 안에서 콜백,라이프라사이클,컴포넌트,바인딩,라우트,미들웨어, 서비스 컨테이너 같은 구멍에 내 코드를 꽂는다. 근데 이제는 그 코드마저 AI가 짠다.

결국 남이 생각하는 무언가 위에서는 결국 배관공이 될 수밖에 없는 운명인가보다. 물론 틀위에서도 결국은 개인의 특색을 만들 수 야 있다. 그것은 게임같은 것이 특히 그럴것이고.

유니티나 언리얼이 제공하는 메인 루프 위에서, 물리 연산 콜백, 렌더링 파이프라는 틀 안에서 자신이 생각하는 세계를 구현하는 그 작업은 분명 특색있다.

하지만 그 개성을 위해서는 한 사람이 감당하기 어려운 에셋과 도메인이 필요하다. 세계를 만들기 위해서는 코드만으로는 부족하다. 그림, 사운드, 애니메이션, 레벨 디자인, 연출, 시나리오, 테스트, 마케팅까지 필요하다.

요지는 돈이다.

결국 생존을 위한 프로그래밍은 다시 비슷한 형태의 반복 작업으로 돌아온다.

그래서 괴로운 것은 프로그래밍이 단순해서가 아니다. 오히려 프로그래밍이 충분히 강력하기 때문에 괴롭다. 무엇이든 만들 수 있을 것처럼 보이지만, 실제로 생계를 위해 반복하는 일은 대개 이미 정해진 틀 안에서 연결부를 맞추는 일이다.

생존을 위한 프로그래밍은 늘 비슷한 형태의 반복 작업이다. 프로그래밍에 감사하지만, 나는 엑셀위의 숫자요. 소모품일 뿐이다.

내 자아는 언제나 굶주리지만, 현실은 날 언제나 발목잡는다.

언젠가는 이 지옥에서 벗어나고싶다.

프로그래밍을 하면서 느끼는 괴로운점