1.3 프로그램의 본질과 산출물

0. 목표
1단계 (단기 목표): Student to Developer
- 일반인 관점 → 개발자 관점 전환 → 개발자 업무 이해 → 포트폴리오 준비로 연결
프로그램을 만드는 과정과 업무에 대해 감을 잡았다면,
프로그램의 본질을 살펴보고, 프로그램에 어떤 업무 문서가 필요한지 이해합니다.
그리고 이를 통해 신입 개발자가 어떻게 준비해야 할지 알아봅시다.
1. 프로그램의 본질

프로그램은 본질적으로 Data(데이터)와 Logic(로직)으로 이루어진다.
- Data
프로그램이 저장하고 관리해야 할 정보
(예: 사용자, 상품, 주문, 설정값) - Logic
데이터를 어떤 규칙과 순서로 처리할지 결정하는 판단 체계
(예: 조건문, 계산, 흐름 제어)
여기에 실제 사용자 프로그램에서는 UI(사용자 인터페이스)가 추가되어 3요소 구조가 된다.
- UI
사용자가 무엇을 보고 행동하게 할 것인가?
(예: 버튼, 이미지)
그렇기 때문에 프로그래밍의 시작은,
위 3요소를 분석하여 어떻게 구현할 것인지 설계하는 것부터 시작한다.
2. 프로그래밍이란 프로그램을 만드는 과정이다.
프로그래밍의 시작은 코딩이 아니라 분석·설계이다
코드를 작성하기 전에 개발자는 반드시 다음 질문에 답해야 한다.
- 사용자는 무엇을 보게 되는가? (UI)
- 시스템은 어떤 규칙으로 동작하는가? (Logic)
- 어떤 데이터를 저장하고 관리해야 하는가? (Data)
이 질문에 답하기 위해 각 영역별로 분석·설계 산출물을 작성한다.
그리고 이를 바탕으로 Schedule(일정)과 Plan(계획)을 확정한다.
3. 코딩은 결과다.
[1] 연애에서, 고백이 관계의 시작이 아니라,
[2] 관계의 확인이듯
[1] 프로그래밍에서, 코딩은 프로그래밍의 시작이 아니라,
[2] 분석·설계(UI·Logic·Data)를 통해 확정된 결과를 코드로 옮겨 프로그램을 완성하는 단계이다.
개발자가 하는 일은,
컴퓨터로 문제를 해결하는 것이지, 코드를 작성하는 사람이 아닙니다.
4. 분석·설계 산출물의 최종 목적

UI, Logic, Data 영역에서 작성한 모든 문서는
프로그램 결과물을 예측 가능하게 만들기 위한 설계 도구이다.
이 산출물들을 통해 개발자는 다음을 명확히 한다.
- 무엇을 만들 것인가
- 어떻게 동작해야 하는가
- 어떤 데이터를 다룰 것인가
이 과정을 거친 뒤에야 구현 방법과 일정 계획을 합리적으로 세울 수 있다.
이 문서 산출물로 보여줄 수 있어야 한다.
5. 그렇다면 신입 개발자의 포트폴리오는 무엇을 보여줘야 할까?
면접관이 보고 싶은 것
- 언어 숙련도 ❌
- 라이브러리 개수 ❌
대신,
- 문제를 바라보는 관점
- 사고 과정
- 설계하려는 태도
를 보고 싶어 합니다.
좋은 포트폴리오란?
“무엇을 만들었는가”가 아니라 “어떤 문제를 어떻게 해결했는가”를 설명하는 자료입니다.
: 취업을 위해 신입 개발자는 무엇을 어떻게 준비해야 하는가?