상세 컨텐츠

본문 제목

안드로이드 앱 개발(프로그래머)을 시작하는 사람 혹은 앱을 만들고 싶은 사람 들을 위한 글

개발/Android

by 스카이룬 2020. 7. 15. 13:28

본문

반응형

요즘 많은 분들이 질문을 하고 시작하시려는 분들이 많아서 올립니다.
앱 개발에 대한 생각을 가지고 사람마다 다르지만 쉽고 어렵고를 판단하시는 분들이 많습니다.

일단 개발자라는 직업을 살펴볼 때, 저는 이렇게 말할 수 있을 것 같습니다.
이 세상에 공부를 열심히 하는 분들이 많습니다.
예를 들어 의사, 판사, 변호사, 검사 의학과 법학을 공부하시는 분들입니다.
공부 엄청 많이 하시고 잘하십니다. 엘리트 분들이시죠.
저는 개발자도 이분들과 공부하는 분야는 다르지만 공부하는 분량은 절대 뒤처지지 않는다 생각합니다. 이분들도 평생 공부하고 알아야 될 분들입니다. 새로운 지식을 개발자들도 날이 갈수록 공부할 분량은 많아집니다.

그럼 개발을 알아보겠습니다. 개발은 크게 세 가지로 나누어보겠습니다.
게임, 웹, 앱 이런 분야를 개발하는 사람들을 통틀어 프로그래머라고 칭합니다.

그럼 이 프로그래머를 하는 사람들은 어떤 공부를 할까요.
게임은 보통 흔히 게임하시는 분들은 알고 계실 겁니다. 엔진이라는 사용합니다.
우리가 아는 유니티, 언리얼 등이 있습니다.
이 부분의 언어는 보통 C, C++, C#을 주로 사용하게 됩니다.
그리고 웹을 보면 흔히 네이버, 구글, 다음 이런 사이트들을 우린 웹사이트라고 부릅니다.
이 부분의 언어는 보통 HTML, CSS, JavaScript이라는 언어들을 사용합니다.
그리고 앱을 보면 두 가지로 갈립니다. Android, IOS
Android는 Java, Kotlin으로 이루어져 있습니다. AndroidStudio를 이용합니다.
IOS는 ObjectC, Swift으로 이루어져 있습니다. X-Code를 이용합니다.

Android는 구글, IOS는 Apple
Android는 Window, MAC에서 개발이 가능합니다.
IOS는 MAC에서만 개발할 수 있습니다.

그럼 이 세 가지를 통틀어서 필요한 게 있습니다. 그건 Server라고 합니다.
게임, 웹, 앱은 모두 Server가 필요합니다.
대부분은 PHP, Node.js 등을 이용해 개발을 합니다.

이렇게만 봐도 공부할 분야를 세어 보면 어마어마하게 많고 제가 말한 건 일부의 언어입니다.
많은 분들이 생각을 합니다. 내가 만들어보고 싶은 게 있다. 공부해서 만들겠다.
저는 얘기합니다. 솔직히 힘들다는 건 알지만 쉽게 설명해도 알아듣질 않습니다.
제가 그분들을 무시할 수도 없고 할 수도 있기 때문에 별로 말리진 않습니다.

현실적으로 얘기를 해보겠습니다. 개발자들은 각자의 분야가 있습니다.
위에서 말한 것처럼요. 저는 Android를 개발하는 사람이지만,
웹으로 봅시다. HTML, CSS를 다루는 웹퍼블리셔, JavaScript를 다루는 프론트개발자
Server를 개발하는 백엔드 개발자를 봤을 때
회사에서는 이 세명을 각자의 분야로 맞추어 고용을 합니다.

사실 보통 사람들이 생각했을 때 개발자와 프로그래머를 생각하면 이런 부분까지는 생각을 못 합니다.
한 명의 개발자가 모두 개발하는 줄 알아요. 그래서 일부 개발자들은 회사에 입사를 해서 주 전공이 아닌 다른 일을 하기도 하고, 개발자들 사이에서는 어차피 아는 일보다 모르는 일을 더 많이 한다고 합니다. 개발자는 다 같은 개발자인 줄 알고 뽑는 겁니다. 그 분야에 맞는 개발자를 뽑아야 합니다.

흔히 개발자들은 이 모두를 다루고 다양한 개발 능력을 갖춘 사람은 풀 스택 개발자라고 부릅니다.
이분들은 많은 경력과 경험 또는 공부를 엄청 하신 분들이고 흔하지 않습니다.

그럼 페이스북, 인스타그램과 같은 SNS 앱을 혼자 구상해서 공부해서 만든다고 가정해봅니다.
혼자서 개발해야 할 경우 공부해야 될 것은 Java, AndroidStudio, Server를 공부해야 합니다.
이것을 혼자 만들려고 공부를 하면 얼마나 걸릴까요? 2년, 3년? 저는 더 걸린다고 봅니다.

개발자들도 회사를 다니며 경험을 통해 만드는 거지 무작정 공부만 한다고 해서 하나의 서비스를 만들지는 않습니다.
그 흔한 메모장 앱을 만들 때에도 AndroidStudio로 Java, SQL을 공부해야 합니다.

그럼 앱 개발자를 하기 위해서는 무슨 공부를 해야 할까를 생각해봅시다.
앱 개발자를 하기 위해서 우선 Java를 알아야 합니다. Java를 알기 전에 C언어를 배워두면 좋습니다.
흔히들 Java만 해도 된다고 하지만 Java를 하기 전 C언어를 해보면 이해가 빠릅니다.
그리고 AndroidStuio를 공부합니다. 제일 처음에 하는 건 Layout 구성을 위해 XML을 알아야 합니다.
그리고 화면 구성은 알았을 때, Java 코딩은 했는데 Data를 저장시켜야 합니다.
그럼 DataBase SQL을 공부해야 합니다. SQL를 공부를 하고 나면 Data가 통신이 되어야 합니다.
그럼 Server 공부를 해야 합니다. 흔히 PHP를 공부를 먼저 합니다.

이렇게 하고 나면 앱이 완성이 되는데 여기서 문제는 앱이 이뻐야 합니다.
그럼 포토샵, 일러스트레이터를 이용한 디자인을 해야 합니다.

이 모든 걸 다할 순 없습니다. 그래서 앱 개발자들은 Server까진 스스로 하지만, 디자인은 외주를 맡깁니다.

번외로 웹사이트를 만들고 싶을 때 우선 HTML, CSS로 이용해 화면 구성을 합니다.
JavaScript는 계속 동시 개발을 합니다. DB에 Data를 넣고 PHP를 개발을 합니다.
웹은 앱과 좀 다릅니다. 필요할 때마다 프론트와 백엔드를 동시 코딩을 해야 합니다.

게임을 만들 때도 똑같습니다. 화면을 구성하고 코딩을 합니다.

많은 분들이 개발자에 대한 생각은 컴퓨터를 가지고 일하는 사람 혹은 심한 사람은 사무직이라고 생각하는 사람도 있고 간단하게 생각합니다. 이유는 WIX, 폰갭, 워드프레스, 그누보드 등
이런 툴이 많이 생겼기 때문입니다. 이런 툴이 나쁘다는 것은 아닙니다.
하지만 이 툴도 개발자가 만들었다는 것입니다. 많은 분들이 앱 개발을 시도했다가 포기합니다.
짧게는 3일 길게는 일주일 만에 포기를 합니다. 이유는 단순히 어려워서입니다.
본인이 만든다는 가정으로 시작하고 결국은 개발자에게 외주를 맡깁니다.

개발을 시작하시려는 분들 시중하게 생각합시다. 그리고 직업으로 생각하시는 분들은 더욱 신중합시다. 프로그래밍이라는 작업을 결코 쉬운 작업이 아닙니다.

그리고 개발자를 무시하고 별거 아닌 것처럼 생각하시는 회사 사장님들 직접 개발해보십시오.
맨날 시간 늦어지거나, 개발 속도 안 나거나, 기능 구현 안 되거나, 버그 터지면 개발자 쥐잡듯이 잡으시는데 개발자들 집 안 보내고 야근시키면서 뭐라고만 하지 마시고 직접 개발하시면 됩니다.

이상 끝.

반응형

관련글 더보기