하지만 분명히 가까운 미래의 어느 시점에는 테스트 전문가들은 코딩을 하지 못하면 업계에서 퇴출되는 시점이 오게 될 것입니다. 이미 '사용자 관점'의 테스트에 대한 여러가지 문제점들이 이미 오래 전부터지적되고 있었고, 이를 해결할 방법들이 등장한 지가 10년이 넘었으며, 이런 방법들이 서서히 고도화되어 가고 있는 것이 그 첫 번 째 증거입니다. 또한 클라이언트-서버 관점은 2 Tier 시스템에서부터 고도화 되어 N Tier 즉, 클라우드화 되어 가고 있고 이에 대한 형상관리와 변경관리가 재정의되고 있습니다. 그렇다는 의미는 곧 테스트의 형태도 변화한다고 봐야 함이 두 번 째 증거입니다. (예, 테스트는 형상관리를 기준으로 진행되어야 정상입니다.)
그러므로 저 역시 비루한 실력의 코더입니다만... 코딩 이야기를 잠깐 해 보려 합니다.
우리의 프로그래밍은 올해 이루어야 할 것들 중에 이것이다 하는 것을 정신을 차리고 프로그래밍하여 나아가면 우리도 버그가 발생하는 것을 해낼 수 있다는 마음을 가지고 코딩해야 한다고 생각합니다.
저도 취미로나 개발하는 주제에 이런 말씀을 드리는 것이 어떻게 받아들여질지 모르겠습니다만, 먼저 중요한 것은 어떤 프로그램을 사용하고 싶은 지 자신을 이해하는 것에서 시작되는 것이 좋습니다. 평소에 프로그램이라곤 게임과 인터넷만 이용하셨다구요? 네, 좋습니다. 그것도 충분히 좋은 일입니다.
비트나미
https://bitnami.com/stacks
일단은 비트나미에서 시작하시죠. 비트나미는 2015년 현재 클라우드 사업을 하고 있습니다. 이 곳에는 수 많은 서비스들을 독립적으로 사용할 수 있는 환경을 제공하고 있습니다. 아파치나 톰캣 등 서버 설정이 필요한 부분까지 전부 하나의 바이너리로 압축해서 간단히 설치만 하면 사용자의 컴퓨터에서 바로 사용할 수 있게 제공하고 있습니다.
이런 프로그램들을 사용해 보시면서 우리 회사에는 어떤 프로그램이 맞는지, 나라면 어떤 기능을 개발할 지를 살펴보세요. 모방은 창조의 어머니입니다. 본인이 뭔가 삐까뻔쩍한 무엇을 만든다고 생각하시기 보다, 기존에 이미 많은 고민을 통해 제작된 프로그램들을 이용해 보면서 자신만의 서비스를 꿈꿔 보는 것이 훨씬 좋은 방향이라 제안 드립니다.
다음은 프로그래밍에 대한 기본 이해를 이야기 해보아야 할 것 같습니다. 프로그래밍(Programming)은 크게 알고리즘(Algorithm)에 대한 이해와 코딩(Coding)으로 나뉘어 있다고 보시면 됩니다.
- 프로그래밍을 시작할 때 가장 중요한 것은 알고리즘에 대한 이해입니다.
- 알고리즘을 이해하면 그 다음은 코딩(Coding) 영역만 남습니다.
- 반대로 알고리즘을 이해하지 못하면 코딩이 지루하고 어렵게 느껴지게 됩니다.
그럼 알고리즘은 어떻게 접근하면 좋을까요? 복잡하고 어려운 책들을 보시거나 인터넷을 검색하시기 보다, 일단 게임으로 접근해 보시면 어떨까 합니다.
코드컴뱃
http://codecombat.com/
한 달에 1만원 정도로 게임을 통해 알고리즘을 배울 수 있습니다
코드
http://code.org/learn
무료이며 특히 엘사 게임을 해 보면 아주 흥미롭게 알고리즘을 이해할 수 있습니다. http://studio.code.org/s/frozen/stage/1/puzzle/1
코드컴뱃이나 코드.org사이트로 가시면 게임을 통해 알고리즘에 대한 기본적인 이해를 갖추실 수 있습니다. 이미 진행해 보신 분은 아시겠지만 제가 계속 말하는 알고리즘은 결국 "문제 해결 능력" 이라고 단정 지을 수도 있겠네요.이 세상의 몇 몇 분들이 게임을 위험하고 잘 못된 것이라 하지만 (게다가 심지어 마약이라고까지 폄하하지만), 이 세상의 모든 복잡한 알고리즘도 결국은 게임과 같은 문제해결 방식에서 탄생합니다.
자, 알고리즘까지 이해하셨다면 이제 코딩입니다.
코딩을 시작하실 때는 해당 코딩을 할 수 있는 환경을 이해해야 합니다. 시작이 반이라는 말이 있듯이, 코딩을 할 수 있는 환경 설치만 이해하면 일단 코딩은 50% 배웠다고 볼 수 있습니다. 몇 년 전만해도 코딩 환경을 설정하는 정보들은 대부분 외국어로 되어 있었지만, 어느 순간부터 한글로 좋은 정보를 제공하는 분들이 많아 지셨으니, 본인이 시작하고자 하는 언어가 있으시다면 검색해서 환경을 설치해 보세요. 여러 번 지웠다가 재 설치 해 보는 경험이 쌓일 수록 해당 언어에 대한 공포심(?)은 사라지게 됩니다.
생활코딩
자, 이제 우리에게 우리 글, 한글로 코드를 접하게 해 줄 사이트에서 환경을 설치하고 신나는 코딩 시작하세요!
https://opentutorials.org/
아직 언어를 정하지 못하셨다면 제가 추천드리는 사이트는 생활코딩입니다. 생활코딩에서 제공하는 강의를 통해 코딩의 정수를 하나씩 배워 나가보세요.
자, 이제 다 왔습니다.
일단은 어떤 명령어를 넣고, 어떻게 실행시키면 어떻게 표현되는 지, 예제를 따라하면서 외워보세요. 자신에게 필요한 것들을 하나씩 외우다보면 자연스레 구문이나 문법에 대한 궁금증이 생기고, 이에 대한 이해가 높아지게 됩니다. 영어든 중국어든 프로그래밍이든... 이 세상 모든 언어(Language)는 일단 외우는 것에서 출발합니다.
추가로... 영어를 읽을 줄 아신다면 아래의 사이트에서 거의 모든 상황에 대한 해결책과 샘플 예제를 얻을 수 있습니다. 코딩을 하시다보면 자연스럽게 사용하게 되실거에요. ^^
http://stackoverflow.com
http://google.com
그럼 즐거운 코딩, 아니 프로그래밍하세요!