2011년 2월 8일(화)의 일기



9:00 출근준비.


조금은 늦은 시간인 9시에 일어났다. 원래는 9시까지 출근이지만 야근자에게 주어지는 특권(?)인 지연 출근 제도가 있기 때문에 오늘은 11시까지 나름 여유롭게 출근할 수 있다. 매일 야근하고 칼같이 출근하는 대다수의 동종업계 친구들을 보면 정말 나이스한 일이다.

어제는 밤 11시정도까지 급한 요구사항 처리를 하느라 야근을 했다. 연휴가 끝난 후라 역시 일이 많을거라고 예상은 했다. 보통 개발자라면 낯설지 않은 일이다. 그래도 미리 작성해둔 테스트 코드 덕분에 오늘 QA팀에게 정식으로 받게 될 테스트는 무리 없이 통과할 것 같다.

 

정말 나는 깔끔한 사람이다. 이렇게 깨끗한 기숙사라니...!


회사 기숙사에서 살기 때문에 회사까지 출퇴근 시간은 매우 짧다. 일어나서 대충 씻고, 옷 입고 출근을 한다. 출퇴근거리가 가까워(그렇다고 합리화중이다) 외모는 별로 꾸미지 않는다. 아… 이래서 개발자 같다는 소리를 많이 듣는 건가…;; 뭐 그래도 괜찮다. 난 개발자니까… (슬픈데? ㅠㅠ)
 


10:40 출근완료.


회사다...내가 다니는 회사


'이스트소프트'에 오기 전에 다른 회사에서 1년 넘게 개발자로 일하다가  여기 와서 2년 정도가 되어가고 있으니 난 소위말해 3년차 개발자다. 완전한 신입도 아니고, 그렇다고 팀장급도 아닌... 아직도 배울것은 많고 해야할게 많은 사람이다. 여튼 회사가 마음에 드는 점은 사장님도 개발자 출신이고 임원진들도 다 개발자 출신 분들이라 개발자들에 대한 배려가 좋다는 것이다. 컴퓨터 사양도 쿼드코어 CPU를 사용할 정도로 매우 좋은 편이다.


 

14인치 모니터일때는 정말 몰랐다. 모니터를 3대쓰는 사람도 있는데... 난 그냥 듀얼로...


모니터는 역시 22인치!! 거기에 복장도 프리 …개발자들이 업무를 하는 환경은 이전 회사와 비교했을 때 훨씬 괜찮은 것 같다.

11시까지 출근이지만 조금 일찍 나왔다. 카페테리아에서 가져온 빵 조각을 입에 물고 커피를 든 채로 내 자리로 간다. 어제 야식으로 먹다가 남겼던 마지막 피자 한 조각이 눈앞에 아른거린다... 그냥 다 먹을걸!


11:00 (오늘은 짧은) 오전 업무 시작.


내 친구..소희...는 아니고 비주얼스튜디오...;;


어제 밤새 돌려놓은 테스트 PC에서 결과를 받아본다. 다행히 잘 통과했다. 그리고는 나의 친구이자, 동반자인 ‘비주얼 스튜디오’를 실행시킨다. 지금까지도 그랬고 이후에도 내 인생에서 앞으로 생길(꼭 생길거다…) 여자친구보다 더 오랜 시간 함께할 녀석…  이젠 좀 지겹기도 하지만

1) 그래도 반갑다 친구야…
2) 가끔 버전업이 될 때마다 나름 신선한 재미가 있다. 
3) 그래서 요즘은 이클립스에서 Python도 해보고 있다.



소심하게 찍어봤다


내가 속해있는 팀은 ‘알약커널개발팀’이다. 다양한 개발 분야가 있지만 그 중에서 운영체제의 커널 레벨 프로그래밍을 담당하는 곳이다. 조금 더 내가 하는 일을 말해보자면, 알약의 실시간 감시와 방화벽 개발을 한다고 할 수 있다.


물론 직업병인지 모르겠으나... 가끔 McCafe를 McAfee로 착각하는 경우도 있긴 하다



오전에는 어제 작업 메모를 보면서 무엇을 어디까지 했는지, 그리고 오늘 해야 할 일은 무엇인지를 정리해둔다. 개발이라는것이 딱딱 떨어지는 그런 것이 없기 때문에 업무량과 하루하루의 목표치를 정하고 달성하는 것이 참 중요한 것 같다. 예전에는 개발은 ‘건축’을 하는 것으로 생각했었는데, 요즘에는 건축이 아니라 하나의 ‘생물’을 키우는 것 같은 느낌이랄까?

대략 오늘의 업무 목표를 생각하고, 참고할 수 있거나 즉시 사용이 가능한 소스 코드가 있는지를 확인해본다. 우리 회사는 하나의 제품을 완성해서 패키지화 하기 때문에 장기간에 걸쳐 손질된 많은 라이브러리들이 있는데, 이럴 때 도움이 많이 된다.



11:50 점심시간.


물론 이런 점심은 아니다. 이건 지난 종무식때 사진...;;;

 
점심시간이다.
회사에 사람들이 많다 보니, 당연히 여자직원들도 많기는 하다. 많은 여성분들이 나와 같이 밥을 먹기를 원하겠지만...그래도 왠지 밥은 남자들끼리 빨리먹는것이 정석인 느낌… (이것은 결코 내가 인기가 없다거나 하는 것에 대한 핑계는 아니다…아마도…)

11시 50분에 정확히 시작하는 점심시간은 12시 20분이면 거의 완료된다. 밥 먹으러 가는 시간 5분, 밥 나오는 시간 5분, 먹는 시간 10분, 돌아오는 시간 10분이면 충분할 듯… 항상 밥을 빨리 먹다보니 점심시간은 좀 여유롭다. 게임존에 가서 레이싱게임의 최고봉 그란투리스모를 신나게 한번 밟아주고 다시 자리로 돌아온다.

점심시간..게임존에서 쉬는 사람들도 있고, 게임하는 사람도 있고, 탁구치는 사람들도 있고... 다양하다



12:50 오후 업무 시작.


오후 일과는 그야말로 코딩의 연속!

이라고는 했지만, 실제로는 설계 혹은 디자인 측면에서 고민하는 시간도 만만치 않다. 현대의 소프트웨어 개발은 복잡도와의 싸움이라는 말이 있다. 작업이 계속될수록 코드 베이스가 커진다. 코드는 점점 이해하기 어려워지고 비대해져 간다. 이럴수록 지속적으로 추상화 레벨을 높여 전체 로직을 이해하는 데 필요 없는 정보는 숨기고, 리팩토링을 통해 조금씩 커져가는 클래스와 메소드를 분리하여 이해하기 쉽고 변경에 유연한 코드로 만들어야 한다. 이게 개발자의 일이고 현재까지 내 경험상 뼈저리게 느끼고 있는 점이다.

소문에는 회의 중에 뭘 적더니 바로 코딩해서 나왔다는 그런 전설의 개발자들도 있다고 하는데, 그런 사람 있으면 정말 한번 만나보고 싶다. 어떻게 그렇게 할 수 있는지를…(부러우면...지는거다...)

암튼 지금하는 업무를 좀 써보자면... (써달라고 해서 쓰는데, 개발자분들이 아니시면 패스하셔도 됩니다) 

지금 하고 있는 업무는 기존에 작성된 모듈을 개량하는 것이다. 기존 코드는 오래 전에 작성된 것이라 현재 버전에 맞게 수정될 필요가 있었다. 특정 목적에 맞게 작성되었는데 다른 곳에서 사용을 할 수 없다는 문제가 있다. 또 기존에 사용하고 있던 API 대신 우리가 작성한 라이브러리를 호출하도록 변경할 필요가 있다.

코드를 들여다 본 결과 여러 가지 문제가 있었다. 가장 큰 문제는 가독성이었다. 매직 넘버와 중복된 코드가 섞여 있어서 코드의 흐름을 따라가는데 어려움이 있었다. 두 번째 문제는 앞의 문제 때문에 발생된 것으로, 코드의 의도 파악이 힘들다는 점이었다. 세 번째 문제는 가용성이었다. 이 코드를 사용하기 위해서는 내부 구조에 대한 지식이 있어야만 했다. 그 외에도 LSP(Liskov Substitution Principle) 위반, 예외 처리의 문제 등이 보였다. 이렇게 보면 문제가 많은 코드를 만든 것 같지만, 실제로 작성하는 사람에게는 다 눈물없이는 들을 수 없는 사연들이 있는 법이다.

이 문제를 한번에 해결하려고 했다간 야근야근 열매를 섭취할수도 있기 때문에, 먼저 매직 넘버를 상수 변수로 치환하고 중복된 코드를 조금씩 제거하기 시작했다. 어느 정도 코드의 흐름이 보이기 시작했다. 그 다음은 의도 파악이다. 코드가 무슨 일을 하는지는 그냥 보면 알 수 있지만, 그 의도를 알 수 없으면 코드를 이해할 수 없다. 작성자에게 코드를 작성한 배경과 의도를 물어보아 메모해두었다.

다음으로 LSP 위반을 처리했다. 자식 클래스가 부모 클래스의 멤버 변수와 메소드에 접근하기 위해 상속을 한 것으로 보였다. 두 클래스를 뜯어내다 보니 어떻게 바꿔야 할지 난감했다. 결론적으로 Has-A 관계인 것으로 보였다. 나중에 다시 조립하기로 하고 일단 분리 작업을 완료했다.

작업을 진행하면서 중간 중간에 보이는 API들은 미리 작성된 라이브러리로 치환하거나 Indirection으로 호출되도록 수정했다. 이렇게 하면 API와의 종속성이 끊어져서 자동화된 테스트가 가능해진다. 말은 쉽지만 리팩토링에서 가장 어려운 것이 바로 종속성 끊기가 아닌가 싶다. 중간중간 가독성을 증가시키기 위해 이름 변경을 자잘히 했다.

마지막으로 가독성과 가용성을 증가시키기 위해서 몇 가지 메타포를 생각해냈다. 로우 레벨의 구현을 모두 감추고 추상화된 클래스들을 만들고, 객체들이 서로에게 메시지를 전달하는 형태로 바꾸었다.





17:00 간식타임과 함께하는 팀스터디.


오후 5시가 되면 모든 이스트소프트 사람들이 즐겨찾는 간식타임이다. ('모든'은 아니겠구나...다이어트 하는 사람도 있고, 저녁에 약속있는 사람도 있다고 하니...) 이 시간에는 주로 소시지와 김밥을 하나씩 들고 옹기종기 모여서 팀미팅이나 짧은 스터디등을 진행하기도 한다. 아...그렇다고 뭐 그렇게 형식적이거나 아카데미컬한건 아니고, 그냥 간식을 먹으면서 이런저런 이야기들을 많이 나눈다.

신입사원의 경우에는 팀원들과 좀 더 친하게 될 수 있는 기회이기도 하고, 막히는 부분에 있어서도 이것저것 물어보기도 하고... 팀시피릿!을 강화한다고 해야할까?



18:30 슬슬 퇴근준비.


해가지면...어서 나가고 싶다...


간식타임이 끝나면 다시 자리에 와서 업무가 있으면 업무를 하고, 거의 업무가 끝났으면 정리를 한다. (오늘은 일찍가기로 마음먹었어!!)

나의 경우 퇴근을 앞두고는 어디까지 했었는지 나만의 체크리스트를 항상 만든다. 그래야 내일 출근해서도 바로 이어서 할 수 있을 테니까… 물론 하루 차이는 별 문제 없을지도 모르지만 주말끼거나 이번 연휴와 같이 오랫만에 출근하면 잊어버릴 때가 많다. (나만 그런가…)

체크리스트를 만들고 업무를 정리하면서 서서히 퇴근을 준비하는 모드로 변경한다.
오늘은 일찍 간다. 주초부터 연속으로 야근을 하게 되면 오히려 작업 능률이 떨어지기 마련이다.
많은 사람들이 궁금해하는게 이 부분인 것 같다. 매번 주위에서 물어보거든...

"이스트소프트는 야근 많아요?"

이럴때 뭐라고 답해야할지 참 난감한데, 개인적인 느낌상 주변에 동종업계에 있는 친구들과 비교해보면 우리 회사는 야근이 그리 많은것 같지는 않다. 매일 밤샘코딩하는애들을 보면...;; 그리고 늦게 까지 야근하면 다음날 늦게 출근이 가능하니... 이 부분은 회사정책상 '능률성과 생산성'을 중요시하기에 좋은 점 같다.

암튼 이번 주 금요일에는 전사적으로 진행하는 ‘개발자세미나’에서 ‘리팩토링’을 주제로 발제를 해야하기에 그 내용도 좀 준비를 해야하고… 오늘은 늦게 출근해서 일찍 퇴근하니 하루가 무지하게 짧아보이네... 다음에 언제한번 야근할때 엄청나게 긴 하루일과를 써보고 싶다.

물론 집에 일찍 간다고 해서 데이트가 있지는 않다…
여자 친구 따위…
개발자세미나 자료 좀 준비하다가 '드림하이'나 봐야겠다…
어제...수지가 택연이와 뽀뽀하는 장면을 보고 눈물흘리는 삼동이의 마음이 나와 같았다고 해야할까...;; 흑;;
퇴근퇴근...

ps..물론 난 기숙사에 와서 개발자세미나 준비는 커녕...써달라고 요청받은 이 일기를 쓰느라 시간 다보냈다...;;; -_-


- written by JC

Posted by ESTsoft

댓글을 달아 주세요

  1. 이전 댓글 더보기
  2. 제너시스템즈 2011.02.10 11:20 신고 Address Modify/Delete Reply

    ;ㅅ; 많은 개발자분들의 일상을 보는 것 같네요. 허허허~ 삼동이의 마음을 느끼며 다들 오늘도 키보드 자판이 부서져라 코딩을 짜고있겠지요 허허허~

  3. 아우크소 2011.02.10 11:21 신고 Address Modify/Delete Reply

    기숙사 TV다이 아래 서랍이 삐뚤어졌음 ㅋㅋ
    저도 한때 그런 생활을 한적있는데 공감합니다요 ㅎ

  4. crownw 2011.02.10 13:27 신고 Address Modify/Delete Reply

    멋지다 대우도 잘해주고 즐거운 회사생활이겠다 *_* 안연구소 뺨치네

  5. 이름없는꽃 2011.02.10 14:31 신고 Address Modify/Delete Reply

    저 기숙사요 1인실인가요 아님 누구와 함께 동거 중이신건가요.
    아 깔끔하니 좋네. 바닥도 직접 까신건 아니겠죠?
    요새 혼자 살고싶어서 방에 관심이 많아서 -. .-;;헤헤

  6. AAKG 2011.02.10 15:31 신고 Address Modify/Delete Reply

    와우 ㅋㅋㅋ 재밌네요 개발자의 일상.... 지루하기 짝이 없군요ㅎㅎ;;(죄송합니다;;__;; )
    뭐... 일상은 어느누구나 지루하기 짝이 없기 마련이죠
    개발자의 휴가는 보통 어떤가요? ㅎㅎㅎ 판타스틱하겠죠?
    혼자살고 엮여있질 않으니 굉장히 자유로운 라이프겠네요
    잘읽었습니다.

    • ESTsoft 2011.02.10 15:50 신고 Address Modify/Delete

      흠흠 감사합니다~ ㅋ '개발자의 휴가'는 뭐 똑같지 않을까요? 어차피 같은 사람이니...하핫

  7. Zorro 2011.02.10 19:02 신고 Address Modify/Delete Reply

    좋아보입니다...
    이스트소프트 매력적인 회사네요^^

  8. 꼬마낙타 2011.02.10 20:35 신고 Address Modify/Delete Reply

    집 근처에 사진이네요 ㅎㅎ
    웬지 저의 얼마후의 모습을 보는 듯한 ㅜㅜ

    • ESTsoft 2011.02.11 08:32 신고 Address Modify/Delete

      엇! 티스토리 우수블로거 꼬마낙타님이 맞나 했는데!! 역시 맞으시군요!! 방문감사드립니다! 서울대입구역 근처에 거주 하시는군요~ 지나가다 들르시면 제가 점심이라도 대접을!

  9. 응믕믕 2011.02.11 01:34 신고 Address Modify/Delete Reply

    ㅋㅋ 구글크롬용 알툴바는 계획 없는건가요?ㅋㅋ

    이거 찾다가 여기까지왔네요.,.

    수고하세여~

  10. danny 2011.02.11 10:55 신고 Address Modify/Delete Reply

    assist x 에만 의존하지 마시고 이클립스 C버젼도 병행해 보세요.
    동일소스가지고 여러툴을 써보면 감회가 새롭죠.

    가독성에 관해선 이클립스쪽이 유용한게 많슴당.

    • JC 2011.02.14 08:49 신고 Address Modify/Delete

      위에 글 쓴 JC입니다. 이클립스 C버전은 써보질 않아서 잘모르겠습니다. 한번 도전해봐야겠네요^^ Visual studio도 C++가 C#정도만 지원되면 참 좋을텐데...;; 말씀대로 이클립스쪽도 좀 더 연구해봐야겠군요. 감사합니다^^

  11. 라이노 2011.02.12 16:55 신고 Address Modify/Delete Reply

    시간대별로 정리가 잘되어서 개발자가 어떤 생활하는지 간접경험이 되는거 같네요..ㅋㅋ
    다른 분들의 일기도 보고싶어요. 올려주세요

    • ESTsoft 2011.02.14 08:34 신고 Address Modify/Delete

      음...다른 개발자분들의 일기도 받아보도록 하겠습니다...흠흠... 이 기회에 괜찮으면 시리즈로 나아볼까도 고민중이에요.ㅋ

  12. 주원앓이 2011.02.16 09:58 신고 Address Modify/Delete Reply

    드림하이나봐야지 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ슬퍼요 ㅠㅠ

  13. ~_~ 2011.02.24 06:50 신고 Address Modify/Delete Reply

    좋겟다...

  14. 남시언 2011.03.17 12:24 신고 Address Modify/Delete Reply

    재미잇네요 ^^ 잘 보고 갑니다 ㅎㅎㅎ

    • ESTsoft 2011.03.17 12:57 신고 Address Modify/Delete

      헛...블로그갔다가...자작곡들어봤습니다!!! 너...너무 멋지신데요!!!! 저도 개인적으로는 기타를 치는데...반갑습니다!! 와우~

  15. メールの質?メールの量? 2011.06.02 14:07 신고 Address Modify/Delete Reply

    한 컴퓨터공학적 지식과 창의성, 문제해결능력이 요구됩니다.

  16. 웹개발2년째 2011.07.12 12:10 신고 Address Modify/Delete Reply

    나는 개발자일까? 빨리 찍어내는 위주의!그리고 짧은 일정에 따른! 그렇다고 현실과 와닿는 보수도 아니고!어허허..점점 멀어지는 느낌이 드네욤. 이것이 정녕 개발이 맞나.. 어쩌다 자바계열로 공부하다가 와보니 웹개발.. 부럽습니다.ㅠ.ㅠ 전직고려는하나..받아줄련지 에효 ㅎㅎ

  17. 체리파플 2012.02.22 12:38 신고 Address Modify/Delete Reply

    어?? 저도 그 회사 취직하고 싶네요 ㅋㅋ
    지금 자바DB취업반에 있는데 ㅠㅠ 넘 힘들어용~~
    저는 전문성이 있고 야근없고 5일만 딱 근무하는 일을 하고 싶었는데...
    어제 강사님으로부터 들은 이야기..
    월화수목금금금이라궁;;;;;;;;;;;;;;;;;;;;;;;
    헐;;;
    도와주세용!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    -_-
    취업반에서 나올수도 없고 이제 쭈~욱 7월까지 가야하는데..
    자바개념은 안잡히고 선생님이 내준 문제는 손을 댈 수조차 없고 교재예제보고 타이핑하고 개발에 개짜도 못할 거 같고 논리적인 사고 부족 알고리즘 수립 부족 상태
    저 어떠까죠 .... -_-

    님께서는 자바 처음에 어케 공부하셨어용 ??
    다음달에 JSP들어가고 프로젝트도 해야하는데 클랐어요...


    자바의 기초가 잡혔다는건 새로운문제를 해결할 때 확실할 수 있는 건가요 아님 배열이나 오버라이드 등등 그 런게 뭔지 타인한테 설명할 수 있음 되는건가용


    • 지나가는 행인 2012.02.22 16:31 신고 Address Modify/Delete

      기초가 잡혔다는 것은
      그 내용을 완벽하게 이해하고

      어떤 상황에서 사용하는지 알고 있는 정도?

    • ESTsoft 2012.02.23 09:29 신고 Address Modify/Delete

      체리피플님 제가 안타깝게도 프로그래머가 아니라 자바를 몰라요. 자바 커피? ㅠㅠ 저희 회사 인사팀에서 관련해서 기초수준을 어디까지 테스트하는지, 그 기초수준이라는 것이 어느 수준인지 친절히 답변 주실거에요. ^^
      중요한 일인만큼 보다 확실한 대답 드릴 수 있는 인사팀으로 문의 부탁드릴께요. ^^

  18. 에쥐 2012.02.28 00:19 신고 Address Modify/Delete Reply

    와... 완전 볼때마다 제가원하는 회사ㅠ
    나를알고 적을알아야백전백승이라고 항상 블로그에 들러서 구경해요ㅎㅎ
    블로그 관리하시는분을 항상 제가 귀찮게 해드리네요ㅎㅎ 아마 관리자분은 에쥐에 에자만 들으셔도 짜증나시겠지요?ㅎㅎ
    그래도 양해 부탁드려요ㅎㅎ 이스트소프트는 제가 정말로정말로 원하는 그런 회사이니까요^^
    진짜루 꼭 출중한실력을갖춰 나중에 꼭 면접보러갈게요ㅎㅎ

    • ESTsoft 2012.02.28 09:45 신고 Address Modify/Delete

      에쥐님 꼭 면접보러 오시면, 면접후에 블로그 운영하시는분 누구냐고 인사팀분께 말씀해주세요. 제가 진짜 진심으로 커피 한 잔 살께요. 에쥐님 덕분에 저도 힘나고 더 오고싶은 회사가 될 수 있게 글 쓰고 싶어지는것 같아요. 진심으로 꼭 찾아주세요. ^^

  19. how to make indian dal 2012.04.05 17:44 신고 Address Modify/Delete Reply

    나를알고 적을알아야백전백승이라고 항상 블로그에 들러서 구경해요ㅎㅎ

  20. 관신 2012.08.22 22:58 신고 Address Modify/Delete Reply

    멋잇으시네요..저도컴퓨터에완전관심많은데 ㅜㅜ입사조건이뭔가용..

    • ESTsoft 2012.08.23 09:10 신고 Address Modify/Delete

      관신님, 현재 이스트소프트에서는 다양한 분야의 개발자를 채용중이에요. http://www.estsoft.co.kr/ 의 '채용공고'에서 지원자격을 참조해 주세요! 감사합니다.

  21. The SImPle 2013.05.20 00:39 신고 Address Modify/Delete Reply

    잘 읽었습니다! 개발자 지망생으로써 개발자의 삶이 어떤지 알 수 있을것 같네요 ㅎㅎ (절대 쉽지많은 않지만, 그렇다고 겁내지는 않아도되는?^^)
    자바를 위주로 하시는것 같은데... 안드로이드용 알약을 만드시거나 그러시는것은 아니죠..?ㅎㅎ

    • The SImPle 2013.05.20 00:40 신고 Address Modify/Delete

      안드로이드 개발자를 생각하고 있는데.. 알약과 같은 백신 개발자는 어떠한 언어나 기술로 살아가는지가 궁금했습니다~~!

이전 1 ··· 156 157 158 159 160 161 162 163 164 ··· 175 다음

Back To Top