본문 바로가기
Diary

2023.12.24

by aeyong-dev 2023. 12. 24.

앞으로 남은 2년(복무로 인한 휴학)의 기간동안 어떻게 공부하는 것이 좋을지 생각해봤다. 

'비즈니스적 문제'를 해결할 수 있는 프로젝트를 진행하려 한다. 


비즈니스적 문제 해결: 정의 

말이 어렵지 별 것은 아니고, 내 아이디어를 직접 구현해보는 것이다. 

  1. 문제 제기 단계에서 새로운 아이디어를 떠올리고, 
  2. 기획 단계에서 사용자 입장의 좋은 서비스에 대해 생각하며 UI/UX를 고려하고,
  3. 개발 단계에서 기획 단계의 요구사항(애니메이션, 반응형 디자인 등)을 만족시키기 위한 개발능력을 키운다. 

비즈니스적 문제해결: 요구사항

팀원

  • 혼자서 개발하는 것 보다는 소통하면서 협업하는 편이 좋을 것이다. 
    • 토론을 통한 사고의 확장
    • 코드리뷰를 통한 개발 능력 향상
  • 팀원을 어떻게 찾을 것인가?
    • 인프런 커뮤니티 등 온라인 구인
      • 본인의 개발 실력 부족으로 인해 팀원들에게 폐가 되지 않을까 걱정했지만, 나와 비슷한 학생들을 만나면 될 것이라 생각한다. 애초에 수준이 맞지 않으면 채용(?)되지도 않을 것이다. 
      • 강제성이 있는 과제, 대회가 아닌 자율적인 사이드 프로젝트라서 중도 하차하는 팀원들이 많다고 들어 걱정된다. 프로젝트가 엎어지는 경우가 종종 있다고 한다. 
      • 협업을 할 때는 소통이 중요한 만큼, 오프라인으로 만나는 것을 선호한다. 하지만 온라인으로 구인할 경우 물리적인 거리로 인해 오프라인 미팅이 어려울 것이다. 
    • 영남대 멋쟁이 사자처럼
      • 가장 이상적이다. 하지만 프로젝트를 함께할 사람이 과연 몇이나 될지 모르겠다. 일단 물어는 볼 텐데, 아마 없을 것이다..
  • 팀원의 적정 인원수는?
    • 백엔드 2, 프론트엔드 2 총 4명을 생각중이다. 백엔드 한명, 프론트엔드 한명도 생각해봤지만 같은 기술을 사용하는 사람들 사이에서 소통하는 것이 개발 능력을 키우기에 좋을 것이다. 
    • Firebase 등을 활용할 수 있다면 프론트엔드 인원들로만 진행해도 괜찮을 것이다. 프로젝트 규모에 따라 인원은 2~4명이 적절할 것 같다.

프로젝트 진행 기간

  • 본인은 적어도 복무 시작일인 4월까지는 시간이 넉넉하지만 협업을 한다면 재학중인 팀원의 일정에 맞춰야 할 것이다. 
    • 개강 전인 2월까지 약 2달의 시간이 남아있다. 

백엔드 API

  • 백엔드 담당 팀원이 구해지지 않을 경우
    • 선택지 
      • Firebase 
        • 장점: Firebase 사용법을 익히면서 간단히 백엔드 API를 구현할 수 있다. 
        • 단점: Firebase를 위해 따로 학습시간을 투자해야한다. 
      • Node.js
        • 장점: 익숙한 javascript로 백엔드 개발 능력을 키울 수 있다. 
        • 단점: 마찬가지로 학습시간을 투자해야한다. Firebase와 달리 보안 등의 문제들을 직접 해결해야 한다. 
      • Django
        • 장점: 사용 경험이 있다. Node.js 보다 학습에 필요한 시간이 적다(적을 것이라 예상한다).
        • 단점: Node.js와 마찬가지로 보안 등의 문제를 직접 해결해야 하며, 현업에서는 거의 사용하지 않는다. 
    • 본인의 선택
      • 프론트엔드에 대한 이해가 부족한 상황에서 백엔드 지식을 함께 공부하는 것은 효율적이지 못하다고 판단했다. 
      • 당장은 Firebase를 익혀 최대한 간단하게 API 문제를 해결하고, (지금보다 비교적) 프론트엔드 지식이 어느정도 쌓였을 때 백엔드 프레임워크를 공부하는 것이 좋을 것이다. 
      • 물론 이상적인 상황은 백엔드 팀원이 구해지는 것..

UI / UX

  • Bootstrap 등의 외부 라이브러리 사용은 금지한다. 
    • 직접 CSS를 다루는 능력 또한 프론트엔드 개발자로써 중요하다. 
  • 개발자가 편한 방식이 아닌 사용자가 편한 방식으로 디자인한다. 
  • Figma
    • 간단한 UI만 Figma로 구현하도록 한다. 
    • Figma에 익숙해지기 위한 공부는 백엔드 프레임워크와 같은 이유로 미룬다. 

진행상황에 대한 기록

  • 블로그에 기록
    • 카테고리를 만들어 그곳에 진행도를 기록한다.  
    • 프로젝트가 완료되면 github에 README를 작성한다.  

위의 내용들을 다른분들께 어떻게 생각하시냐고 여쭤봤다. 

 

  • 백엔드 팀원 없이 프로젝트를 진행하고 리팩토링 하라
    • Firebase, Node.js는 프론트엔드 개발자의 필수 역량이다. 이를 위해서는 백엔드 팀원이 없어야한다. 
    • 욕심내지 말고 일단 프로젝트를 진행하라. 그리고 디자인 패턴, 언어에 대해 심도있게 공부하라. 그 때 코드를 다시 보고 리팩토링 하자. 지금 해봐야 밑빠진 독에 물 붓는 꼴이다. 
  • 협업 없이 개인 프로젝트를 진행해보라
    • 협업 경험이 중요한 것은 사실이다. 하지만 혼자 프로젝트를 진행하면서 상상력이 많이 늘었다. 
    • 개인 프로젝트를 진행하며 실력을 키우고 협업을 하는 것을 추천한다. 

 

지난 여름, 급한 마음에 감당하지도 못하는 스터디를 이것저것 만드는 바람에 꽤 고생했다. 

결국 아무것도 제대로 해낸 것 없는 결과를 만들고 말았다. 

이번에도 그런 꼴이 될 뻔 했다. 욕심내지 말라는 말을 듣고서야 깨달았다. 

일단 개인 프로젝트를 진행해보자. 

 

  1. Firebase 사용법을 익힌다: 강의를 통한 학습과 포스팅
  2. Figma로 UI를 디자인한다. 
  3. 구조 설계 후 코드를 작성한다. 

내가 할 일은 이 세 가지다. 

길이보인다..

'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