앞으로 남은 2년(복무로 인한 휴학)의 기간동안 어떻게 공부하는 것이 좋을지 생각해봤다.
'비즈니스적 문제'를 해결할 수 있는 프로젝트를 진행하려 한다.
비즈니스적 문제 해결: 정의
말이 어렵지 별 것은 아니고, 내 아이디어를 직접 구현해보는 것이다.
- 문제 제기 단계에서 새로운 아이디어를 떠올리고,
- 기획 단계에서 사용자 입장의 좋은 서비스에 대해 생각하며 UI/UX를 고려하고,
- 개발 단계에서 기획 단계의 요구사항(애니메이션, 반응형 디자인 등)을 만족시키기 위한 개발능력을 키운다.
비즈니스적 문제해결: 요구사항
팀원
- 혼자서 개발하는 것 보다는 소통하면서 협업하는 편이 좋을 것이다.
- 토론을 통한 사고의 확장
- 코드리뷰를 통한 개발 능력 향상
- 팀원을 어떻게 찾을 것인가?
- 인프런 커뮤니티 등 온라인 구인
- 본인의 개발 실력 부족으로 인해 팀원들에게 폐가 되지 않을까 걱정했지만, 나와 비슷한 학생들을 만나면 될 것이라 생각한다. 애초에 수준이 맞지 않으면 채용(?)되지도 않을 것이다.
- 강제성이 있는 과제, 대회가 아닌 자율적인 사이드 프로젝트라서 중도 하차하는 팀원들이 많다고 들어 걱정된다. 프로젝트가 엎어지는 경우가 종종 있다고 한다.
- 협업을 할 때는 소통이 중요한 만큼, 오프라인으로 만나는 것을 선호한다. 하지만 온라인으로 구인할 경우 물리적인 거리로 인해 오프라인 미팅이 어려울 것이다.
- 영남대 멋쟁이 사자처럼
- 가장 이상적이다. 하지만 프로젝트를 함께할 사람이 과연 몇이나 될지 모르겠다.
일단 물어는 볼 텐데, 아마 없을 것이다..
- 가장 이상적이다. 하지만 프로젝트를 함께할 사람이 과연 몇이나 될지 모르겠다.
- 인프런 커뮤니티 등 온라인 구인
- 팀원의 적정 인원수는?
- 백엔드 2, 프론트엔드 2 총 4명을 생각중이다. 백엔드 한명, 프론트엔드 한명도 생각해봤지만 같은 기술을 사용하는 사람들 사이에서 소통하는 것이 개발 능력을 키우기에 좋을 것이다.
- Firebase 등을 활용할 수 있다면 프론트엔드 인원들로만 진행해도 괜찮을 것이다. 프로젝트 규모에 따라 인원은 2~4명이 적절할 것 같다.
프로젝트 진행 기간
- 본인은 적어도 복무 시작일인 4월까지는 시간이 넉넉하지만 협업을 한다면 재학중인 팀원의 일정에 맞춰야 할 것이다.
- 개강 전인 2월까지 약 2달의 시간이 남아있다.
백엔드 API
- 백엔드 담당 팀원이 구해지지 않을 경우
- 선택지
- Firebase
- 장점: Firebase 사용법을 익히면서 간단히 백엔드 API를 구현할 수 있다.
- 단점: Firebase를 위해 따로 학습시간을 투자해야한다.
- Node.js
- 장점: 익숙한 javascript로 백엔드 개발 능력을 키울 수 있다.
- 단점: 마찬가지로 학습시간을 투자해야한다. Firebase와 달리 보안 등의 문제들을 직접 해결해야 한다.
- Django
- 장점: 사용 경험이 있다. Node.js 보다 학습에 필요한 시간이 적다(적을 것이라 예상한다).
- 단점: Node.js와 마찬가지로 보안 등의 문제를 직접 해결해야 하며, 현업에서는 거의 사용하지 않는다.
- Firebase
- 본인의 선택
- 프론트엔드에 대한 이해가 부족한 상황에서 백엔드 지식을 함께 공부하는 것은 효율적이지 못하다고 판단했다.
- 당장은 Firebase를 익혀 최대한 간단하게 API 문제를 해결하고, (지금보다 비교적) 프론트엔드 지식이 어느정도 쌓였을 때 백엔드 프레임워크를 공부하는 것이 좋을 것이다.
- 물론 이상적인 상황은 백엔드 팀원이 구해지는 것..
- 선택지
UI / UX
- Bootstrap 등의 외부 라이브러리 사용은 금지한다.
- 직접 CSS를 다루는 능력 또한 프론트엔드 개발자로써 중요하다.
- 개발자가 편한 방식이 아닌 사용자가 편한 방식으로 디자인한다.
- Figma
- 간단한 UI만 Figma로 구현하도록 한다.
- Figma에 익숙해지기 위한 공부는 백엔드 프레임워크와 같은 이유로 미룬다.
진행상황에 대한 기록
- 블로그에 기록
- 카테고리를 만들어 그곳에 진행도를 기록한다.
- 프로젝트가 완료되면 github에 README를 작성한다.
위의 내용들을 다른분들께 어떻게 생각하시냐고 여쭤봤다.
- 백엔드 팀원 없이 프로젝트를 진행하고 리팩토링 하라
- Firebase, Node.js는 프론트엔드 개발자의 필수 역량이다. 이를 위해서는 백엔드 팀원이 없어야한다.
- 욕심내지 말고 일단 프로젝트를 진행하라. 그리고 디자인 패턴, 언어에 대해 심도있게 공부하라. 그 때 코드를 다시 보고 리팩토링 하자. 지금 해봐야 밑빠진 독에 물 붓는 꼴이다.
- 협업 없이 개인 프로젝트를 진행해보라
- 협업 경험이 중요한 것은 사실이다. 하지만 혼자 프로젝트를 진행하면서 상상력이 많이 늘었다.
- 개인 프로젝트를 진행하며 실력을 키우고 협업을 하는 것을 추천한다.
지난 여름, 급한 마음에 감당하지도 못하는 스터디를 이것저것 만드는 바람에 꽤 고생했다.
결국 아무것도 제대로 해낸 것 없는 결과를 만들고 말았다.
이번에도 그런 꼴이 될 뻔 했다. 욕심내지 말라는 말을 듣고서야 깨달았다.
일단 개인 프로젝트를 진행해보자.
- Firebase 사용법을 익힌다: 강의를 통한 학습과 포스팅
- Figma로 UI를 디자인한다.
- 구조 설계 후 코드를 작성한다.
내가 할 일은 이 세 가지다.
길이보인다..
'Diary' 카테고리의 다른 글
2023.12.27 (2) | 2023.12.27 |
---|---|
2023.12.26 (0) | 2023.12.26 |
2023.12.25 (0) | 2023.12.26 |
2023.12.23 (1) | 2023.12.23 |
2023.12.22 (0) | 2023.12.22 |