개발을 처음 시작한 사람에게 공감하기에 저는 너무 많은 개발을 했습니다. 그래서 개발을 처음 배우시는 분들을 다시 개발을 가르쳐드리면서 시작할 때 초심자가 어떤 어려움을 겪는지 배워서 정리 해 보았습니다.

정리를 해 보자면, 개발을 처음 시작하시는 분들이 iOS 개발을 시작하는데에는 크게 3가지가 없어서 시작을 하지 못했습니다.

중요한 포인트는, 개발을 처음 배우는 사람은 본인이 위의 것 중 어떤 것을 몰라서 개발을 못 하고있는지 알지 못합니다. 이 글을 읽고 그 빈 부분을 알아갔으면 좋겠습니다. 혹시나 제가 놓치고 있는 부분이 있다면 알려주세요! 빈 부분에 채워서 정리해 놓겠습니다 🙂

프로그래밍적 사고

프로그래밍적 사고의 정의를 찾아보면 “문제를 정의하고 그에 대한 답을 기술하는 것이 포함된 사고 과정 일체”라고 나옵니다. 우리가 마주하고 있는 현상에서 문제를 정의해놓고 그 문제를 해결하기 위한 방법을 찾아내면 일련의 순서가 있는 것을 발견할 수 있습니다. 이 순서로 문제를 해결하면 되겠다라는 생각이 든 시점에 우리는 순서도라는 것을 그려야 합니다. 순서도를 단계별로 그리면서 로직을 짜게 됩니다.

순서도를 짜는 훈련이 되어있지 않으면 개발을 할 수 없습니다. 왜냐하면 프로그램을 만들려면 로직,즉 순서도가 존재해야하는데, 이 로직을 만들 힘이 없으면 진행이 불가능하기 때문입니다. 문제는 이러한 상황에 처해있는 사람이 있다면, 스스로가 어떤 점이 부분이 부족한지 모르는 상태일 확률이 높고 무작정 개발을 시작하면서 지루함이나 괴로움을 느끼고 있을 확률도 높습니다. 자연스럼게 힘든 경험을 하고 개발을 그만두게 될 것 입니다.

희망적인 소식은 프로그래밍적 사고를 할 수 있는지 없는지 아는 방법은 매우 쉽습니다.

우리 주변에 있는 기계를 하나 떠 올리고 종이에 그 기계가 돌아가는 로직을 그리고 실제 내가 사용자가 되어서 문제없게 사용할 수 있는지 그려보면됩니다. 쉬운 예를 들어봅시다. 우리주변에서 쉽게 볼 수 있는 기계를 예를 들어보면 자판기가 있습니다.

돈을 넣지 않고 사고싶은 음료수를 눌렀을 때, 돈을 모자라게 넣고 눌러본다면, 돈을 넘치게 넣고 내가 원하는 음료를 눌렀을 때, 등등 우리가 자판기를 사용했던 경험을 바탕으로 순서도를 그려보면 됩니다.

이렇게 해보면 생각보다 순서도를 그리는 방법은 어렵고 개발을 하기전에 이렇게 순서도가 머릿속에 그려지도록 훈련을 해야한 다는 것을 느낄 수 있게 됩니다.

프로그래밍적 사고를 기르는 방법은 굉장히 많습니다. 하지만 그 중에서 개발을 몰라도 할 수 있는 즐거운 방법을 알고있어서 소개합니다. 애플에서 제공하는 스위프트 플레이그라운드 입니다.