아이폰, 사실 프로젝트라고 하기에는 일한 단위가 한달로 적지만, 아이폰 개발자가 되기로 마음먹고 무려 3개월 백수생활 독학하고, 아이폰 개발자를 내걸고 시작한 첫번째 일이 끝났습니다.

첫번째 일이 아예 아이패드 일이었습니다. 기존 아이폰 어플을 아이패드 어플로 포팅하는데 특정 모듈을 담당했습니다. 이게 처음 설계부터 개발이 들어간게 아니고 일이 빵구가 나서 땜방으로 찾은 개발자가 저 였습니다. 그래서 번갯불에 콩구워먹듯 일하면서 많이 고생했습니다.

제가 아이폰 개발자로 전향한 몇가지 이유가 있습니다. 그래서 예를들면 '내가 아이폰 개발자로 전향한 이유'의 제목으로 제대로 포스팅하려고 했지만, 바쁘고 귀찮아서 미뤘습니다. 제가 아이폰 개발자로 전향한 가장 큰 이유는 이겁니다. '웹노가다 탈출~!'

정말이지 자바 좋아하고 열심히 공부했지만 자바 개발자하면 결국 웹프로젝트가 제일 많습니다. 저는 자바 서버나 프레임워크 개발자로 경력을 특화하려고 했지만, 결국엔 웹노가다질로 빠집니다. 가장 마지막 웹프로젝트에서는 신입때 짜던 조회/수정/삭제/등록 게시판을 만지작 거렸습니다. 제 생각에 자바 개발자로 특정 고급 분야로 특화하기란..정말 불가능하지 않나요?

요구사항 분석부터 개발까지 제대로 된 프로젝트는 아니었지만 어쨌든 첫번째 일을 끝나고 느낀점을 메모 적듯이 적어 봅니다.

- 빠듯한 일정속에 종종 '넘사벽'을 느끼곤 했다. 시간만 주어지면 왠만한 문제는 해결하는데 이건 도저히 해결기미가 안보이는 무거운 압박감이 나를 엄습했다. 그런데 '넘사벽'의 문턱을 경험했던 이슈는 기술적인 문제보다는 xcode 주변 환경 문제가 컸다. 딱부러지게 설명하기는 어려운데 xcode는 빌드/클린으로는 해결안되는 민감한 컴파일 환경특성을 타곤한다. 이게 알면은 문제 없는데 모른상태에서는 아무리해도 해결이 안되니깐 엄청나게 답답했다.

- 처음 아이폰 개발할때 오브젝티브C나 코코아API등의 기술적인것도 잘알아야 되지만 xcode사용법이나 애플 인증서, 프로파일 얻는 방법등의 주변환경에 대해서도 잘 알아는 것이 중요하다.

- 처음 약간의 굴욕도 받았다. 이런 기능을 구현해야 한다길래 API를 찾아보고 안될것 같다고 하니깐, 상대편 개발자가 이러이렇게 구현하면 된다고 조용히 그러나 전체 메일로..ㄷㄷㄷ.. 알려준적이 있다. 상대편 개발자는 나보다 어리고 총IT경력도 적은것 같지만 일을 나보다 잘한다. 나중에는 그 덕도 좀 보긴 했다.

- 아이폰하고 아이패드하고의 차이점이 거의 없다. 같은 오브젝티브시로 거의 똑같이 돌아간다. 다만 아이패드 XIB(UI VIEW)가 아이폰보다 월등히 커서 내 작은 노트북 화면을 가려.. 개발하기 약간 불편했다.

- 내가 좋아서 얻은게 아니고 일 때문에 아이패드를 만져보니 아이패드에 별로 정이 안갔다. 프로젝트 테스트말고는 아이패드 거의 손을 안댔다.

- 아이폰은 거의 누구나 써서 장비 테스트가 쉬운데 아이패드는 누구나 없고 당시 정식발매도 안되서 귀했다.

- xcode가 이클립스보다 훨씬 가볍고 빠르나 무언가 설명하기 힘든 환경특성을 많이 탄다. 내가 만진 모듈이 여러 라이브러리를 같이 컴파일 하느라 문제가 종종 발생했다. 그런데 한번 알면 그 상황에 대처할 수 있을 것 같다.

- 자바에서 아이폰개발자로 전향하는것보다 C개발자에서 아이폰개발자로 전향하는것이 좀 더 쉬운것은 사실이나, C개발자가 오브젝티브C에 익숙하기까지도 쉽지만은 않다고 그들이 말한다. 오히려 자바개발자라면 객체지향 개념에서 덕을 더 볼수도 있다.

- 나를 평균적인 실력을 가진 개발자라고 봤을때 아이폰개발자로 전향하는데 3개월 걸렸고(안드로이드등 다른 공부도 같이 했지만...), 지금 하나 일끝내고 생각하면 여기 진입장벽이 꽤 있는것 같다. 아니면 나만 좀 어려웠을수도 있다. 대신 진입장벽을 넘으면 개발하기가 웹노가다 보다는 훨씬 편하고 재미있다.

- 아이폰/아이패드 UI작업은 정말 웹노가다에 비하면 엄청 빨리 끝나고 간단하다.

일단 스쳐가는 생각을 적어봤고요. 사실 숨이 턱턱 막히는 '넘사벽'의 문턱을 종종 경험했는데 이 대부분이 xcode 컴파일 환경 특성 때문이었고..이걸 해결하면서 많은 경험 얻었네요. 그리고 Objective C나 API, xcode등에 익숙하기 까지 진입장벽이 좀 있는것 같은데..(저는 그랬습니다..;) 이 진입장벽을 넘으면,

웹노가다를 탈출했냐고 되물어본다면, 분명히 웹노가다를 탈출할수 있었습니다~! UI작업도 많이 했는데 웹노가다보다는 훨씬 빠르고 편하게 개발했습니다. 다 거기서 거기라고 꿈깨라는 말도 들었지만 틀릴수도 있습니다.

뭔가 비유를 한다면은.. 아이폰 개발을 하는것을 웹프로젝트에 비교한다면 '모든 웹프로젝트에서 무조건 스프링 프레임워크를 똑같이 쓰는것과 같다' 라고 표현할 수 있습니다. 사실 아이폰 개발환경이나 안드로이드나 스프링 처럼 견고한 프레임워크 위에서 개발하는것이죠~! 반드시 이런 좋은 프레임워크 위에서 개발해야 하니 표준성도 높고 개발생산성도 스파게티 웹프로젝트보다는 훨씬 좋습니다.

그래서 일단 웹노가다를 탈출해서 기쁩니다. 그런데 HTML5가 활성화되면 다시 웹노가다 해야 하나요...HTML5는 좀 프로그래밍스러울까..

개인 어플도 오픈해야 하는데 거의 다 만들어놓고 최적화 작업한다고 계속 미루고 있습니다. 좌우지간 좀 빡씬 첫번째 아이폰 일을 끝내니 후련합니다~!

[일 때문인지 별로 정이 안갔던 아이패드와, 새색시 흰둥이에서 후줄근하게 변한 맥북,
그러나 일이 끝날때쯤 슬슬 욕심이 나던 아이패드]


저작자 표시
신고
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by 산골
산골 블로그 소개 저는 하얀머리 개발자와 작가를 꿈꾸는 블로거 산골 입니다. 프로그램 개발자로서 저의 관심사는 개발자의 숨통을 트여준 아이폰 개발, 철학과 같은 깊이가 있는 객체지향 방법론입니다. 글쓰기와 수영을 좋아합니다. 블로그를 통해 관심사를 공유합니다. 제 블로그에 관심 있으시면 아래 RSS나 즐겨찾기로 편하게 구독하세요.

rss Bookmark and Share

댓글을 달아 주세요

  1. BlogIcon 이화영 2010.12.07 17:26 신고  댓글주소  수정/삭제  댓글쓰기

    수고 많으셨네요-

    아이폰에 비해
    아이패드는 애물단지같아요^^

  2. BlogIcon 아겔 2010.12.08 02:20 신고  댓글주소  수정/삭제  댓글쓰기

    웹개발이 병맛이 아니라 프로젝트SI, 고객사 헛소리 들어주기, 낮은 개발자, 관리자 수준 끌어올리면서 개발하기가 개떡같은거 같아요.

    예를 들어, 쾌적한 개발을 위해서 node.js으로 웹개발 한번 해볼까요 했을때 인력, 유지보수 뭐 그런소리 당연하다는듯이 말할듯. (백날하면서 제대로 뭔지도 모르면서 그냥 하던대로만 자바/스프링/ibatis 하는거나 처음하는 나름 깔끔하고 영역에 대한 정의가 딱 떨어지는 서버측 자바스크립트 하는거나 어느게 더 나을까요.)

    • BlogIcon 산골 2010.12.08 10:07 신고  댓글주소  수정/삭제

      이 댓글이 내가 아이폰개발자로 전향하는 이유를 대충
      정리한 내용이 되겠는데...

      저는 서버측자바스크립트든 스프링프레임워크든 다 좋은기술들이라 상관이 없습니다..문제는..

      웹프로젝트마다 다 쓰임새가 너무틀리다는겁니다. 같은 스프링이라도 사이트마다 다 구성이 틀리고 기술 조합도 너무 틀리고..

      어디는 플렉스+스프링, 어디는 에이젝스+스프링+아이바티스..사이트마다 너무 조합이 틀리고 더구나 액티브엑스라는 최악의 모듈까지 올라가버리면 개발자 쓰러짐..

      웹프로젝트는 자유도가 너무 좋고..이말은 표준성이 너무 낮은말이고요. 우리나라 웹은 기술이 성숙하기전에 마구잡이로 개발되어서 표준성이 너무 안좋다는게 문제고요.

      액티브엑스..조만간 액티브엑스 걷어내는 프로젝트가
      많이 뜰것 같은데 저는 이 프로젝트 있기전에 탈출한겁니다. 이런 액티브엑스 걷어내는 프로젝트 좀 고생하지 않을까 싶습니다.

      루비앤레일스 사상 공부하면서 표준성이 개발생산성에 되게 중요한 요소로 작용된다는것을 느꼈습니다.

      그리고 HTML 자체가 프로그래밍 성향보다는 도큐맨트 성향이라 원래 좀 노가다성인것 같고요.

      아이폰은 이 노가다성UI를 그림그리듯 해줍니다. 물론 아이폰개발도 문제는 있는데 어쨌든 웹보다는 낫습니다.

      스마트폰도 결국에는 HTML5로 갈수도 있겠지만, 그래도 이제는 기술과 기술자가 어느정도 성숙되었기 때문에 기존 웹프로젝트보다는 훨씬 개발생산성이 좋을것 같습니다.

      이런 여러가지 꿍꿍이 때문에 굳이 2~3개월 투자해서 이리로 전향했습니다. 자세한건 또 정리를...^ ^

    • BlogIcon 산골 2010.12.08 10:15 신고  댓글주소  수정/삭제

      그리고 또하나 위에도 썼지만,
      수퍼 자바 개발자가 아니고 평범한 자바 개발자가
      경력을 특화하기가 되게 어렵습니다.

      저는 자바 서버/프레임워크 개발자로 특화하고 싶었지만,
      어디는 디비위주 프로젝트 디비위주도 어디는 디비2고 어디는 오라클 잘해야하고, 저기는 웹앞단 유아이 중심이라 이 경력에 게시판이나 짜야하고, 요기는 웹로직이고 저기는 제이보스고..거기에다가 스프링 했다가 스트럿츠
      했다가 아이바티스 했다가 하이버네이트 했다가
      에이젝스 추가되었다가 마이플랫폼도 있네...
      여기는 플렉스네..으악..여기는 액티브엑스다...

      도무지 경력을 집중할수가 없었습니다.

    • BlogIcon 산골 2010.12.08 10:32 신고  댓글주소  수정/삭제

      하지만 아이폰 개발환경은?
      정말 모든 웹프로젝트에서 하나의 통일된 기술을 쓰는것과 좀 비슷합니다..
      안드로이드도 일종의 프레임워크로 잘 구성되어 있습니다.

  3. tack 2010.12.08 12:15 신고  댓글주소  수정/삭제  댓글쓰기

    일단 프로젝트 마무리 하신거 축하드립니다 ㅎㅎ
    iPad앱이라... 꽤 멋질거 같네요
    잠시 아이폰 몇가지 문제를 해결하러 투입된적 있는데 쓰다보니 XCode도 멋지더라구요

  4. BlogIcon 노프 2010.12.08 13:06 신고  댓글주소  수정/삭제  댓글쓰기

    글 잘 읽었습니다~
    전 야매로 웹디 + 웹프로그래밍 을 하다가..
    때려치고 자바 7개월 공부한뒤 바로 안드로이드에 뛰어들었습니다.
    첫번째 플젝 진행중이구요..
    SI의 세계가 그런 곳일 줄을 ㅎ ㄷ ㄷ
    SI로 가려다 사정상 안드로이드를 택했지만, 글 보고 나니 잘 한 선택인거 같네요 ㅎ

    xcode의 속도가 어느정도 인지 궁금하네요..
    이클립스는 덩치도 크고 빌드하는데 시간이 넘 오래걸려서 ㅜㅜ

    그나저나 기한이 내일인데 이러고 잇네요 ㅡㅜ

    • BlogIcon 산골 2010.12.11 16:11 신고  댓글주소  수정/삭제

      이클립스가 suv라면 xcode는 스포츠카..
      속도차이가 이정도..^ ^
      처음부터 안드로이드로 가시다니 정말 부럽습니당 ^ ^

  5. BlogIcon blueruin 2010.12.08 14:23 신고  댓글주소  수정/삭제  댓글쓰기

    헛, 전체 개발을 맥북에서만 진행하셨나봐요.
    전 eclipse 나 xcode 같은 IDE는 작은 모니터에서 보면 너무 답답해서 진도가 잘 안나가던데 멋지세요.

  6. BlogIcon 라딘 2010.12.10 08:49 신고  댓글주소  수정/삭제  댓글쓰기

    기회가 된다면 더 자세한 이야기를 듣고 싶네요. 비슷한 고민을 하다보니 뭔가 와닿는듯도 하구요^^

  7. BlogIcon 아도니스 2010.12.11 12:30 신고  댓글주소  수정/삭제  댓글쓰기

    즐거운 주말 되길 바랍니다.전 때늦은 점심을 먹을듯..^^

  8. BlogIcon 트렌드온 2010.12.12 05:01 신고  댓글주소  수정/삭제  댓글쓰기

    이제 대박 어플 하나 만드셔서

    돈방석에 앉게 되실 거 같은데요. ^^

  9. BlogIcon Magicboy 2010.12.16 09:39 신고  댓글주소  수정/삭제  댓글쓰기

    오~ 새로운 세계로 탐험을 떠나시는군요 ^^
    XCode.. . .. 요즘 좀 들여다보는데..뭐 이리 구질구질하답니까 ㅜㅜ..
    (전.. UI부터 넘사벽을 느끼고 있습니다 ㅋㅋ.. 거기에.. 콘솔창은..왜 따로 있는건지 ..--; )

    • BlogIcon 산골 2010.12.19 19:53 신고  댓글주소  수정/삭제

      저는 이제좀 익숙해진듯...휴우...
      익숙해지면 이클립스보다 속도는 분명히 빠르기 때문에
      좀더 편하다는 느낌 받으실수 있을꺼에요~
      인터페이스 빌더 되게 신기하지 않나요..
      컴포넌트 가져다 놓을라고 하면 막 정렬도 자동으로 해주고요.
      처음에 이 기능에 역시 애플은 틀리는구만~ 이랬는데요.. ^ ^

  10. BlogIcon KYJ 2010.12.22 13:17 신고  댓글주소  수정/삭제  댓글쓰기

    처음 놀러왔는데 이런저런 포스팅 잘 읽고 갑니다.
    새로운 분야로 진입하신걸 축하드리구요
    오브젝티브 씨 아자자

  11. 2010.12.23 13:50  댓글주소  수정/삭제  댓글쓰기

    비밀댓글입니다

  12. BlogIcon 경수형 2011.02.05 14:50 신고  댓글주소  수정/삭제  댓글쓰기

    나야. ㅎㅎㅎ
    간만에 들려봤다.
    예상대로 전향했구만. 축하해. 잘했다. ^^
    조만간 얼굴 좀 보고 얘기하자.
    새해 복 많이 받고~