Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Django
- programmers
- java
- 코딩테스트
- sort
- 그리디
- 프로그래머스
- 롤
- API
- SQL
- 자바
- 그리디알고리즘
- git
- 장고
- 알고리즘
- 라이엇
- 내일배움캠프
- 파이썬
- drf
- lol
- 리그오브레전드
- 코딩테스트준비
- github
- greedy
- 탐욕알고리즘
- 백준
- 스파르타내일배움캠프
- 스파르타내일배움캠프TIL
- python
- Riot
Archives
- Today
- Total
Lina's Toolbox
SA 문서 작성법 + 개발 공부하는 방법 본문
SA 문서의 정의
- 'Software Architecture'의 약자로 소프트웨어 전반적인 구조에 대한 문서를 의미
- 내가 이 프로젝트에 대해 아는 만큼 작성할 수 있음 -> 작성하면서 학습이 된다. -> 소프트웨어 역량 향상에 좋음
- 보통 PM이나 팀장이 작성한다.
- 사실 현업에서는 모든 문서를 퉁치지않고 작성해야할 여러가지 문서가 있음..
SA 문서를 작성하는 이유
- 소프트웨어의 구조를 '설계'하고 표준을 지향하는 '소통'을 하기 위함
- 소프트웨어는 구조가 가면 갈수록 복잡해짐 -> 내가 만드려는 소프트웨어를 다른 사람에게도 이해시키려는 목적
- Web 과 AI 를 다루기 위해 소프트웨어적 설계 능력과 수학적 사고력을 길러야함
- 궁극적으로 수강생 입장에서 해당 문서를 작성해본 경험이 있는 분을 기업에서 선호함 -> 취업에 유리
SA 문서를 효율적으로 작성하는 법
[]는 생략 가능한 것
- 들어가면 좋은 내용: 팀 소개, 프로젝트 개요, 개발 기간, 일정(주 단위), 역할 분담, 개발 환경, 사용하는 기술, [초기 기획], 와이어프레임, [참고 자료], 최종 결과물(사진 첨부), 핵심 기능, API 명세서, 요구사항 명세(실무에서는 이 부분이 길다), [우리 팀 규칙]
- 정해진 양식은 없다.
- 최대한 상세하게 작성할수록 좋다!!!
- 잘 작성된 SA 문서를 통해 내가 논리적인 사람인지 어필할 수 있다.
- 비전공자/ 비전문가도 읽고 이해하도록 작성해야 한다.
- 작성 전 본인의 프로젝트를 충분히 파악해야 한다.
- SDLC(소프트웨어 개발 수명 주기;시작부터 끝)를 생각하며 작성할 것
- 항상 표준과 최신을 적용할 것 // 프로젝트가 수정되면 SA도 수정되어야함 (사용하는 파이썬 버전이 바뀌었을 경우 등)
- 예쁘게 작성하기
- SA 문서도 버전을 나눠 작성하면 좋다. ex. SA 1.0.1
* python 3.0.1 :
메이져리버전(이 숫자가 다르면 서로 호환 안됨). 마이너리비전(호환 되기도 하고 안되기도 함. 숫자 차이가 크면 호환 안될 가능성 높음). 패치(차이 거의 없는 사소한 업데이트)
노션에 SA 작성한 뒤 깃 readme 에 첨부하면 좋음. ( Figma등 다른 작업한 것도 있으면 첨부)
// 참고로 깃 리드미는 영어로 작성하는 게 좋음.
실무에서는 보통 회사 바이 회사 지만
(대략) 사용자 관점에서 알아야 하는 것 , 개발자 관점에서 알아야 하는 것 나눠서 작성하는 편.
SDS 와 비슷하여 참고하면 좋음.
SA 문서 예시
https://www.notion.so/teamsparta/SA-97b05811e819459db6bfd1cd79ae6c1a
개발 역량 향상 꿀팁
- 사용하려는 기술에 대한 이해
- 공식 문서를 최대한 참고하고 개발자 커뮤니티 기웃거리기 ( 가능하면 원문으로 읽기)
- 전문 IT 자격증을 통해 배경지식 함양(기사등급, 최소 산업기사 이상)
// 개발자 커뮤니티: Git, StackOverFlow, 각 기술 커뮤니티(DRF, JS 등)
- 문제를 파악하고 해결할 수 있는 사고력과 대응력
- 알고라줌 문제를 통해 간접적으로 해당 역량을 간접적으로 향상할 수 있음
- 사실 오랜 시간 경험을 통해 쌓이는 역량이 가장 크다.
- 사업 설계 및 계획 능력
- 작성하는 문서들을 통해 직접적으로 기를 수 있는 역량임.
- 면접 때 PM 역할을 수행했다고 했을 때, 면접관들이 다소 흥미있게 물어보는 이유임
- 프로젝트 설계를 넘어서 사업의 흐름을 보게 될 줄 알 때, 나의 시야는 엄청나게 넓어진다.
- 연구할 수 있는 정신 지구력과 깊은 호기심
- 사실 이 부분은 냉정하게 재능의 문제라 애매한 부분..
- Web과 AI를 함께 다루기 위해서는 지구력과 호기심이 반드시 필요함
- 관련된 주제의 논문과 Git을 많이 읽어보고 찾아볼 것
- 영어에 익숙해질 것 (원문으로 보려고 노력하기)
- 팀원간 많이 소통하고 지적을 받고 칭찬받을 것
- 본인만의 목표와 신념을 가지기!
* 인사 면접 때 많이 물어보는 질문
야근할 수 있는 지 / 주말 출근 할 수 있는 지/ 사용해본 모듈, 라이브러리, 프레임워크
'스파르타 내일 배움 캠프 AI 웹개발 과정' 카테고리의 다른 글
최종 프로젝트 아이디어 브레인스토밍 중.. (4) | 2024.09.23 |
---|---|
[스파르탄 코딩클럽_AI 트랙 7기] - 스타터 노트 (0) | 2024.06.24 |