옵션 |
|
저작권이 있으므로, 무단 전제 및 복사를 금합니다.
'개발자의 꿈' 글과 이어지는 글입니다.
it업무 중 일어난 일들의 직장인 에피소드 입니다.
공감이 가시면 추천 부탁드립니다.
================================================================
시스템 감시 프로그램 구현
용어설명 : watchdog란? '집을 지키는 개'라는 뜻으로 임베디드 시스템에서 비정상적인 동작이 발생시 시스템을 리셋 시키는 기능이다.
쉽게 설명하면, 기기에 문제가 발생시 스스로 reset 하여, 정상상태로 돌아가는 기능이다
복잡한 상황을 거쳐, 계속 일을 하는 것으로 되었고, 급하다는 국내 향 프로젝트에 무얼 할 수 있을까 고민을 했습니다.
'밥값은 해야 하지 않겠는가?'
프로젝트 막바지라 하드웨어 수정은 당연히 불가능하고, 내부 설계 변경도 기간 내에 할 수 있는 것은 아니었고, 적용 시 단기간에 확실한 효과를 기대할 수 있는 부분으로 해야 했습니다.
고민 끝에 watch dog 구현을 결정하였습니다.
종종 프로그램이 먹통이 되어서 리셋을 해주어야 정상동작이 되는 경우가 있었고, 잠시 살펴본 바로는 프로그램 한 두 곳을 수정 하는 게 아니라 전체를 뜯어 고쳐야 하는데, 당장 할 수 있는 것은 아니었습니다.
실현 가능한 실질적인 방안으로 이상 상태 발생시 리셋을 하여 정상 상태가 될 수 있도록 하는 것이 최선이라 판단했습니다.
구현을 어떻게 할까 고민을 하였고, 사용하고 있는 stm32 칩을 파악해보니, 칩 자체에서 지원이 되는 기능이라는 것을 확인하였습니다.
다행이 사용하고 있는 칩을 잘 아시는 프리랜서 분이 계셨고 그 분의 도움을 받아서 구현 및 적용하게 되었습니다.
저에게는 처음으로 사용하는 stm32칩이었습니다.
처음 사용한다는 것이 문제가 아니라, 칩에 대한 개념과 이해만 있으면 처음이라도 업무에 크게 문제가 되지 않는다고 생각이지만, 채용공고를 보면 칩 사용 경험을 중시하는 경향이 강한 것이 사실이죠.
기교, 내공, 주화입마
무협지를 보면, '기교'와 '내공'으로 무공 실력을 판단하는데, 이것은 개발자를 판단하는데도 똑같이 적용 됩니다.
특정 업무에 경험이 있고 그것을 알고 있다는 것은 '기교'이며, 본질적인 동작원리를 알고 이해하는 것은 '내공'입니다.
'기교'도 중요하지만 '내공'이 높으면, 어떠한 기교든 습득하여 보여 줄 수 있습니다.
일반적으로 기교를 판단 기준으로 삼는 것은 어쩔 수 없지만, 고수들은 내공을 판단 기준으로 합니다.
기교는 금방 습득이 되나, 내공은 단기간에 습득이 불가능합니다.
학교에서 배우는 건 필요가 없다는 분도 계신데, 학교에서 배우는 것은 기교가 아니라 내공의 기초입니다. 근본적인 동작원리를 배우죠.
내공의 기초를 쌓는 겁니다.
학습한 동작원리를 실무에서 이해 하는 순간이 성장하는 때입니다.
내공과 기교가 하나로 되는 겁니다.
요즘엔 학교에서 내공 보다 기교를 중시하는 경향을 보이기도 하는데, 고수를 키우는 것이 아니라 중수를 많이 키우려는 방법입니다.
뭔가 잘 하는 것처럼 빨리 보여 주려면, 기교를 가르치면 됩니다. 그러나 내공 없이는 절대 고수가 될 수 없습니다.
개발자들 중에 기교에 집착하는 사람들은 구현 내용 조차 잘 설명해 주지 않으려 합니다. 이런 분들은 기교에 집착하는 분이며, 고수라고 생각하지 않습니다.
고수들은 설명해 주어도 따라 못한다는 것을 알고 있습니다. 고수가 아니면, 이미 보여준 기교만 따라 하기도 벅차하는 것이죠.
무협지에서 고수를 함부로 따라 하다가 폐인이 되는 것을 '주화입마'라고 하는데, 이것도 개발자에게 적용됩니다.
기교만 보고 따라 하다가 상황의 차이점을 모르고 버그를 만들고, 수습을 못하게 되죠.
많은 분들이 하는 이야기지만, 제가 처음 하는 업무에 어떻게 성과를 내는지 궁금해 하시는 분들이 있어서 간단히 설명 드렸습니다.
잘 모르시는 데
국내 향 관련 수정된 부분과 이슈 관련하여 연구소장님 주관으로 회의가 진행 되었고, 기술적인 부분 설명을 한 시간 가량 한 것으로 기억한다.
여러 질문을 받았고, 거기에 답변을 했다.
설명하고 질문 받으면, 설명한 내용을 이해하고 있는지 알게 된다.
설명한 것을 이해하지 못하는 답답함이 계속 되었고, 연구소장님은 펌웨어 관련 업무를 하지 않는 것으로 생각하였다.
모든 것을 다 알 수는 없으니, 모르실 수도 있는 것이었다.
회의 마치고 연구소장님이 나가신 후, 답답한 마음에 나도 모르게 '잘 모르시는데'라고 말이 튀어 나와 버렸다.
나중에 안 일이지만 사내 최고의 펌웨어 전문가를 자칭하고 계셨던 분이었다.
내가 하는 설명은 서버, 펌웨어, OS, 통신, 드라이버, 하드웨어, ui, 개발이론 등 여러 영역을 넘나들기 때문에 쉽게 하려고 노력은 하나, 다양한 지식이 없으면 이해가 쉽지 않을 것이다.
기술적인 내 설명을 모두 이해 하는 분은 당시 실장님 이셨다.
딱히 많은 질문을 하지도 않으셨으나, 간단히 몇 마디 하시는 것을 보면 완전히 이해 하신 것으로 보인다.
렌트카의 편법
옆 팀에서 몇 분이 결제 문제로 회의 중이었다.
회의실이 아닌 내 옆에서 회의를 하셔서 들을 수 있었다.
내용을 살펴보니, 업무상 실제 테스트를 승용차로 하기 때문에 차를 빌리는 경우가 종종 있는데, 팀장님 1회 결제 상한선이 있어서 5일간 차를 빌리게 되면 실장님 결재가 필요한 상황이었습니다.
결재를 어떻게 하느냐로 결정을 못 내리고 있는 상황이었다.
나 : "팀장님이 관련 비용 사용에 대해서 긍정적이신가요? 부정적이신가요?"
후배님들 " "업무상 테스트에 필요한 것이기 때문에 결재에 이의 제기하지 않으십니다."
나 : "현재 업무 진행 중인 분이 몇 분이시죠? "
"5명 이서 하루씩 5일간 빌려서 결재 올리세요. 그럼 결재 상한선을 넘지 않습니다."
후배님들 : "렌트카에서 하루 단위로 빌리면 반납 후 다시 빌려야 합니다."
나 : "렌트카 직원한테 법인으로 빌리는 것이고, 법인 직원들 사이에서 5일간 서로 인수인계를 하니 마지막 날에 반납한다고 하면 인정해 줄 겁니다."
후배님들 : "그건 편법이잖아요"
나 : "편법이 맞죠"
"그러나 일을 유연하게 하기 위한 좋은 편법이지 악용은 아닙니다."
"직원이 하루씩 테스트 하기에 필요한 결제일 뿐입니다."
"이 정도는 감사를 나와도 징계를 받을 일도 아니고 유연한 일 처리입니다. 뭐하시면 제가 이렇게 해라고 했다고 하세요. 제가 책임 질게요."
"편법이 나쁜 게 아니라 악용하는 것이 나쁜 겁니다."
"혼 나는 거 무서워 하는 사람은 아무것도 못해요."
직장에서 상급자 분들은 1회 결재에 대한 권한을 가지고 계신 경우가 있는데, 1회 결재에 대한 금액의 상한선이 있다. 그리고 보통 월 단위로 결재금액 총합에 대한 상한선이 있다.
큰 금액을 쪼개고 나누어서 룰을 지키는 방법을 제시해 주었으며, 많이 쓰는 방법입니다.
남한산성 야유회 : 일등을 포기하면 행복할 수 있다
회사 전체 야유회를 가게 되었고, 나에게는 처음으로 가는 남한산성 유원지였다.
서울에서 20년 이상 살고 있는 중 이었으나 남한 산성에 가본적은 아직 없었다.
남한성성은 서울 근교의 괜찮은 관광지였다. 그러나 직장인이 휴일에 출근하라고 하면 누가 기분 좋으랴?
회사에서는 비용을 쓰는 거고, 직원들은 싫은데 출근하는 거고...
이벤트 행사로 사진 촬영 대회가 있었고, 팀마다 사진 촬영을 해서 1위 팀에 부상으로 상품권을 주는 행사가 있었다.
팀원 분들이 이걸 해야 하고 저걸 해야 하고 ... 뭔가 바쁘게 해야 할 회사에서 지시한 리스트들을 이야기 했다.
우리 팀에서는 내가 제일 상급자인 상태였고 이렇게 말해 주었다.
"맨날 뭔가 바쁘게 하는 건 많이 해왔잖아."
"1등을 포기 하면 행복해 질 수 있어."
"평일에 일하느라 힘들었는데, 오늘은 출근까지 해서 이것 저것 하느라 스트레스 받지 말고, 오늘은 그냥 천천히 '슬로우 라이프'를 즐겨봐."
"회사에서 온 거라 마음대로 할 수는 없지만, 시키는 건 기본만하고 1등은 포기. 오늘은 그냥 마음 비우고 천천히 즐겨. "
"오늘은 쉬는 날이야. 우리는 업무로 일등을 해야지 이런 건 일등 안 해도 되."
근데 이게 어찌 된 건지, 1등 상은 불참자도 많은 우리 팀에서 받았다.
"우리 팀은 포기를 했습니다. 대표이사님~~, 그러나 주시면 감사합니다."
공휴일에 일정이 잡힌 회사 야유회는 회사측에서는 '출근'이라는 표현 조차 쓰지 않는다.
그러나 참여하지 않으면, 뭔가 있을 것처럼 무언의 압박을 준다.
이 날은 일당으로 상당한 가격의 좋은 식사와 상품권을 받았다.
그거 받고 하루 출근 하느냐고 하실 분들도 있겠지만, 상품권도 못 받은 분들이 더 많다.
무능한 관리자들은 모든 것을 잘하려고만 한다. 물론 모든 것을 잘하면 좋지만, 현실상 불가능하다.
선택과 집중으로 주요 업무에서 성과를 내는 것이 휠씬 중요하다.
선택과 집중이라는 것은 다르게 표현하면, '포기'를 말하는 것이다.
이것이 선택과 집중이 어려운 이유이다.
"무엇을 포기 할까?" 라는 질문으로 하면, 어려워 질 수밖에 없다.