Ctrl+Z가 안 되는 세계에서

후배들한테 컴퓨터 처음 가르칠 때 이렇게 말했어요. "뭐든 해봐. 망가지면 Ctrl+Z 누르면 돼." 근데 개발을 시작하면서 그 말이 더 이상 안 통하더라고요.

후배들한테 처음 컴퓨터를 가르칠 때 이렇게 말했어요.

"뭐든 해봐. 망가지면 Ctrl+Z 누르면 돼."

그 말 하나로 후배들은 꽤 마음 편하게 눌러댔어요.

실수하면 Ctrl+Z.
또 실수하면 Ctrl+Z.

되돌아가는 게 이렇게 쉬울 줄이야 싶었던 것 같아요.


근데 개발을 시작하면서 그 말이 더 이상 안 통하더라고요.

터미널에 잘못된 명령어를 입력하면 Ctrl+Z가 없어요.

Node.js를 잘못 설치하면 Ctrl+Z가 없어요.

환경 변수를 건드렸다가 아무것도 안 되면, 그냥 처음부터 다시 깔아야 해요.

무서워서 건드리지 못하거나, 건드렸다가 컴퓨터를 밀어버리거나.

초보자들이 개발 환경 앞에서 얼어붙는 게 당연한 거였어요.


그래서 이런 생각이 들었어요.

개발 환경에도 Ctrl+Z를 만들 수 있지 않을까?

Git은 코드의 Ctrl+Z예요.

언제든 과거 시점으로 돌아갈 수 있어요.

Docker는 환경의 Ctrl+Z예요.

컨테이너를 날리고 다시 만들면 몇 초면 처음으로 돌아가요.

가상머신은 OS 전체의 Ctrl+Z예요.

스냅샷 하나면 운영체제째로 되돌아가요.


Ctrl+Z가 없는 세계라고 생각했는데,

사실은 더 강력한 Ctrl+Z들이 레이어마다 있었던 거더라고요.

이걸 알면, 예전에 후배들한테 했던 말을 다시 할 수 있어요.

"뭐든 해봐. 망가지면 되돌리면 돼."