0. 목표

더보기

1단계 (단기 목표): Student to Developer

  • 일반인 관점 → 개발자 관점 전환 → 개발자 업무 이해 → 포트폴리오 준비로 연결

 

1. 비즈니스 관점:

  • 회사와 개발자의 관계 이해:
    • 개발자가 만든 결과물이 시장에 판매되어 회사에 수익을 가져다주고,
    • 그 수익이 다시 나의 급여로 돌아오는 '선순환 구조'를 이해합니다. 
    • 단순히 코드를 짜는 사람이 아니라,
    • 회사의 이익 창출에 기여하는 파트너로서의 공정한 계약 관계임을 인지합니다.

2. 직무 관점: 소프트웨어 개발 프로세스(SDLC)의 전체 흐름 파악

  • 업무 범위 확장:
    • '개발 = 코딩(구현)'이라는 편견을 깨고,
      [계획 → 분석 → 설계 → 구현 → 테스트 → 유지보수]로 이어지는 전체 과정을 이해합니다.
  • 단계별 과업 숙지:
    • 카페 앱 예시를 통해
    • 각 단계에서 실제로 수행해야 하는 구체적인 업무와
    • 산출물(기획서, 명세서, ERD, 테스트 케이스 등)이 무엇인지 학습합니다.

3. 취업 전략 관점: 신입 개발자의 올바른 준비 방향 설정

  • 면접관의 니즈 파악:
    • 면접관은 기술적 완벽함보다 '문제를 대하는 태도', '사고 과정', '설계 능력'을 중요하게 본다는 점을 깨닫습니다.
    • 신입에게는 어떤 업무도 맡길 수 없습니다.
  • 포트폴리오 전략:
    • 단순히 소스 코드만 보여주는 것이 아니라,
      분석과 설계 등 서비스 전체를 책임질 수 있는 역량을 산출물(문서)로 증명해야 함을 이해합니다.

 

1. 공정한 계약 관계

: 개발자 관점에서 공정한 계약 관계와 업무

더보기

(1) 공정한 계약 관계

나는 회사에서 업무를 수행하고, 회사는 월급을 지급한다.

 

 

 

 

(2) 수익의 선순환 구조

1. 회사는 나에게 월급을 준다.

2. 나는 회사에게 나는 업무(프로그래밍)를 하고 결과물을 준다. 

 

3. 나의 결과물이 회사 외부에 판매되고

4. 외부에서 회사로 수익이 창출된다.


5. 그 수익으로 회사를 운영한다.

1. 그리고 다시 회사는 나에게 월급을 준다. 

 

 

 

 

(3) 신입 개발자는 위의 선순환 구조의 주체가 될 수 있는가?

  • 왜 불가능한가?
    • 신입은 아직 “회사 외부에서 돈을 벌어오는 결과물”을 혼자서 만들어내기 어렵습니다.
    • 그래서 회사는 신입에게 즉각적인 수익 창출을 기대하지 않습니다.

  • 그럼에도 불구하고 회사가 신입을 채용하는 이유?
    • 미래의 수익 가능성 (성장 속도)
    • 개발자 관점으로 사고하는지 (업무를 이해하고 따라올 수 있는지)
      “이 사람은
      몇 개월 후, 몇 년 후에
      이 선순환 구조의 일부가 될 수 있는가?”

 

 

 

 

(4) 그렇다면 어떻게 준비해야 하는가?

  • 신입 개발자가 준비해야 할 것은
    “수익을 당장 만들어내는 능력”이 아닙니다.

  • 이 선순환 구조를 이해하고,
    그 안에서 일할 수 있다는 증거
    포트폴리오 를  준비해야 합니다.

  • 포트폴리오는 다음을 증명해야 합니다.
    • 회사의 현실 문제를 이해하려고 노력했는가
    • 단순 기능이 아니라 업무 흐름을 고려했는가
    • 결과물이 실제로 사용 가능한 구조인가
    • 유지보수와 확장을 고려했는가
    • 즉, 포트폴리오는
      나는 아직 수익을 만들지는 못하지만,
      이 선순환 구조 안에서성장할 준비가 되어 있다
      는 것을 보여주는 자료입니다.

 

2. 소프트웨어 개발자의 업무

더보기

개발자의 실제 업무는 다음 순서로 진행됩니다.

 

1️⃣ 계획 (Planning)

  • 왜 필요한가?
  • 범위는 어디까지인가?
  • 일정·비용·리스크는?

2️⃣ 분석 (Analysis)

  • 실제 업무는 어떻게 돌아가는가?
  • 사용자 유형은 누구인가?
  • 기능·비기능 요구사항은?

3️⃣ 설계 (Design)

  • 시스템 구조는?
  • 데이터 구조는?
  • UI는 어떻게 동작해야 하는가?

4️⃣ 구현 (Implementation)

  • 이 단계에서 비로소 코딩이 시작됩니다.

5️⃣ 테스트 (Testing)

  • 동작하는가?
  • 실제로 사용할 수 있는가?

6️⃣ 유지보수 (Maintenance)

  • 운영 중 발생하는 문제 대
  • 개선과 확장

👉 코딩은 전체 과정 중 일부일 뿐입니다.


 

3. 카페 앱 개발 예시

: 개발자의 업무를 상상해 봅시다.

더보기

 

나는 소프트웨어 개발자입니다.

 

어느 날,
100억대 자산가가 ‘심심해서’ 카페를 창업했고,
키오스크와 모바일 앱을 만들어 달라는 요청을 하고 있습니다.

 

자본은 충분합니다.
시간도 어느 정도 여유가 있습니다.

 

이 상황에서
개발자가 가장 먼저 해야 할 일은 무엇일까요?

 

우선, 정답은 코딩이 아닙니다.


 

4. 개발자의 실제 업무 흐름

1️⃣ 계획 (Planning)

더보기

개발은 항상 목적과 범위 정의에서 시작합니다.

 

핵심 질문

  • 왜 키오스크와 앱이 필요한가?
  • 지금 꼭 필요한 기능은 무엇인가?
  • 언제까지, 얼마의 비용으로 만들어야 하는가?

주요 업무

  • 프로젝트 목적 정의
  • 범위 확정 (MVP 기준)
    • 주문
    • 결제
    • 주문 상태 확인
    • 최소 관리자 기능
  • 일정·예산·리스크 정리
    • 운영·유지보수
    • 결제 연동
    • 장애 대응
  • 이해관계자 확정
    • 점주
    • 직원
    • 고객
    • 개발팀

산출물 → 포트폴리오

  • 프로젝트 개요서
  • 범위 정의서
  • 일정표
  • 리스크 목록

2️⃣ 분석 (Analysis)

더보기

“어떻게 만들 것인가?” 이전에
“실제로 어떻게 일하는가?”를 이해해야 합니다.

 

주요 업무

  • 현장 업무 흐름 분석
    (주문 → 결제 → 제조 → 픽업)
  • 사용자 유형 정의
    • 손님
    • 직원
    • 관리자
  • 유스케이스 정리
  • 기능·비기능 요구사항 정리
    • 성능
    • 보안
    • 결제 안정성
    • 장애 대응
  • 핵심 정책 정의
    • 환불
    • 주문 취소
    • 대기열
    • 영수증
    • 포인트 유무

산출물 → 포트폴리오

  • 요구사항 명세서(SRS)
  • 업무 프로세스 다이어그램
  • 유스케이스 목록

3️⃣ 설계 (Design)

더보기

분석 결과를 바탕으로 시스템의 구조를 결정하는 단계입니다.

 

주요 업무

  • 전체 아키텍처 설계
    (백엔드 / 키오스크 / 모바일 앱 / 관리자)
  • 도메인 모델 설계
    • 메뉴
    • 주문
    • 결제
    • 상태 전이
  • API 설계
    • 주문 생성
    • 결제
    • 상태 조회
    • 메뉴 조회
  • 데이터베이스 설계
    • 테이블
    • 인덱스
    • 로그 / 감사 데이터
  • 화면 설계
    • 키오스크 주문 UX
    • 모바일 앱 주문·내역 UX
  • 외부 연동 설계
    • 결제
    • 프린터
    • 푸시 알림

산출물 → 포트폴리오

  • 아키텍처 문서
  • ERD
  • API 명세서
  • 화면 설계서
  • 상태 전이 다이어그램

4️⃣ 구현 (Implementation)

더보기

이 단계에서 비로소 코드를 작성합니다.

 

주요 업무

  • 백엔드 구현
    • API
    • 인증·권한
    • 주문·결제 로직
  • 키오스크 앱 구현
    • 주문 흐름
    • 결제
    • 영수증·주문 번호
  • 모바일 앱 구현
    • 메뉴
    • 주문
    • 결제
    • 주문 내역·알림
  • 관리자 기능 구현
    • 메뉴·가격·재고 관리
    • 주문 모니터링
  • 로그·모니터링·예외 처리

산출물 → 포트폴리오

  • 소스 코드
  • 빌드 결과물
  • 배포 스크립트
  • 운영 로그 정책

5️⃣ 테스트 (Testing)

더보기

“동작한다”와 “사용할 수 있다”는 다릅니다.

 

주요 업무

  • 단위 테스트
    • 주문
    • 결제
    • 상태 전이 로직
  • 통합 테스트
    • 키오스크 ↔ 백엔드 ↔ 결제 ↔ 프린터
  • 시나리오 테스트
    • 혼잡 시간
    • 취소·환불
    • 네트워크 장애
  • 성능·부하 테스트
    • 동시 주문 처리
    • DB 병목
  • 사용자 테스트
    • 직원·점주 피드백 반영

산출물 → 포트폴리오

  • 테스트 케이스
  • 테스트 결과서
  • 결함 리스트
  • 수정 이력

6️⃣ 유지보수 (Maintenance)

더보기

서비스는 배포로 끝나지 않습니다.

 

주요 업무

  • 운영 배포 및 모니터링
  • 장애 대응 체계 운영
  • 기능 개선
    • 프로모션
    • 쿠폰
    • 멤버십
  • 보안 업데이트
    • 결제
    • 개인정보
    • 취약점 패치
  • 데이터 기반 개선
    • 주문 전환율
    • UI 병목
    • 인기 메뉴 분석
  • 기기 관리
    • 키오스크 OS 업데이트
    • 원격 관리

산출물 → 포트폴리오

  • 운영 매뉴얼
  • 장애 대응 절차서
  • 변경 관리 기록
  • 버전 릴리즈 노트

 

5. 개발자 업무 핵심

: 코딩은 전체 과정 중 일부에 불과하다

더보기
  • 개발자의 일은 코딩만이 아니다
  • 코딩은 전체 과정 중 일부에 불과하다
  • 분석·설계·테스트·운영이 없으면
    → 서비스는 실패한다
  • 개발자는 프로그램만 만드는 사람이 아니라,
    서비스를 책임지는 사람이라는 마인드가 필요합니다.
  • 이 업무를 할 수 있다는 것을 포트폴리오에 보여주어야 합니다.

 

6. 면접관이 신입 개발자를 바라보는 관점

더보기

신입 개발자에게 완벽한 기술력은 기대하지 않습니다.

이 세상 그 어느 신입 개발자도 처음부터 개발 업무를 할 수 없습니다.

 

대신,

  • 문제를 바라보는 관점
  • 사고 과정
  • 설계하려는 태도

를 보고 싶어 합니다.

 

 

면접관은 이렇게 생각합니다.

 

“이 사람은 코드를 외운 사람인가?” 

“아니면 문제를 이해하고 해결할 줄 아는 사람인가?”


 

NEXT. 프로그램의 본질과 산출물