시작은 언제나 별 고민이 없었다. 안녕하세요. 언제나 이걸로 시작했으니까. 그다음도 별로 어렵지 않았다. 어느 팀의 누구입니다. 인사말 이후에는 친하면 누구입니다. 안 친하면 어느 팀의 누구입니다. 이것도 그냥 공식에 가까워서 고민 없이 칠 수 있는 말이었다. 문제는 그다음부터였다. 지난번에 도움 주신 덕분에 는 너무 낮은 자세로 굽히고 들어가는 느낌이 났다. 지난번에 요청드린 것에 이어서 는 너무 사무적이었다. 이번에 메일을 드리게 된 것은 은 무난했지만 지난 메일과 이번 메일 사이에 적지 않은 기간이 있었다는 것을 생각하면 업무의 연속성을 상기시키기에는 적절하지 않은 시작이라는 느낌이 들었다. 업무 메일이라는 것은 편지라는 것에 강조가 있는 것이 아니라 업무에 방점이 찍혀 있기 때문에 일반적으로는 형..
어느날 새벽 2시 무렵이었습니다. 저는 시험공부를 한다고 캐시 라인의 복잡한 흐름을 눈으로 따라가고 있었습니다. 캐시 라인은 메인 메모리의 일정한 부분을 캐시 메모리로 이동시키는 단위를 말하는데, 이와 관련된 여러 가지 프로토콜을 이해하기 위해서는 캐시를 거쳐서 레지스터에 올라가는 데이터가 어디에서 어디로 흘러가지는 파악하는 것이 매우 중요했습니다. 시험에 나온다고 했거든요.교재를 아무리 봐도 표시된 화살표가 도대체 왜 여기서 저기로 이어지는지 이해하지 못하겠다는 생각이 들었습니다. 그리고 그 순간 집중력이 흐트러졌습니다. 정신이 산만해지자 아무렇게나 틀어놨던 음악이 귀에 들어오기 시작했습니다. 새벽 2시에 어울릴만한 감성을 가진 음악이었는데, 제 재생목록에 이런 조용한 음악이 있었다는 사실이 조금 생소..
사실 11월에는 마음이 조금 불편했었다. 나도 나름대로 하고 싶어도 할 수 없는 것과 하기 싫어도 해야 하는 것들 사이에서 마음고생을 하고는 있었지만, '그 프로젝트'에서 일하고 있는 다른 사람들을 생각하면 그런 불평도 크게 할 수는 없었다. 차라리 어디 멀리서 일하고 있었다면 폭우가 몰아칠 때 할 일 없이 집에서 멍하니 창밖을 바라보고 있을 때처럼 안락함이라도 느꼈을지 모르겠는데, 들려오는 이야기들 하나하나가 너무 경악스러울 정도로 안 좋아서 그러기도 쉽지 않았다. 특히나 마음이 좋지 않았던 것은 내가 할 수 있는 일이 하나도 없었다는 점이었다. 같이 화내주면 다들 마음이 조금 풀렸을까. 술이나 밥을 사주면 상황이 조금 나아질까. '이런 프로젝트가 존재한다는 것을 견디기 어려워서 회사를 그만둡니다.'라..
위기는 언제나 예상치 못한 모습으로 찾아온다. 그러니까 예상하기 어려웠다는 말이다. 언제나처럼 출근을 위해 집을 나서면서 지갑이 있는지 확인하고, 사원증이 있는지 확인하고, 핸드폰에 배터리가 충분한지 확인하고, 이어폰을 꽂고 엘리베이터에 탔다. 마침 엘리베이터에 먼저 탄 사람이 있었기에 음악은 켜지 않은 상태로 엘리베이터를 타고 내려갔다. 엘리베이터에서 내려서 현관문을 나서고, 주위에 사람들이 충분히 멀어질 때가 되어서 음악 앱을 켜볼까 핸드폰을 꺼냈는데 마침 마을버스가 정류장에 진입하는 게 보였다. 버스를 놓치면 지각이거나 그런 건 없었지만 그래도 그 버스를 안 타면 10분은 기다려야 됐기에 일단 핸드폰을 그대로 손에 들고서 정류장을 향해서 가볍게 뛰었다. 늦지 않게 정류장에 도착해서 버스에 올라탔고,..
아주 짧은 고민을 거친 뒤 저는 ㅇ을 입력했습니다. 그것이 이 글의 첫번째 입력이 되었습니다. 제가 ㅇ을 입력하고자 마음먹고 왼손의 집게손가락이 D 키를 눌렀을 때, 집게손가락이 누른 키 캡은 일정한 압력으로 스위치의 상부 역할을 하는 러버돔을 눌렀을 겁니다. 러버돔은 키 캡을 누르는 손가락에 약한 반발력을 주는 동시에 반대 방향으로 용수철 상수에 눌리는 깊이를 곱한 것만큼의 반발력을 주었을텐데, 키를 누르는 손가락의 힘이 이 반발력보다 높았을테니 스프링은 지속적으로 기판에 가까워졌을 겁니다. 이때 스프링의 이동은 키 스위치에 흐르는 정전용량에 변화를 주게 되는데, 이 변화량이 사전에 설정된 수치를 넘어서는 순간 키보드는 이 키가 눌렸다고 판단하고 컨트롤러를 통해서 연결된 USB로 D 키에 해당하는 키 ..
다른 개발자들이 보통 생각하는 것과 마찬가지로, 나도 내 코드가 대형사고를 초래할 것이라고는 생각하지 않았다. 그래서인지 모니터에 떠있는 몇 줄 안되는 코드를 보는 심정이 복잡해질 수 밖에 없었다. 일단 현재 상황은 대형사고가 난 상황은 아니다. 단지 대형사고가 나기 직전의 상황일 뿐이었다. 내가 보고 있던 코드들은 일괄적으로 수행되는 작업을 위한 배치 프로그램(Batch program)의 코드였는데, 매일 새벽 2시가 되면 스케줄러에 의해서 자동으로 실행되어 DB에서 데이터들을 조회하고 조건에 맞는 데이터들에 일정한 처리를 해서 상태를 변경해주는 역할을 하고 있었다. 내가 보고 있던 코드는 DB에서 사용자들이 처리해야 될 일감들을 뽑아낸 다음에 각각의 사용자에게 배정해주는 역할을 하는 코드였다. 언제부..
전화벨이 울렸다. 사람들이 몰려들었다. 책상에 A4 용지가 쌓였다. 항상 매월 5일은 이랬다. 규정에 정해진 결산기간은 매월 1일 부터 5일이었는데, 대부분의 사람들은 이 규정을 '결산은 5일에'로 받아들였다. 첫 날에 오면 10분도 안 기다리고 바로 확인 받고 돌아갈 수 있는데 왜 사람들은 꼭 마지막 날 몰려서 몇 시간씩 기다릴까. 결산서 틀리면 답도 없는데. 라는 의문이 들어서 검사가 끝난 결산서에 도장을 찍어주면서 물어봤다. "보급관님, 다음에는 첫 날에 오시면 이렇게 안 기다리셔도 될텐데 말입니다." 4시간을 기다렸던 보급관은 결산서를 받아들며 이렇게 말했다. "야, 너네는 31일까지 쓴 걸 그 다음날에 다 합산해서 결산서 만들어올 수 있냐?" 결산은 업무시간을 훌쩍 넘겨서까지 계속 되었고, 한 ..
얼마 전의 일입니다. 집에서 쉬고 있는데 어머니께서 부르시더라고요. 예 하고 뛰어갔더니 홈쇼핑 방송을 보시다가 스마트폰으로 주문한다면 싸다는 말에 앱을 설치하셨는데 진행이 잘 안 된다고 하시더군요. 사실 저희 어머니는 개발자 아들을 두기는 하셨지만, IT나 스마트폰 등에 대한 지식은 정말 평범하셨고, 딱히 앱을 설치하고 사용하시는 것 자체에 어려움을 겪으시는 분은 아니었습니다. 그래서 무슨 일인가 들여다보니 회원가입을 못하고 계시더라고요. 사실 우리나라에서 스마트폰 앱을 사용하다 보면 회원가입부터 해야 하는 경우는 정말 많지 않습니까? 그래서 도대체 어디서 막히셨나 봤더니 회원가입 여부를 판단하기 위해서 이름을 입력하려고 하셨는데, "이름에 공백이 있으면 안 됩니다."라는 메시지가 자꾸 뜨더랍니다. 물론..