모바일 오유 바로가기
http://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 오유인페이지
    개인차단 상태
    님의
    개인페이지입니다
    [탈퇴한 회원입니다]
    가입 :
    방문 :
    닉네임변경 이력
    회원차단
    회원차단해제
    게시물ID : it_7252
    작성자 : iT개발자
    추천 : 5
    조회수 : 2179
    IP : 182.172.***.147
    댓글 : 4개
    등록시간 : 2021/04/20 15:16:41
    http://todayhumor.com/?it_7252 모바일
    3개월 개발기간 중, 2개월을 코딩 한 줄 안하다
    옵션
    • 창작글

    스스로 '각성'이라고 생각하는 경험담입니다.

     

    ==========================================================================================

     

       3개월 개발기간 중, 2개월을 코딩 한 줄 안하다



    핸드폰 소프트웨어 개발자에서 차량관련 업무를 해보고 싶어서, 기회가 생겼습니다.


    차량 관련 업무를 시작할때 처음 난관은, CAN 이라는 통신 프로토콜을 이해하는 것이었습니다.

    다행이 상황이 나쁘지 않아서, 영어로 된 원문까지 필요한 부분을 알려주셨고 이해하게 되었습니다.

    당시 기술이사님은 '웹사이트의 지식은 정확하지 않다'라는 신념을 가지신 분이었고, 웹사이트를 보면 야단을 치셨습니다.

    저도 CAN을 인터넷으로 공부하고 있었는데, 다른 직원 분이 인터넷 보면 혼난다며 만류하셨습니다.

    전 이건 괜찮다고 하였고, 이건 박사님들이 감수하신 논문이라 신뢰 할 수 있는 것이라고 답변을 주었습니다.

    기술이사님은 신뢰하지 못하는 것이니 잘못 이해할 것을 걱정하신거였지, 논문은 신뢰할 수 있으니 보아도 문제가 안됩니다.


    안된다가 아니라, 왜 안되는 지를 파악하여, 피해가는 답을 찾으면 되는 거죠.

    당시 기술이사님의 잔소리가 무서워서, 사고가 경직 되신 것 같습니다.

    기술이사님이 엄하신 분이였으나, 이유없는 공격을 하시지는 않았습니다.

    기술 수준이 높으셔서, 요구치가 높기는 했습니다.


    팁을 알려드리면, 인터넷으로 국회도서관을 검색하시면, 무료로 볼 수 있는 논문들이 많이 있습니다.

    논문의 절반은 현재 상황에 대한 설명, 즉 기초이론이 나오며, 이것을 공부하면 편할 때가 많습니다.

    박사논문은 어렵지만, 석사 또는 학사 논문중에 보고 공부할 만한 것들이 많으니, 필요하실 때 보시면 됩니다.

    저는 학사학위자이지만, 논문은 웬만한 석사님들 보다 많이 읽었을 겁니다.

    석사신 분들은 졸업후에 논문을 보지 않으시지만, 전 필요 할때 마다 자주 보았습니다.

    CAN 통신을 이해하기 위해서 한 달 정도 걸렸고, 회사에서 준 소중한 기회였습니다.

    모든 디테일한 프로토콜을 다 아는 것은 불가능합니다.

    평생 CAN 통신을 하신 분들도 다 이해하지 못 하며, 기본적인 흐름을 파악했느냐가 중요합니다.

    디테일은 필요할 때마다 채워나가야 하는 것이며, 모두 다 알고 업무를 하겠다는 사람은 업무하지 않겠다고 말하는 겁니다.

    이후 자동차 분야에서 오래 일하신 분들도 CAN통신을 이해를 못하고 있는 것을 많이 느꼈으며, 제가 설명을 해드린 적도 종종 있습니다.

    물론 실무적으로는 경험을 따라 갈 수 없지만, 이론은 다를 뿐입니다.


    BCM(Bod controller Module) 개발 업무를 맡게 되었는데, 자동차 분야에서는 난이도가 높고 복잡다고 생각하는 분야입니다.

    BCU라고도 합니다. 모듈과 유닛의 차이일 뿐입니다.

    BCM은 컴퓨터로 이야기 하면, 메인보드와 비슷합니다.

    CPU를 메모리, SDD, USB등 다른 주변기기와 독립적으로 만드려면, 중간에 중개를 해주는 장치가 필요한데, 그 역할을 메인보드가 합니다.

    자동차에서 엔진이 중요한 파트이며, 다른 주변 장치의 영향이 없게 독립적으로 만들기 위해서 BCM을 사용합니다.

    BCM의 역할이 다양하지만, 중요한 포인트는 엔진의 정보를 공유해주는 매개체라고 할 수 있습니다.

    엔진의 상태가 중요한 이유는 전원과 관련이 있습니다.

    자동차가 시동중이면, 전류를 소모해도 크게 문제가 되지 않지만, 시동이 꺼지면 다른 기기들은 전원 OFF 또는 sleep 상태로 들어가야합니다.

    만약 이런 동작이 원할하게 이루어지지 않으면, 자동차를 방전이 됩니다.

    고객 불만의 가장 큰 원인 중 하나가 될겁니다.

    실제적으로는 이것 외에도 주유량 체크, 주행거리 계산등 많은 기능이 있습니다.


    3개월 안에 실질적으로 개발 완료를 하라는 일정을 받았습니다.

    당시 좀 난처했던것이, 기존 인력과 공동작업이 아닌 단독 개발을 시켰습니다.

    차량 소프트웨어 처음하는 사람에게, 어려운 분야라고 겁주더니, 혼자 개발하라고 해서, 팀장님께 항의도 했습니다.

    '항의 한다고 바뀔것이 없다'는 것은 직장인 분이라면 다 아실 겁니다.


    핸드폰 개발하던 사람들은 일을 못한다는 말을, 눈을 마주치며 하시는 분도 있었기에 자존심 문제도 걸려서, 죽기살기로 해 볼 생각이었습니다.

    회의 시간에 "할 수있냐 없냐?"로 계속 압박이 되었고, 결국 '에라 모르겠다 해보자'가 되었습니다.

    "언제까지 하면 됩니까?"

    "그 때 보시죠."

    이렇게 저의 두 마디의 말로 시작이 되었습니다.

    차량관련 프로그램 하던 사람도 아니고, 입사한지 얼마 되지 도 못한 사람 하나 두고 '협력하여 어떻게 할까'가 아니라, 압박만 하는 회의 ....


    내가 모르는 것 부터 확인 했습니다.

    개발 사양을 이해하는데 2주가 걸렸습니다.

    외국인 개발자가 와서 같이 한줄 한줄 읽어보며, 협의 하였고, 여러 번 읽어 보며 거의 암기할 수준까지 반복 하여 이해하였습니다.

    하드웨어 부품이 핸드폰용하고 다르기 때문에, 부품데이터 시트와 칩 데이타 시트를 확인하고, 하드웨어 이해를 하는데 2주정도 시간이 걸렸습니다.

    많이 걸렸다고 생각하시는 분도 있으시겠지만, 메인 칩 데이터 시트만 보통 수백 페이지가 되고, 각 부품데이시트 다 확인하고 이해하는데 걸린 시간이면 빠른 편입니다.

    이제 소프트웨어 개발에 필요한 것을 확인 시작 했습니다.

    접해보지 않은 임베디드 OS를 사용하고 있어서, OS 관련 확인하고, 이전에 개발한 프로그램 분석을 하는데, 2주를 보냈습니다.

    마지막으로 현재까지 확인 한 것들로 소프트웨어를 어떻게 만들지 2주정도 고민했습니다.

    여기 까지에 대략 8주, 즉 2달이 지났습니다.

    당연히 코딩한 줄 안하며, 준비만 한 겁니다.

    2주간은 무식하게 코딩만 했습니다.

    하드웨어에 맞추어서 필요한 전체 소프트웨어를 구성을 한 후에, 메인 기능을 개발 하였습니다.

    나머지 2주는 테스트 장비와 물려서, 동작 테스트를 하였습니다.

    제가 쓰고 나서도 이해되지 않는 속도이긴 한데, 사실입니다.

    독기로 업무를 한 것이며, 정상상태는 아니었습니다.

    3개월 개발기간에, 저의 체중이 8Kg이 빠졌습니다.

    아침식사를 하는 편이라, 하루 3끼를 모두 먹었으며, 잠은 6시간 이상씩은 꾸준히 자며, 규칙적으로 업무만 하는 상황이었습니다.

    업무 스트레스로 인한 것으로 3개월에 8Kg의 체중 변화를 보인 겁니다.

    저는 스트레스 받으면, 체중이 증가하는 체질이라고 생각하고 있는데, 저도 극심하게 스트레스 받으면 빠진다는 것을 확인하였습니다.


    월요일 개발 회의에 들어가기전에, 미리 시연 준비를 해두었습니다.

    회의시간에, 개발완료 된 것과 개발되었으나 테스트 되지 않은 것 그리고 개발되지 않은 부분을 구분하여 브리핑하였습니다.

    실제로 개발은 거의 완료 된것으로 말씀드렸고, 경험 부족과 장비 부족으로 테스트 되지 않은 것들이 좀 있었습니다.

    브리핑후 반응이 재밌었습니다.

    "너 거짓말 하지마."라고 하드웨어 팀장님께서 말씀 하셨습니다.

    시연 준비를 해두었기 때문에, 말로 할 필요도 없어서, 저도 받아쳤습니다.

    "안되는 거 보셨나요? 되는 건 보셨나요? 시연 보시러 같이 가시죠."

    당시 개발 총책임자이신 임원분과 하드웨어팀, 검증팀 분들을 모시고 시연을 진행하였습니다.

    '잘했다'나 '수고했다'라는 반응이 아니라, 이게 왜 동작하지 라고 고개를 갸우뚱 거리는 분들이 많았습니다.

    개발 총책임자이신 임원분이 "다음에 무얼 할 것이냐?"라고 물어보셨습니다.

    "제가 자동차는 처음이라, 검증팀에서 검증을 해서 주셨으면 합니다."라고 답변드렸습니다.

    검증팀 답변이 재밌었으며, 저도 처음 들어 본 말이 나왔습니다.

    "왜 이렇게 빨리 개발 했습니까?"

    "저는 일정 대로 개발한 것 뿐입니다."라고 답변을 주었습니다.

    검증 준비에 필요한 시간이 1개월이 필요하다는 답변을 받았습니다.

    기간 내에 못 할 줄을 알고,  준비를 안해 둔것이죠.

    못 할것 같으면, 일정을 조율해 주셔야지, 못 할 것 같다고 준비도 안해 두셨답니다.



    이후에 일어난 일입니다.

    CAN 관련 업무는 외국에서 담당하였는데, 관련 버그를 수정해야니 개발 중인 프로그램을 보내라고 요청이 왔습니다.

    "CAN 버그 확인해서 수정 했습니다."라고 회의 시간에 말씀드렸는데, 혼났습니다.

    "니가 CAN을 어떻게 알아!!"

    "일단 보내는 드리겠습니다."라고 답변을 드렸고, 버그 수정한 어떠한 것도 받지 못했습니다.

    이미 수정이 된 것이 맞았으니까요.

    앞에 개발기간 3개월 중 후반에, CAN 테스트도 가능해서 테스트를 하였는데, 정상적인 동작이 안 되는 것을 확인 했었습니다.

    오동작 원인이, 변경된 CAN 정보가 적용이 되지 않았다는 것을 확인하여 수정 하였습니다.

    이 수정에 1주일 정도는 걸렸던 것으로 기억합니다.


    이 회사를 퇴직할 때, 제 스스로 이렇게 말했습니다. 

    "내가 원하는 개발 수준에 이제야 도달을 했다."

    "소프트웨어로 되어 있으면, 내가 못 할 것은 없다. 이제는 내가 할지, 안할지만 결정하는 문제다."

    "앞으로 내가 무엇을 계속 할지, 결정만 하면 된다."


    이 이야기는, 자동차 분야를 아시는 분들은 거짓말이라고 하시는 경우를 많이 봅니다.

    그러나 개인 개발도 아니고, 회사 업무로 진행 한 것이기 때문에, 거짓말을 할 수 없음을 밝힘니다.


    무협지에서 보면 주인공이 특별한 경험을 통하여 '각성'을 하게 되는데, 스스로 이때를 '각성'한 시기라고 생각합니다.

    이 시기를 거치지 않았으면, 기존 소프트웨어를 모두 지우고 혼자서 다시 개발하는 것은 불가능 했을 겁니다.

    어려운 일을 할때 저도 된다는 확신을 가지는 것은 아닙니다.

    '될것 같다'는 가능성에서 시작 할 뿐입니다.

    참고로 말씀드리면, 이후에 저도 못한다고 말하는 업무를 '할 수있다'는 분들을 많이 보았습니다.

    스스로 하지 않으신다는 특징이 공통점이라는 것을 알게 되었습니다.

     


    이 게시물을 추천한 분들의 목록입니다.
    [1] 2021/04/20 15:26:44  125.128.***.86  봄아  636602
    [2] 2021/04/20 16:11:57  162.158.***.77  말미잘  18013
    [3] 2021/04/20 17:39:40  118.235.***.194  임가좀비  379119
    [4] 2021/04/21 12:00:44  39.118.***.74  우가가  117629
    [5] 2021/04/21 17:51:42  125.132.***.4  렌드릿사  408373
    푸르딩딩:추천수 3이상 댓글은 배경색이 바뀝니다.
    (단,비공감수가 추천수의 1/3 초과시 해당없음)

    죄송합니다. 댓글 작성은 회원만 가능합니다.


    이 페이지는 이미 탈퇴하신 회원의 개인 페이지입니다.

    탈퇴한 회원의 게시물은 볼 수 없습니다.

    번호 제 목 이름 날짜 조회 추천