Thursday, November 24, 2011

소소한 개발 이야기들...

내가 지금 참여하고 있는 C 프로젝트는
이제 개발 단계가 끝나고 디버깅 및 테스트를 하는 단계이다.


물론 내가 만든 리퀘스트 서비스 로직은 모든 불만 없이 잘 돌아갔어야 하는데
나도 모르는 실수가 하나 둘 씩 발견되고 있었다.

모든건 linq 관련된 것들인데 모두 collection에서 grouping 하는데 발생되는 문제들이었다.
하나는 group 된 값들에 대해 datetime 순으로 order by를 거는데 잘 안되서 살펴보니
어느 group의 값에 대해 order by 를 걸어야 하는지 판단하지 못해 발생한 문제.
하나는 역시 group 된 값들에 대해 count 순으로 order by를 거는데
마찬가지의 문제로 클라이언트 쪽에 통계 그래프가 제대로 나오지 않는 거였다.

누구나 할 수 있는 실수 이지만
이런게 발견되고 수정될 수 있는 경험을 쌓는다는 것이
어찌 보면 더 중요한 것 같다.

최근 개발자를 부탁해라는 한 한국계 여성 개발자의 책을 읽었는데
여러 가지 면에서 고개를 끄덕이게 만드는 내용을 봤다.
스킬이 뛰어나고 연차가 많아도 결국 해당 업무에 대한 경험이 부족하다면 경력직으로 살아가기란 어려운 일이라고...

아직까진 나도 젊다고 생각하고 있고
최선방에서 여러 가지 개발 경험을 가진다는 건
중요한 일인 것 같다.

Thursday, November 3, 2011

일 하면서 즐거움을 느낄 때란

요즘 다른 프로젝트에 서포트 하는 개념으로 참여를 하고 있다.
간단히 정리를 하자면
- 어떤 로그가 담긴 DB 내용을
- 웹에서 리퀘스트를 주면 JSon 형태로 데이터를 주게 되어 있고
- 그 데이터를 수집하여 통계 자료를 보여주는
일을 하고 있다.

여기서 내가 맡고 있는 일은 웹에 리퀘스트를 주고 받는 데이터를
collection으로 의미 있는 데이터로 변형해서 client 쪽에 넘겨주는 부분을 맡고 있다.

처음엔 관련 기술 정보가 부족하여
이것도 해보고 저것도 해보고 하다가
차츰 핵심 로직들이 완성되어 가고
그걸 또 조금씩 general 하게 만들어 가는 과정에서
희열을 느낀다고 해야 하나
내 스스로도 잘 만들고 있다는 느낌을 받으면서 개발을 해 나갈때에
즐거움을 느끼는 것 같다.

가끔씩 이런 일들이 생기면 즐겁게 일 할수 있을 텐데
이런 일들이 항상 일어나는 것도 아니고
또 버그 수정하고 개선 사항 추가해서 하는 일을 추가적으로 하다 보면
어느새 즐거움은 그냥 일을 위한 일을 하는 것으로 바뀌게 될 지도 모른다.

하지만 지금은 지금 상태로 즐기는게 좋은 것 같다.
잘 짜여진 class 구조,
중복 작업을 하지 않게 도와주는 interface 상속
general 하게 만들 수 있는 template 함수
collection에서 의미 있는 데이터를 뽑아내는 linq 코드들
client 쪽에 이벤트를 전달 하기 위한 delegate 구조 등등
또다른 개발 스킬들을 얻게 되어서 좋은 것 같다.
정말로.

Wednesday, May 18, 2011

자신이 잘못 알고 있다는 걸 인정하기가 그렇게 어려운 일인가?

사건은
그리 오래전에 일어난 일이 아니었다.

이제 개발일은 별로 안하게 되고
시스템 안정화나 문제/장애 해결을 커뮤니케이션 일이 주가 되다 보니
내가 개발자로 일하고 있는지
그냥 기술지원 센터에 일하는 직원인지
스스로 물어보면서 허탈한 웃음을 짓고 있는게 한두번이 아니다.

문제는
이런 업무를 처리하고 있던 상황에서
트리플 모니터를 사용하는 사람이 장애를 일으킨다 해서
시스템 로그 확인한 다음에 상식 적인 수준에서 답변을 했다.
그래픽 카드 드라이버 이상일 확률이 높다라고...
어플리케이션 어디에도 모니터나 해상도를 세팅하는 로직이 있질 않는데
트리플 모니터를 사용하는 사용자만 실행이 안되는 건 이상하지 않은가?

그런데 그 장애를 접수하고 관리하시는 분이
그럴리 없다!
분명 프로그램에 문제가 있는 거니 코드 확인해 봐라!
라고 해서
있지도 않은 로직 찾느라 시간 허비하고
원격 지원도 하라고 해서 원격 지원도 했건만
결국 그 고객의 그래픽 카드 드라이버가 업데이트가 되지 않아 그랬던 것으로 밝혀졌다.

이건 뭐
어떤 기분이라 설명해야 할지 모르겠지만
어쨌든 문제가 해결되었다는 걸로 일적으로 엮인 관계에서는
더 이상 문제 삼아봤자 이득도 없고 불필요한 일이긴 하다.
하지만, 이 장애를 접수하신 분의 태도가 더 마음에 들지 않는다.

결국 내가 답변해준 범위 내에서 해결 가능한 걸
그 지랄(?)을 해 대서 해줬더니
수고했다라던가
내가 잘못 알고 있었으니 미안하다 라는 얘기는
단 한마디도 없었다.

그냥
갑과 을의 관계라는게 이런 것이라고 넘어가기에는
분명 인간과 인간 사이의 예의가 안되어 있는 것이라 생각한다.
아주 마음에 들지 않는다.

그 분은 진정
조금이라도 미안한 마음은 가지고 있기는 할까?

Monday, April 11, 2011

누구를 위한 택배인가...

택배사원
<특정 택배 회사나 인물과 관계 없음>

가끔 회사 사무실로 찾아오는 택배 아저씨들이 종종 눈에 띄곤 한다.
나 역시도 인터넷 쇼핑몰에서 물건을 주문하면 회사에서 받기에
낯익은 풍경이기도 하다.

문제는 이 택배아저씨들이 우리 부서가 아닌 모르는 부서 사람의 이름을 대면서
시끄럽게 이름을 부르며 찾거나 슬쩍 다가와서는 XX씨 어딨는지 아냐고 물어본다.

난 그런 택배아저씨
- 자꾸 아저씨라고 하니 비하하는거 같기도 해서 택배사원이라고 바꿔 부르겠다.
그 분들이 왜 저러나 싶나 생각이 든다.
전화 한통 하면 될것을 사람 찾는데 힘들게 찾는게 별로 보기 좋지는 않다.

그런데 그 분들이 왜 전화를 하지 않고 그렇게 힘들게 사람을 찾나에 대한 이유를
요 며칠 전에 알게 되었다.

보통 쇼핑몰에는 본인의 계정으로 로그인해서 물건을 배송하고 하기에
개인 정보의 하나인 전화번호가 꼭 기재되어 있다.
(물론 아닐 경우도 있지만 대개 그렇다고 본다면...)

그런데 사람을 찾는 택배의 경우는 전화번호가 적혀 있지 않다는게 문제였다.
분명 쇼핑몰이 아니라 개인적으로 주고 받는 물품이겠거니 한다.
전화번호를 모르니 일단 주소로만 찾아오게 되고 그러다 보니 이런 문제가 발생하는 것이다.

여기까지는 택배 사원의 관점에서 발생하는 일인데
이 어이없는 상황은 택배를 받는 사람도 스트레스라는게 문제다.
자기가 택배로 물건을 받기로 해 놓고는 제 시간이 오지 않으니까
애꿏은 택배 사원만 귀찮게 하고 택배가 늦니 어쩌니 하면서
택배회사까지 불신하게 되는 사태가 벌어지게 된다.

어쩌면 근본적인 원인은 택배의 받는 사람 전화번호를 적지 않은
택배 보내는 사람의 문제인데
이런 것 때문에 사무실에서 일 하다가
간혹 신경쓰이게 하는 택배 사원은 또 무슨 죄인지 생각해 보게 된다.

---

이와 비슷한 상황은 음식 배달하는 분에게도 같이 적용되기도 한다.
저번 주 처럼 비가 오는 날에는
나가기도 귀찮고 비도 오니까 음식을 시켜 먹게 되는데
사무실 위치를 정확히 알려주지 않고
"그냥 3층이요~" 라고만 하니까 시키는 사람과 주문 받는 사람의 암묵적 동의가 형성된다.
시키는 사람은 항상 시켰으니 3층이요 하면 알아서 오겠거니 하는 믿음이 생기고
주문 받는 사람은 항상 시켰던 곳이니 배달하는 애가 알아서 가겠거니 하는 귀차니즘이 발생한다.

그래서 xx리아에서 햄버거 세트를 잔뜩 들고 온 어떤 배달사원이
햄버거 시킨 사람이 누군지도 모르고 전화번호도 모른채
그냥 3층에서 시켰다는 사실만 알고 와서는
이리 저리 헤메이는 모습을 보니
이런 생각을 하게 됐다.

'아니 도대체 주문을 했으면 위치를 똑바로 알려주던가 - 가령 3층 엘리베이터에서 내리자마자 오른쪽 통로 바로 옆 문 같은.
전화번호를 남겨놓던가 해야지 시켜놓고 이게 뭐하는 짓이람' 하며
시킨 사람을 실컷 욕하고 있었는데
알고 보니 그 시킨 사람이 우리 부서 차장님이었다라는 거~
에효.
좀 똑바로 하지 그러셨어요.

아무리 차장이라지만 진짜 이런 식의 일처리는 다음부터 안했으면 좋겠다.

Monday, April 4, 2011

개발자 외부 파견 교육에 대해서

일단 시작은 이렇다.
4월 달에 외부 교육 중 개발 관련 교육을 듣고 싶은 사람에 대해
저번달에 미리 신청을 받았다.
신청한 교육이 xna framework 관련 교육이다.
(다른 여러 교육 프로그램이 많이 있긴 했지만 다들 게임에 관심이 있는 모양인지
일괄로 신청을 했다.)

하지만 난 신청하지 않았다.
어차피... 그래 어차피라는게 당연하다는 듯이 받아들이고 있는게 현실이긴 하지만
저녁 시간에 그것도 1주일이나 갈 수 있는 건
내 업무나 내 프로젝트 위치나 기타 여견을 고려해 봤을 때에는 불가능 할 것 같아서
신청하지 않은 것이다.

그런데 막상 오늘 저녁 부터 가야 하는 교육에
같은 프로젝트 진행하는 팀원이 자기는 못가겠다고 했다.
업무 인수인계와
다음 주 까지 예정되어 있는 작업 때문에
저녁에 시간내서 교육 받으러 가긴 힘들다는 거였다.

물론
내 선에서 가지 말라고 짜르지는 않았다.
하지만 업무 때문에 저녁 시간에 진행하는 교육 조차
진행할 수 없다는게 안타까울 뿐이다.

어쩌면
업무 때문에 그렇게 진행될 수 밖에 없는 상황 보다는
윗선에서 짤라서 못가는게
원망의 대상이 정해지기라도 할껀데
갑과 을의 계약관계에 놓인 SI 프로젝트의 업무상
본인 스스로 그런 선택을 할 수 밖에 없다는게 안타깝다.

이건 그렇고, 요새 내가 하는 일은
Windows 7 API Codepack을 이용해
Windows 7 UI를 적용시키는 기능을 진행 중에 있다.
이런 개발을 쉽게 하기 위해 DLL 배포 및 샘플 코드까지 있는건
귀찮은 개발자 입장에는 환영할 만한 일이지만
어째서 c# 2.0 수준의 코딩 밖에 할 수 없는지 여기서 한번 답답해 진다.
WPF 수준으로 공개했다면 더 좋았을 껄 하는 생각이 든다.

Monday, February 28, 2011

파견

파견 기간이 길어지고 있다.
처음엔 1주
그 다음엔 Memory leak 문제 해결 까지
그리고 그 다음엔 UI 이슈 해결 까지

저번 주 금요일
그런 얘기들을 늘어놓고 있는 고객사 사람들 앞에서 내가 다시 할 수 있는 말은
"열심히 하겠습니다" 정도다.
열심히 하고 싶은 마음도 있다.
다 끝내고 복귀하고 싶기도 하다.

그래도 이거 까지 하면 다시 복귀 얘기가 나올까? 잠깐 또 생각을 해 봤지만
이내 그렇지 않을 것이라는 확신이 섰다.

애초에
날 내려 보내 놓고 올려 보낼 생각을 안했던 거다.

본사는 최선을 다해서 고객사 사람들을 만족시켜야 한다라고 하고
(그건 맞는 말이지)
여기서는 이슈들이 많아서 봐줬으면 좋겠다이다.

그럼 난 굳이 복귀하지 않고 여기서 계속 일해도 상관은 없게 되는 셈이다.
출퇴근 시간이 좀 길어 피곤할 뿐.
아 또 하나 있지.
본사에다가는 나 이제 복귀 하고 싶다라고 계속 얘기하지 않아도 되는 거.

이젠 일하는 위치가 중요한게 아니게 됐다.
그것 보다 중요한건 이 일이 내가 하고 싶은 일이냐 하는 것이다.
이 프로젝트를 하고 싶었던 기간은 유지보수 전 기간 뿐이다.
그리고 유지보수 두달 째 진행하고 있는데
이제 이정도는 할만큼 했다고 본다.

다른걸 하고 싶다.
일 외적으로 방해하는 사람들이 없으니
노트북에다가 구글 크롬 OS나 설치해 봐야 겠다.

Friday, February 25, 2011

부서 조직 개편

그동안 한다 한다 하던 조직 개편안을 오늘 발표했다.
팀이 여러개가 나뉘고 각 팀장들이 나와서 발표하는 식으로 진행했는데
난 아키텍트 팀에 일원이 되었다.

며칠 전
아키텍트 팀의 팀장이 될 거고
전 G 프로젝트의 팀장이었던 분이
내 의견은 어떤지에 대해서 물어본 적이 있다.
핵심은
같은 팀에 너와 나 둘이 있는게 마음에 안들면 말하라고 했는데
말 해봤자 그냥 개발팀에 떨어질 것이 뻔하고
안하면 그냥 제안 대로 가는 건데
왠지 뭔가 말하고 싶지는 않았다.
그냥 지금 하는 프로젝트와 병행했을 때
힘들지만 않게 해달라고 했다.

그냥 의욕을 잃은 것일까?
여러가지 생각이 든다.

오늘 조직개편 발표가 끝나고
한마디씩 하는 자리에서 내가 하려던 얘기들을 했다.

내가 미니홈피에 꿈이 무엇인지를 적는 란에
소프트웨어 아키텍처라고 했었다.
그렇지.
뭔가 힘들게 개발하는 사람이 아니라
말로 기술적인걸 구축하고 쉽게 일하는 사람
그리고 남들이 보기에 뭔가 있어 보이는 사람이기를 원했기에
진짜 뜻도 모르고 그렇게 적었었다.

난 이제 그 팀의 일원이 되었는데
뭔가 서글프고 더 이상 이렇게 있고 싶지 않다라는 생각을 했다.
또 고생은 고생대로 하고
내 마음은 불만으로 가득 찬 채 한해를 보낼 것 같은 그런 느낌.

내 예전 꿈은 그렇게 이루어진듯 했지만
이젠 아니다.
곧 다른 모습의 나를 찾을 것이다.
이제는 그렇게 하고 싶다.

Tuesday, February 15, 2011

개발 7년차 즈음에

이제 개발한지 7년이 넘었다.

언어별로는 C++을 3년 했고, C#을 4년 했다.
플랫폼 및 라이브러리별로는
Win32의 MFC, ATL을 했고
.NET Framework의 WPF를 쭉 해왔다.
하지만 이건 겉으로 드러나는 그냥 사실인 것이고
내가 생각했던 것과는 다른 개발 인생을 겪어온 것 같다.

그렇게 쭉 지내오다 지금은
어떻게 보면 만족할 수도 있고
그렇지 않을 수도 있는 시간을 보내고 있다.

만족할 만한 것들은
안정 적인 나의 위치 및 인간 관계
향후 1년 간 별 탈 없이 보낼 수 있는 프로젝트 스케줄
이변이 없는한 인상될 나의 연봉 정도가 되지 않을까 싶다.

만족하지 못하는 건
내가 하려는 것과 항상 충돌하는 이 거지같은 업무 환경
아무것도 안하고 넋 놓고 있으면 1년 허비할 거 같은 프로젝트 스케줄
내가 해 놓은 성과 대비 형편없는 부서의 대우
이제는 자신 있기도 하지만 더 이상 하고 싶지 않은 내 개발 플랫폼 에서의 개발 스킬 이다.

쓰고 보니 불만이 더 많은 것 같다.

이젠 도전해야 할 때가 온게 아닌가 싶다.
다른 개발을 할 때가 말이다.