why not
기술셋을 선정하는 기준 (19일차) 본문
1. 올바른 기술셋 선정하기
- 하루가 멀다하고 계속 나오고 있는 새로운 기술들?
- 계속 배우자.
- 트렌드(흐름)를 읽는 능력을 기르자.
- 새롭게 변하는 패러다임, 프로그래밍 기술의 철학을 이해하자.
- 다양한 기술 안에서 우리는 어떤 기술을 사용해야 할까?
- 내가 알고 있는 기술셋 안에서 어떤 기술을 선택할지 나만의 기준을 정하자.
2. 올바른 기술셋은 무엇일까요?
- 내가 사용하고 싶은 최신 기술 보다는 시스템의 요구사항을 잘 충족시키고 서포트 할 수 있는 기술을 선택해야 한다.
- 기술셋을 위해서 프로젝트를 하는 것이 아니라, 프로덕트 방향과 성향에 맞는 기술을 선택하자.
- ex) 이번에 Vue가 새로 나왔다고 하니 써볼래요! -> 기술 후보군의 비교/분석 없이 결정한다면 추후에 해당 기술이 지원하지 않는 피쳐가 있을 경우 난감하다. 최악의 경우 해당 기술을 드러내고 다른 기술을 다시 리서칭 해야 할 수도 있기 때문에, 무조건 최신 기술이라고, 무조건 많은 라이브러리를 쓴다고 올바른 것이 아니다!
3. 왜 올바른 기술셋을 선택하는 것이 중요한가요?
- 내가 어떤 생각으로 기술을 선택하는지 철학과 기준이 있어야 더 나은 개발자가 될 수 있다.
- 어떤 기술을 선택하느냐에 따라 소프트웨어 운영/유지 비용에 영향을 줄 수 있다.
- AWS S3가 최신 기술이니 좋다고 들어서 사용했다가는 무료가 아니기에, 요금 폭탄을 맞을 수도 있다.
- 소프트웨어의 한계점을 만들어 낼 수도 있다.
- 특정 기술이 기능 면에서 한정적이거나 개발자가 다룰 수 있는 범위가 한정적이라면 프로젝트에서 많은 문제를 발생시킬 수 있다. 반대로 코드 구현을 수월하게 해준다 하더라도 배포나 다른 기술과의 통합이 어렵다면 개발을 돕지 못하는 한계점을 갖는다.
- 지금 선택한 기술이 이 소프트웨어의 근간 기술이 된다.
- 추후 다른 개발자들이 합류했을 때, 이 기술을 배우고 사용해야 하기 때문이다.
- 기술을 위해 소프트웨어가 존재하는 것이 아니라, 더 나은 경험을 제공하는 소프트웨어를 만들기 위해 기술이 존재하는 것이다.
- 주객 전도가 되면 안됨
4. 어떻게 선정하나요?
- 시스템의 요구사항을 잘 충족시키기 위해 필요한 것들 리스팅
- 이 시스템이 멀티 스레딩을 지원해야 하는지 여부
- 스트리밍 서비스여서 성능이 좋아야 하는지 여부
- 해당 기술의 learning curve 배우기 위해 투입되어야 하는 시간 -> 적은 기술을 선택
- 팀원들의 기술에 대한 친숙도 -> 친숙한 기술을 선택
- 해당 기술의 업데이트가 활발하고 커뮤니티가 활성화 되어 있는지 여부 -> 활성화 된 기술을 선택
- 후보군 조사
- 기술셋 후보군 중에 사용해본 적이 없는 기술은 배제하지 말고 리서치를 하는 시간을 충분히 가진 후 비교해야 한다.
- 개발자는 항상 모르는 것이 있을 수밖에 없어서 모른다고 피하기 보다는 이해하는 시간을 갖자.
- 공식 문서를 읽고, 간단하게 기술을 가지고 놀아보는 시간을 갖기를 추천!
- 비교 테이블 생성
- 각 후보군 별로 시스템의 요구사항을 충족 시키는지 비교하기 위한 테이블을 만들기
- 팀 내 토론 및 결정
- 개인의 취향에 맞게 선택하기 보다는, 이 프로덕트에 가장 적합한 기술을 선택하는 것이 중요하다.
- 조그만 프로젝트(사이드 프로젝트)라 하더라도, 실무에서 접근하는 방식대로 연습!
- 무슨 기술을 선택하든 선택에 따른 장/단점이 존재하기 때문에 상황에 따라 어떤 장/단점을 수용할 것인지 판단하는 것이 중요
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
* 필수 삽입 링크 : http://bit.ly/3Y34pE0
패스트캠퍼스 [직장인 실무교육]
프로그래밍, 영상편집, UX/UI, 마케팅, 데이터 분석, 엑셀강의, The RED, 국비지원, 기업교육, 서비스 제공.
fastcampus.co.kr
'Today I Learn > 환급 챌린지' 카테고리의 다른 글
기술셋 선정하기 2 (21일차) (0) | 2023.03.12 |
---|---|
기술셋 선정하기 1 (20일차) (0) | 2023.03.11 |
[실전] 시스템 설계 3 (18일차) (0) | 2023.03.09 |
시스템 설계 2 (17일차) (1) | 2023.03.08 |
[실전] 시스템 설계1 (16일차) (0) | 2023.03.07 |