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들이 레이어마다 있었던 거더라고요.
이걸 알면, 예전에 후배들한테 했던 말을 다시 할 수 있어요.
"뭐든 해봐. 망가지면 되돌리면 돼."