Page 27 -
P. 27
로 책을 쓸 때 하던 수작업을 자동화하는 하드웨어, 소프트웨어가 구글 문
서 외에도 많다. 이 정도면 내가 무슨 얘기를 하는지 이해했으리라 생각한
다. 코드 장인이 되려면 다음 핵심 개념을 이해해야 한다는 뜻이다.
무언가를 자동화하기 전에 그 작업을 수동으로 하는 방법부터 깨우쳐야
한다.
문제 이해하기
자신이 무엇을 만드는지 제대로 이해하지 못한 채 소프트웨어 코드부터
작성하는 개발자 지망생이 많다. 사실 경력 개발자도 마찬가지다. MUD 예
처럼 코딩을 배울 때는 그렇게 해도 상관없다. 하지만 소프트웨어를 제작할
때는 얘기가 달라진다. 이 책을 읽고 있는 것으로 볼 때 당신은 분명 이보다 현
명할 거라고 본다.
소프트웨어 개발은 언제나 해결할 문제를 이해하는 지점에서 시작한다. 자동화할
대상이 무엇인가? 이 부분을 처리하는 방법은 소프트웨어 개발 방법론마다
다르지만, 지금 그 부분은 중요하지 않다. 코딩을 시작하기 전에 어떤 방식
으로든 해결할 문제를 이해하고 요구사항을 알아내야 한다는 게 논점이다.
경우에 따라 고객을 만나 무엇을 만들어야 하는지 어떻게 작동해야 하는지
의논하는 정도로 간단하게 진행할 때도 있고, 제품 명세 문서를 작성할 정
도로 격식을 갖추어 진행할 때도 있다.
설계하기
일단 해결할 문제를 이해했으면 그 문제를 코드로 어떻게 해결할지 설계
해야 한다. 설계도 코드를 작성하기 전에 해야 한다. 코드의 구조적 청사진
2장 입문하기 043
커리어스킬_07.indd 43 2019-03-25 오후 5:37:30