안녕하세요? 이제 갓 안드로이드 어플 개발 시작한 초보 개발자 입니다. (3개월 됬네요...=_=)
현재 저는 구글 플레이 스토어에 개발한 어플 3개 등록되어 있고, 리눅서 서버 (centOS+APM(mysql)) 랑 웹 코딩 (JSP,PHP,XML)
이용해서 DB까지 혼자서 구현할 수 있습니다... (역시 서버가 있어야 뭘 좀 할수 있는것 같습니다.)
안드로이드쪽은 구글 지도 api 최근에 써보고, 폰 재부팅후에도 정시에 알람작동되는거 (ㅎㅎ 고수님들이 보시면 웃으시겠네요)
등 여러가지 해봤습니다.
제가 이쪽에 대해서 배경지식이 거의 없이 시작해서 그런지 한숨 돌리게된 지금, 어플개발자의 환경이나 작금의 상황에 대해서
궁금해졌네요 ^^; (3개월간 거이 주말없이 달리다 시피 해서...현자타임 왔습니다)
원래 희망은 해커쪽이었는데 일개 학부생이 접할 수 있는 부분이 한정된지라 우연한 기회에 어플 개발을 시작하게 되었습니다.
(어플 개발하면서 막히던 부분 안드로이드 펍에서 문제 해결 많이 했습니다 ㅋㅋ)
현재 제 능력이 어느정도인지..(초급은 벗어났겠죠? 중급?)
개발능력이 올라간다면 구현할 수 있는 것들이 무었이 있는지..(게임은 논외로 하고싶습니다만...유니티 들어가면 할말 없습니다 ㅠ)
조언해주실 말씀 있으면 부탁드립니다!
개발 학습 단계에서 실력 측면에서의 초급, 중급과 실제 업계에서의 초급, 중급의 기준은 틀릴수 있겠네요. 위 댓글로 말씀주신건 업계 기준이구요. 근데 사실 업계 기준이라는게 실제 실력을 이야기하는것도 아니니 공부하는 입장에서 의미있을것 같지 않구요. 진짜 실력을 높이시고 싶고 그것을 객관적으로 증명도 받고 싶으시다면 인정받을만한 수준의 프로젝트를 직접 만들어서 보여주는게 제일이지 않을까 싶습니다. 오픈소스 프로젝트들에 참여하는것도 방법이겠구요. 실제 프로젝트와 별도로 따로 읽어봐야할 패턴등의 개발 서적도 10권은 넘겨야 되지 않을까 싶네요.
개발의 길은 끝이 없는것 같습니다. 제가 실력측면으로 중급 정도는 되었다고 느낀게 개발한지 사회에 들어선지 7~8년 정도후였고 근데 주위에 고급 개발자라고 부를만한 사람도 안보이고 자기 발전도 더 없을것 같아 회사 그만두고 창업했죠. 그게 벌써 5~6년전 개인적으로는 개발을 파고 들어 공부하는 스타일이 아니라 지금도 실력은 중급 수준인것 같네요.
요점은 두가지 1. 개발자 실력의 수준 차는 느끼는것보다 엄청나게 크다. 2. 시간 지나고 경력 늘어난다고 실력 안는다. 공부하자
프로젝트를 어떤것을 수행했는지, 그리고 어떤 분야(서비스, 보안, 이북, 유틸 등등등)에서 일했는지를 가지고 판단하시면 될듯합니다.
실제로 안드로이드의 기능을 다써보는건 힘들거든요... 계속 새로운것을 보고 써보고 커스텀해보고 해야 늘더라구요
중급 수준을 평가할 수 있는 객관적 지표를 제시하기란 쉽지 않을 것 같습니다. 인력시장에선 경력을 중심으로 판단할 수 있겠지만 '경력=실력'으로 이어지는 등식이 항상 '참'이 되는 것은 아니죠.
중요한 것은 베스트셀링 플밍책을 몇 권을 봤는지도 아닌 것 같습니다. 플밍책은 수학문제와 비슷해 눈으로 보면 쉽지만, 막상 문제를 풀면 안되죠. 그리고 데이타베이스, 자바, 서버셋팅, 안드로이드 특정 기능을 구현하는 것은 구글링 몇 번으로 쉽게 해결 할 수 있는 것도 사실입니다.
- 역시 가장 중요한 것은 프로젝트 경험입니다. 서브 역할이 아닌 메인 역할을 할 때, 경험을 극대화 할 수 있는 것 같습니다.
- 또한 소프트웨어 개발을 통해 돈을 버는 것이 정말 힘들다는 것을 깨달을 때,
- 서버/클라이언트 개발 환경을 구축하고 유저들의 사용 패턴을 분석할 수 있을 때,
- 내 제품을 마케팅 하고자 할 때 내세울 수 있는 이론적 기술적 배경을 제시할 수 있을 때,
- 제품의 파일 크기가 아닌, 메모리의 효율성을 걱정할 때
- iOS 기반의 Objective-C와 java의 색깔을 구별 할 수 있을 때, (이를테면 자바코드를 디컴파일링 하는 게 왜 쉬운지..)
- 특정 플레폼 또는 프레임워크의 메카니즘에 대해서 어느정도 이해할 수 있을 때,
- 커널의 기본적인 메카니즘의 이해 (대학과정 중, '운영체제론'에서 보통 배우죠...)
- 처음 접하는 환경에서도 책 몇권과 구글링으로 개발할 수 있을 때,
- 순자적인 코드가 아닌 재사용 가능한 객체지향적 코드를 쉽게 다룰 수 있을 때,
- 오브젝트를 int, short, float 타입의 변수로 볼 수 있을 때,
등등, 이때쯤이면 스스로 생각하기에 만족할 수 있지 않을까요??? (최대한 구체적으로 제시해 보려고 했는데... 그래도 주관적일 수밖에 없네요.)
뭐 제가 이런말 할 실력은 아니지만, 안드로이드 2님의 말씀한신 것 처럼 현재 적어놓으신 글만 봐서는 구글링 통해서 습득할 수있는
거기다 영문외에도 우리나라 분들이 쓴 자료도 엄청 많은 부분이라 그런걸 실력이라고 하기에는..
(영어를 잘하는 것도 능력이지만..)
제가 위에 웹이랑 DB까지는 안해봤지만, 리눅스 서버 구축?(그냥 몇개 유틸 깔고)하고 멀티 게임되게 이번 플젝겸 해봤는데...
많은 분들이 지식을 공유해 주신 글들이 많아서 실제로 구축하는데 하루 이틀 정도밖에 안 걸렸네요.
(물론 친절한 설명은 아니었죠. 리눅스 쪽이라..)
아무튼 어느 정도 관련 지식있으면, 이젠 공개된 자료가 많아 왠만한건 구현이 쉽더군요. 정말 감사할 따름입니다.
아이폰 초기에 경기고 학생이 '버스앱'만들어서 떳죠? 거기다 광고 달고 욕먹고?
아무튼 저도 이 사실만 알고 있을때는 왠지 대단한 기술인가 했는데..
안드로이드 쪽으로 '버스앱' 개발 하신분이 블로그에 관련 개발 글 써놓으신게 있는데..
라이브러리 이용해서 파싱해서 뿌려주는 정도였습니다.
저도 개인적으로 사용할려고 웹에서 읽어온걸 뿌려 볼려고 자료 찾던 중에 이 분의 자료을 읽어서 쉽게 구현 했죠.
위 자료가 없었다면, 관련 방법 찾는데만 시간 허비하고, 삽질 했겠죠.
말씀하신 구현 부분이 최대한 로우한 부분의 자료만으로 구축했다면 대단하시다고 보지만, 친절한 설명이 있는 자료를
보고 따라하고 추가하진 거라면... 이젠 그 정도 할 수 있는 사람들이 생각 보다 많다고만 알고 계시면 되겠네요.
프로그래밍 할 줄 알면 버스앱정도는 이젠 아무나 만들수 있다는 말이죠. 개발 방법이 공개 되었으니..
(경기고 학생이 뭐 대학에서 강연한 동영상 봤는데, 기술 관련 부분은 언급이 없었죠. 단지 관련 자료가 국내에는 부족해서
영문 사이트에서 힘들게 자료 찾았다고..알면 쉽지만 모르면 어렵죠..)
물론 지금 학부생인데 그정도 까지 하신다는게 좀 부러울 따름이네요. 전 비전공자라 교양때랑 임베드 할때 살짝 해본거 말고는
없어서, 책도 회색님께서 말씀하신 패턴책도 본적이 없네요..;;;(물론 컴관련 책은 많이 읽었지만.. row한 레벨에 호기심이 많아서.)
세상에는 괴물들이 많습니다. 님이 실력을 무시하는 건 아니지만,
교수님이나 아버지 세대와 다르게, 인터넷엔 엄청난 기술 공유가 되고 있습니다.
예전 같았으면 대단한 실력이었겠지만, 지금은...새발에 피정도겠죠.
p.s. 어떤 어플인지 말씀해주시면, 실력있는 개발자분들이 아낌없이 조언 해주실 겁니다.
p.s. 위에서 서버 구축 하루 이틀 걸렸다는 거는, 그냥 순수하게 통신환경을 말한 겁니다.
로비, 방 개념등 구현하는거 생각 보다 어렵더군요. 나갔다 들어오고 재접속하고 방장역활 등등...,
제가 잘 못 구현한건지 상당히 복잡하내요;; 다행히 구현은 완료 하였지만...
조금 안 좋은 소리만 한듯 한데, 학부생이시면 군문제는 아직인가요? 이런 질문 할정도면 아직 인거 같은데...
한가지 조언하자면, 현재 그정도 하실 수 있다면.. 남들 놀때 열공하시면, 충분히 병특도 노려 볼 수도 있겠네요!
저도 준비했는데 그 당시 솔직히 님보다 못 한 실력이 었고(들어 갈 실력도 안됐죠.),
지금 보면 병특하는 분들 보면 엄청난 실력이더 군요! 학부 수준에서..
석사까지 가면 현업 1년 2년차 이상이더군요;;
지금 개발에만 관심있으 실지 모르지만, 군문제 이거 그냥 넘어갈 문제가 아닙니다. 2년입니다. 연봉이 달라집니다.
사회 시작도 빨라지고, 엄청 고민하셔서 준비하세요.
님 정도면, 1년이나 2년 지나면, 그때 it병특이 존재한다면 가능성 많습니다. it는 실력도 많이 보고 뽑아서요.
저는 그때 몰라서 준비 않하고 그냥 가고 싶다정도만으로 준비해서 망했죠. 뭐 군대가 도움이 아주 없는건 아니지만..
그리고 게임쪽 관심이 적던데.. 병특이면 게임쪽도 노려보세요.
알아본 바로는 그 당시에 게임쪽 업체가 it쪽에서 메이져 포함 많더군요! 유니티 정도 1년하시면, 잘 봐줄껍니다.
선례를 들자면,
일단, 유명인 부터.. 엔씨 김택진, 넥스 김정주, xl 송재경, imc 게임즈 김학규 다 it쪽이나 게임 쪽으로 병특했습니다.
뭐 네오위즈나 ccr 사장은 자기들 회사에서 하다가 걸렸고, 게임빌 송씨 형제분들은 교묘하게 법망 피해서 자기회사에서
병특했죠.
그리고 일반인 중에는 그냥 블로그를 통해 알게된 사연으로는...
오픈 캡쳐 개발자도 고등학교 졸업하고, 오픈 캡쳐 개발로 cdspace 개발 업체에 들어가서 병특했습니다.
그리고 리버싱, 해킹부터 엄청 로우 레벨까지 두루 알고있는 물리 수학등에서 엄청 해박한
그때 당시에 고등학생은 포폴은 없지만, 실력하나로 수능 끝나고
대학때 배우는 수준을 넘었다고 생각해서 안 들어 가고 중소업체에 병특으로 들어갔죠.
(허리문제로 대체 복무로 했다는데 냄새가..비전공이라서 수순하게 병특은 무리였으니)
남들 내무실에서 짬 놀이 할때, 해외에 출장가서 분위기 있는 숙박 업소에서 해외의 유명한 리눅스 관련 개발자들과 세미나한
사진도 올리면서 놀고..ㅡ,.ㅡ 지금도 하고 있을려나?
그리고 현재 넥슨에서 병특?(아마도겠죠! 이분은 지켜 봤는데 학부끝나고 석사 2년하고 넥슨에 있는 걸 봐선 병특이죠.)
하는 어느 서강대 출신분 물리학과였는데 그래픽쪽으로 석사해서 병특으로 들어갔죠!
생각을 잘한 듯! 왜냐하면 싸이 사건 터질쯤에 비전공자는 해당 분야에 병특으로 못 가서! 아마도 컴터쪽으로 전공한 듯..
물론 학부때는 그냥 카툰렌더링 구현정도 였으니, 병특으론 부족한 실력이었죠. 아무튼 석사때 블로깅 한거 보면,
컴터 글픽쪽으로 수준급으로 지식 쌓은 듯...지금 게임 개발 블로그나 트위터등을 보면 이분 아이디 눈에 보이죠.
그럴때면 눈에서 눈물이 ㅠ,ㅠ
뭐 주변에서 이런거 한 사람이 없어서고, 인터넷을 통해 알고있는 분들이라 정확하게 어떻게 준비했는지는 못 적어 드려
아쉽지만, 그래도 위 글이 조금이나만 인생 결정하는데 도움이 되었으면 하네요.
이런 길도 있구나!
전 그 당시 이런 글도 못 봤고, 알아 보려 하지 않고 준비도 못해서 나름 인생의 오점을 남긴듯하여 후회가 남내요..
님은 그런 후회가 없었으면 하내요.
이 글 보고 있는 군문제 있는 분들한테도 도움이 되었으면 하네요. 지인중에 이런 분들이 없다면 정보 얻기도 힘들죠..
p.s. 그리고 저 위에 허리드시크 병특 분 이야기 하나 하자면,
솔직히 제가 봐도 그때 당시에 상당한 물리, 수학 수준이 학부 수준이상은 되었던 거 같은데
(글로만 봤기때문에 알 수는 없지만, 당시 나이에 대학원 과정에서도 쓴다는 물리수학 아프켄 문제를
다 풀이 하겠다는 정도니깐. 물론 실행엔 안 옮겼는지 해당 게시글은 이후에 없었죠.),
아무튼 그 당시에 지신인에 누가 올려 놓은 물리관련 질문에 정말 개념 없이
잘난척하는 식으로 글을 써놓았는데 1년뒤에 몇몇 분들한테 욕들어오고, 해당 글을 보고 뭐라하니깐
과거에 일가지고 뭐라 하냐면서 쉴드성 글도 올리던데...나이가 어릴수로 주변에 비해 실력이 뛰어나면 자만하는 사람이 많죠.;;
인격 형성이 덜되서...
그 사람 글 안 본지도 2년이 되가는데 나중에 쓴글 보면, 겸손하게 쓰더군요.
우물안에서 놀다가, 해외 유명 개발자들 만나니깐 달라진 듯.
님도 아마 대학이 좀 안 좋거나 실력있는 사람들이 드문거 같네요.
아무튼 열심히 실력 갈고 닦으세요. 아직 시간이 넘쳐납니다.
그리고 안펍에서 병특 관련 글 많이 나오는데, 좋은 정보 많네요.
또한 위와 같이 준비했다면, 군대에서 줄만 잘서면 it 관려 연대급 이상으로 배치 됩니다.
연대 급이랑 대대급은 수준이 틀리고, 사단급 이상만 가도 it같은 전문직에 배치되면 배울꺼 많습니다.
옛날 it도입때 대대급만 가도 it관련일 할면선 전산실에 짱박혀 있을 수 있었다고 들었지만, 지금은 아닌 듯하네요.ㅠㅠ
연대급은 홈페이지 관리 정도만 하는 듯 하더군요.
그리고 보충대나 훈련소때 관련 능력 다적어서 내면, 확률이 높습니다. 생각보다 비능력자가 많습니다.
it 자격증은 필수로 하나 따가세요. 운이 좋아집니다. 대우도 틀려지고요! 자격증 하나라도 만들어 가세요.
운전면허는 되도록 안 적는게 그럼 운전병으로...운전병이 안 좋은 건 아니지만...
제가 생각하는 초급 개발자는 자신감이 붙을 때, 난 이제 어떠한 프로그램도 다 만들 수 있다! 라고 생각하며 자신 만만할때.
중급 개발자는 내 실력이 개미x구멍만한 실력이었구나 깨닫고 스스로 부족한 부분을 공부하고 찾으며 고민할때.
고급 개발자는 남을 가르칠수있을 때




중급을 원하시면 대졸 학위 수려하신 후 5년 더 실무 경력 쌓으시면 될 듯 합니다.
개발자의 능력은 측정하기가 매우 애매하기때문에 업체의 경우 대부분의 경우에서 경력만 봅니다.