아주 적당한 코딩

maintain·2020년 6월 21일
0

컴퓨터공학을 배운 인간

사무보조 알바를 한다. 서면 상으로 들어온 서류를 전산 상에 올리고, 올라간 전산 상 정보를 서류와 일치하는지 대조해 확인하는 것을 반복하는 아주 간단한 일이다. 모든 경우가 특정한 입력, 특정한 클릭을 똑같이 요구해서 이 부분을 selenium으로 구현하기로 했다. 컴퓨터공학을 배우는 인간으로서 도저히 그냥 넘어갈 수 없었다. 약간의 구글링과 함께, 수동 작업을 하면서 짬짬이 작업해서 어렵지 않게 완성할 수 있었다. 인터프리터로 함수를 실행시켜서 반복되는 부분은 자동입력되고, 나머지는 눈으로 대조하거나 입력하는 방식이었다. 속도가 훨씬 올라갔다. 한동안 알뜰살뜰하게 잘 써먹었다.

욕심

그런데 계속 하다 보니 더 빠르게 하려는 욕심이 났다. 현재 공통데이터 입력, 저장할 건지 묻는 alert 누르기 작업 등을 따다닥 해주는 수준에서, 간단한 조건을 확인해주고, 더해야 할 데이터 몇 개를 알아서 합산해주는 기능 등까지 구현하고 싶어졌다. 프로그래밍을 하는 사람이라면 이건 내가 아니더라도 3시간 마라톤 뒤에 느껴지는 갈증같이 아주 강렬한 욕구일 것이리라. 거기에 더해 코드가 조금 더 깔끔해지고, 최적화가 잘 되었으면 했다. 그래서 결국 다시 코드에 손을 댔다.

'욕심'

새 작업은 조금 까다롭고 오래 걸렸다. 첫 작업은 모든 경우에 해당되는 일이지만 이건 특수한 일부가 아니면 따질 필요가 없었고, 그 '특수한 일부'의 종류가 꽤 많았다. 어느 정도 작업이 진행되던 순간 나는 놀라운 사실을 깨달았다. 새 작업은 별로 할 필요가 없었다! 우선 빈도가 낮아 쓸 일이 별로 없었다. 그리고 전에 비해 경우가 다양해서 수 배의 작업량을 요구했다. 심지어 나는 단순한 알바생이기 때문에 아주 특수한 경우에는 내가 처리할 수 없고 담당자 분에게 넘겨야했다. 에러 처리와 최적화를 할 필요도 없었다. 대부분의 시간은 직접 눈으로 확인하는 일이 잡아먹어서 두 배 빨라져도 별 차이도 없었다. 두 배 빨라지는 게 더럽게 어려운 일이라는 것을 생각하면 엄청난 낭비다. 또한 에러는 에러 처리를 내가 하고 있는 셈이었기 때문에 처리할 필요가 전혀 없었다.

그러니까 나는 아주 헛일을 하고 있었던 셈이다. 엄밀히 말하자면 조금은 더 빨라졌겠지만 그걸 만드는 데 들어가는 시간을 생각하면 별 이득이 못 되고, 지루한 반복 작업을 조금 더 긴장감 있게 할 수 있다는 점 빼면 좋을 게 없었다. 따지고 보면 그게 목적이었던 것 같기도 한데. 어쨌든 중요한 건 완성 후 아무리 날라다녀도 만드는 동안 시간이 훌렁훌렁 날아간다는 것을 명확히 인지해야한다는 것이다. 그런 점에서 아날로그보다 느릴 수 있다는 것이고. 앞으로 기술적 함정에 빠져 아날로그 무시하지 말고 코딩도 필요한 만큼만 '아주 적당히' 하도록 하자.

0개의 댓글