
개발자는 기계가 아닙니다.
바야바// 좀 천박하게 보일지도 모르지만 엔지니어는 돈을 효율적으로 버는 방법에대해 고민해야만 합니다.
결국 여러가지 플랫폼이 나오고 정교해지는 이유는 많은 엔지니어와 기업의 요구사항과 부합하기 때문입니다.
그리고 플랫폼은 개발자도 고객입니다. 고객이 상품에 불만을 터트리는 것이죠...
타 상품과 비교하면서 돈도 많이들고 효율도 떨어진다... 이런식으로 불만을 내는겁니다.
저보다 경험이 많으시겠지만...
갑을관계가 되면 저런 점 하나하나가 상당히 치명적입니다.
이건 되는데 이건 왜 늦어? 혹은 왜 안되? 이런말이 나오면 다음 계약이 어렵습니다.
된다고 말했다가 기간이 늦어지면 또 어렵죠....
그리고 앱이라는것이 다 플랫폼 위에서 하기 때문에 기간자체가 짧습니다. 더 정교한게 필요할뿐이고,
지금만으로도 예전에 비하면 많이 정교하다는 말은 어찌보면 필요없다고 볼 수 있습니다.
대체로 안드로이드에 불만을 털어놓는 것은 주어진 시간이 짧을때 그 소리가 훨씬큽니다.
iOS로 기간에 못따라갈거 같으면 안드로이드는 그 시간안에 절대로 따라갈수 없다라고 봅니다. (엔지니어의 역량이 비슷할 경우...)
테스트 자체가 시간이 몇배로 걸리니까요...
그리고 당연히 갑은 시간을 짧은거에 맞춰서 계약하려합니다. 시간이 돈이고 돈이 시간이니까요...
저 글의 불만은 단지 "쉽게 하고 싶다 징징"은 아닌것으로 보입니다. 한정된 시간에 비교대상이 명확한상태에서
한 플랫폼의 개발자만 비교적 큰 고통을 받는다면, 당연히 불만을 표출할수 있다고 봅니다.
물론 갈수록 기초가 튼튼하지 않은 개발자가 나오는 것은 사실입니다만...
이것도 하나의 시대의 흐름이라고 봅니다. 트랜드가 너무 빨리 변하기 때문에...
원래 기초를 튼튼히 하면 트랜드에 크게 구애받지 않아도 되는데
이게 괴로운 시간이고 쉽지도 않습니다.
또한 트랜드를 쫓아가주지 않으면 취직 자체가 어려운 경우도 있습니다.
이런날들이 좀 지나가고 시작하는 개발자들이 더 많은 기초들을 쌓았으면 하는 바람은 저도 가지고 있습니다.
물론 옳으신 말씀입니다. 저도 개발자 랍시고 고고한척 하는 것은 질색입니다. 개발자에게도 비니지스 스킬이 요구되는 시대에 살고 있으니까요. 제가 말씀드리고자 하는 것은 안드로이드의 시스템적인 결함이나 불편함은 이미 개발자에게 주어진 현실이라는 겁니다. 모든 개발자들에게 공평한 환경이 주어집니다. 안드로이드는 OS의 한 종류일 뿐입니다. 그것이 돈이 되고 시장이 형성되어 있는 한, 안드로이드가 제공하는 환경에 맞춰서 개발하는 것이 개발자에게 씌워진 굴레일 수 밖에 없습니다. 제가 보기에 저 글을 쓴 사람은, 리눅스 개발을 해보니 윈도우 보다 너무 불편하고 개발툴도 Visual C/C++가 아니라서 윈도우로 다시 돌아가겠다라고 말하는 것과 다르지 않게 들립니다.
마지막의 푸념은 안드로이드에서 도망치는거니까 그렇게 볼수도 있겠습니다.
하지만 안그래도 대부분의 갑을 관계에서 시간이 부족한판에...
어떤 플랫폼에서는 대체로 무난한 난이도로 야근의 빈도도 크게 많지 않은 시간인데 비해
어떤 플랫폼에서는 기능/UI 하나 적용 혹은 빼기 위해서 회의를 무쟈게 해야하고 (기간을 늘려달라던가 아니면 좀 빼고 가자던가...)
또 이 결정사항이 비교적 무난한 방향으로 가는 플랫폼 개발에 또 영향을 주는 이런 현상이 벌이지기 시작하면
후자는 천덕꾸러기가 될수 밖에 없습니다.
적어도 안드로이드가 대체로 천덕꾸러기 역할을 하는것은 많은 분들이 공감하실거라 봅니다.
이건 다른얘긴데... ICS버전용 크롬 UX보셨나요? 그거보고 "아 XX 큰일났다" 생각하는것은 나뿐인가요?
안드로이드는 시뮬레이터가 아닌 에뮬레이터를 쓰는데...윈폰도 그렇고.. 시뮬레이터는 iOS이고... 이 둘의 차이는 꽤 크긴 하죠. 물론 에뮬이 훨씬 느리긴합니다.
안드로이드 개발이 불편한건 사실이지만, 저 글에서나오는 대부분의 문제는 iOS를 개발하던 방식으로 안드로이드로 접근을 하니 발생하는 문제들인것 같군요..
실무를 하실거라 믿지만...
대부분 iOS와 안드로이드를 같이 진행하고, 요즘은 동일한 UX개념을 강조하면서
iOS나 안드로이드 되도록이면 똑같이 움직이게 하는게 보통입니다.
물론 그렇다고 기본 틀을 흔드는것은 아닌데 (홈버튼 동작의 차이나 백버튼 등)
대체로 겉보기나 효과는 비슷 혹은 똑같이 돌아야 함이 실무상의 원칙처럼 되어있습니다.
제가 겪은 프로젝트중에 안그런 프로젝트가 없었습니다. (같이 진행하는 프로젝트 기준)
이게 문제라고 할수있으나 중요한건 이 원칙을 가지고 있는 사람들은 대체로 돈주는 사람들이라는 점이죠...
안드로이드를 까는 저같은 분들은 대체로 갑을 관계에서 일을 해봤거나 하고 있거나 하는 사람들일겁니다.
그리고 iOS와 안드로이드를 동시에 진행하죠... 그리고 앱으로 수익을 직접 벌기 보다는 앱을 갑에 팔아서 돈을 버는거구요...
이런상황이되면 안드로이드만큼 괴로운 플랫폼도 많지 않습니다.
위에 쿠탱이님 말씀처럼 iOS가 존재하지 않았더라면 저런 비교가 나올 수 있을까요? iOS가 여러가지 장점이 있는건 사실입니다만, 안드로이드가 갖고 있는 개발상의 이점을 가지고 있지 못한 것도 사실예요. 쉽게 예를 들어 iOS에서 버전을 만든 후에 여러 사람에게 테스트 해보고 싶다라면 문제가 복잡해집니다. 개발자용 배포 인증서가 있어야 하기 때문이죠. 안드로이드는 APK만 배포하면 됩니다. 물론 그로 인해 생기는 보안상의 문제도 있긴 합니다만, 서로 장단점이 있는데 단면만 보고 우열을 가리는 것은 문제라는 겁니다.
바야바님 말씀에 전반적으로 동의합니다.
안드로이드는 아직도 발전할 부분이 많이 있고, 이에 대해선 우리 개발자들이 목소리를 내는 게 맞다고 생각합니다만...
iOS에 비해 다양한 기기에 대응해야 한다는 점은 단점이자, 더 많은 사용자에게 접촉할 수 있는 장점입니다.
이런 특성을 가진 안드로이드에서, 현재 안드로이드가 제공하는 dip 등의 단위, 환경별 리소스/소스단에서의 필터링 외에 더이상 어떤 장치를 제공할 수 있는지 의문입니다.
이정도면 안드로이드 특유의 장/단점 아래에서 현재까지는 나름 최선의 플랫폼이 아닐까요?
물론, 안드로이드 특유의 장점을 유지하면서 더욱 개발 환경을 편하게 만드는 방법이 있을 수도 있고, 그 방법을 찾는 발전적 토의(나는 이렇게 해결했다와 같은.)가 많이 이뤄졌으면 합니다.
현상황에서 안드로이드 만큼 다양한 기기를 지원하면서 현재보다 편한 개발 환경을 꿈만 꾸고 단점만 이야기 하는 건 그다지 발전적인 이야기는 아니지 않나 싶습니다.
MS 윈도우 개발환경이 어떻게 변해왔는지를 생각해보면 이런 문제들은 통과의례(?)라고 생각할수 있겠지만...
구글은 구글이니까요. 지금보다 좀더 적극적이었으면 좋겠다는 생각이 듭니다.
과장은 별로 없고 엄연한 사실들이네요... 저도 다 겪었던 일이고...