내가 개발을 시작했던 방법

박새미
5 min readJan 15, 2019

--

예전에 이런 질문을 받은적이 있다. “어떻게 개발을 시작하면 좋을까요?”라고 이부분에 대한 것이라면 나는 있어보이게 말하는 방법으로는 설명이 힘들다. 왜냐면 솔직히 처음에는 코드 100줄 200줄이 되는 것을 이해하는 것이 불가능해서 외우려고 시도를 했다. 무식한 방법이지만 의외로 많은 도움을 받았고 지금도 이 방법을 사용중이다. 남들은 이렇게 말하면 그것도 머리가 좋아야 가능하다고 하지만 그렇게 말하는 대부분은 학창시절 나보다 성적도 좋고 스마트하다. 이렇게 말하면 “개발머리는 다르다”라고 하는데 이 부분은 인정하지 않는다. 이렇게 말해버리면 그간 노력한 내 시간이 부정당하는 것 같다. 그리고 공부 잘하던 사람들이 개발도 금방 배우는 것을 주변에서 많이 보기 때문에 대한민국에서 정규 교육과정을 이수한 사람이라면 그냥 아무 튜토리얼이라도 좋으니 그냥 시작하는 것을 추천한다.

어떻게 시작해야되는 것인가?

코딩을 접하는 친구들이 가장 처음 접하는 난제인 구구단을 예제로 설명하고자 한다. 물론 구구단이 난제가 아닌 친구들은 많이 있겠지만 아직도 기억에 선명한게 나는 반복문의 사용법을 익히는데 3주라는 시간이 필요했다.

처음에 갓 반복문을 접하고 구구단을 보면 어떻게 해야할지는 굉장히 난감하다.

2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
3 * 1 = 3

구구단을 대부분의 사람들은 알고 있으나 막상 해보라고 하면 뭘 어떻게 시작할지 모르는 경우가 대부분이라고 생각한다. 배운 것을 다 사용해서 만들어내고 싶지만 처음 배우는데 그런건 나에게는 불가능했다. 그래서 나는 “2 * 1 = 2”부터 마지막까지 출력문으로 모두 출력했다.

이렇게 구현하는 것은 누가봤을 땐 놀릴수도 있다. 하지만 아무것도 안하는 사람보다는 매우 좋은 실천이라고 생각한다. 작은 완성은 굉장히 중요한 것을 나타낸다. 작은 완성을 통해 완료를 해본 친구라면 이제는 개선이라는 작업을 할 수 있는 것이다. 현업에서 일하는 지금의 나도 코드를 2번에서 3번정도의 개선 작업을 거치고 저장소에 반영한다. 다르게 생각하면 자그마한 예제일지라도 굳이 한번에 완성하려고 없는 지식을 쥐어짜내면서 지칠 필요는 없다는 것이다. 물론 많은 고민을 통해서 만들어나가는 코드는 질적으로 많은 차이를 가져오지만 이제 막 시작하는 사람에게는 짧은 고민과 작은 완성 그리고 개선 작업의 사이클을 더 반복적으로 실행하는게 더 좋다고 생각한다.

코드를 개선을 해보자!

자 지금부터 구구단의 코드를 개선해보자. 일단 구구단은 순차적으로 증가하는 값들이 존재한다. 바로 단수이다. 2단 3단 … +1씩 증가하는 값을 반복문에 적용하여 개선해보자.

이전의 코드보다 많은 수의 라인이 없어졌다. 반복하는 부분인 단수가 변경되는 부분을 전부 단수를 가르키는 변수 i로 변환했기 때문이다. 반복문은 기본적으로 초기값, 반복조건, 증감연산자를 지닌다.

  • 초기값: 우리는 2단부터 출력하기 때문에 초기값은 2로 초기화
  • 반복조건: 9단까지 출력하기 때문에 i가 10보다 작을 때까지 반복하는 조건을 입력
  • 증감연산자: 단수는 1씩 증가하기 때문에 1씩 증가하는 증감 연산자를 입력

이렇기 때문에 i는 2 ~ 9까지 반복되면서 2단부터 9단까지 출력이 가능하게 된다. 이렇게 반복되는 단수의 값을 i값으로 바꿔보니 반복되는 값이 하나 더 보인다. 바로 단수에 곱해지는 값이다.

단수에 곱해지는 값도 1~9까지 증가하는 반복을 한다.

이 부분까지 개선하고 나면 대표적인 구구단 풀이인 2차 반복문을 활용한 코드가 나타난다. 하지만 코딩은 이제부터 시작이라고 보면 좋을 것 같다.

도전과제

  • 특정 단수만 출력하는 법
  • 단수를 정해 정해진 단수만큼 출력하는 법
  • 구구단 출력 방법을 바꿔보는 법
  • 랜덤으로 구구단 출력해보기

등등 굉장히 많은 방법으로 응용이 가능해진다. 개발은 본인이 흥미가 어느정도인지에 따라 많이 달라진다. 나도 신입 때 아래와 같은 쓸 때 없는 짓을 해봤던 걸로 기억한다.

무언가를 시작하는 방법은 너무 간단해서 좋은 것 같다. 그냥 해봐라! 생각나는 걸 표현해봐라! 효율은 그 나중이다. 효율을 따지기 이전에 흥미를 가지고 효율을 논할정도가 되었을 때 꾸준히 개발을 하는 습관이 만들어질 것이다. 곰곰이 생각해봐도 신입때를 생각해보면 2시 3시까지 개발하던게 일상이었다. 먼가 특별한 것을 한건아니고 일과도 전혀 상관없는 쓸데없는 것들을 많이 해봤던거 같다. 그게 발전되어 효율과 퀄리티가 필요 할 때 힘들어도 꾸준하게 개발을 하는 습관을 만들어줬다고 생각한다.

처음 시작하시는 분들은 먼가 거창하게 시작 할 필요가 없다. 물론 초반부터 잘하는 사람은 존재한다. 하지만 어차피 나라는 존재가 대한민국 평균이라면 그들이 이상한거지 우리가 못하는 것이 절대 아니다. 어차피 세상을 이끌어가는 사람들은 떡잎부터가 다르다. 다르다는 것을 인지하고 어제보다 나은 오늘을 계속 만들어가다보면 발전된 자신을 마주 할 수 있다. 개인의 학업 성취도는 절대로 같지 않기 때문에 꾸준히 하는 것이 중요하다.

--

--