CodeGym /행동 /Frontend SELF KO /제품 개발

제품 개발

Frontend SELF KO
레벨 47 , 레슨 3
사용 가능

5.1 조금의 역사

90년대에 인터넷 혁명이 시작될 때, 인터넷 서비스를 어떻게 개발해야 하는지 아무도 몰랐어. 모든 기능들이 바로 사용자들에게 제공되었고, 이것은 전통적인 소프트웨어 개발과 매우 달랐어.

당시의 가장 큰 검색 엔진인 회사 Yahoo는 새로운 길을 선택하기로 했지, 할리우드에서의 접근 방식을 따르기로 했어: 그들의 매니저들은 심지어 프로듀서라고 불렸어 :) 당연히, 잘 되지 않았어. 🤦‍♂️

이건 흥미로워

Yahoo는 다른 회사를 인수하는 데 있어 가장 큰 실패자야. 그들은 여러 번 Google과 Facebook을 인수하라는 제안을 받았었어. 그리고 그들의 하락기에는 Microsoft가 400억 달러에 인수하려고 했지만, 다시 거절했어. 몇 년 뒤, 그들은 30억 달러에 팔렸어. 90년대 황금기에는 2000억 달러의 가치가 있었고, Google을 인수했다면 지금은 몇 조원이 되었을 거야. Yahoo처럼 되지 마.

인터넷 혁명 이후 수십 가지의 소프트웨어 개발 방법이 테스트되었고, 지금은 상황이 안정화되었어. 표준적인 역할과 표준적인 책임, 표준적인 프로세스와 소프트웨어가 존재해.

학습 과정에서 현대 IT 회사와 최신 개발 도구로 일하기 위해 필요한 모든 것을 배우게 될 거야.

5.2 제품 팀

제품 팀

일반적인 개발 팀은 다음과 같이 구성돼:

  • 제품에 어떤 기능이 있어야 하는지 결정하는 사람들
    • Product Owner
    • Business Analytic
  • 기능을 구현하는 개발자들
    • Software Architect
    • Backend Developer
    • Frontend Developer
    • Mobile Developer
  • 제품의 품질을 책임지는 사람들
    • QA Automation
    • DevOps

Product Owner는 소프트웨어 개발에서 핵심적인 역할을 해. 그는 제품을 관리하고 개발 팀이 가장 중요한 작업에 집중하도록 보장해. 그는 제품 비전을 설정하고, 작업 리스트(backlog)를 작성하고 우선순위를 정해. 이것은 개발의 각 단계가 비즈니스 목표와 사용자 요구에 최대한 부합하도록 도와줘.

UX Designer는 제품의 편리하고 효율적인 인터페이스를 만드는 일을 해, 사용자 요구를 조사하고 프로토타입을 개발하며 인터페이스를 테스트하는 것을 포함해. 이 작업은 사용자가 제품과의 상호작용을 개선하여 최대한 이해하고 사용하기 쉽게 만드는 것을 목표로 해.

DevOps 전문가는 소프트웨어 개발과 운영 관리 프로세스를 최적화하여 제품 업데이트를 더욱 빠르고 쉽게 수행할 수 있도록 해. 그들의 작업은 테스트, 배포 및 모니터링 시스템의 자동화뿐만 아니라 인프라 설정과 지속적 통합 및 배포(CI/CD)의 보장을 포함해.

5.3 개발 팀

실제 개발은 프로그래머에 의해 진행돼. 이들은 대략 5가지 카테고리로 나눌 수 있어:

  • Software Architect
  • Backend Developer
  • Frontend Developer
  • Mobile Developer
  • DBA

역할과 내용은 팀의 크기와 제품의 특성에 따라 변할 수 있지만, 대체로 이런 상황이야:

Software Architect: 복잡한 소프트웨어 시스템의 아키텍처 설계를 책임져. Architect는 기술 인프라를 개발하고, 소프트웨어 제품의 다양한 구성 요소의 구조와 상호 작용 방식을 정의해, 이들의 확장성, 성능 및 보안을 보장해.

Backend Developer: 애플리케이션의 서버 측 개발을 전문으로 해. Backend Developer의 작업은 로직 구현, 데이터베이스 및 데이터 관리 시스템 통합, 사용자 요청 처리 및 프론트엔드 부분과의 상호작용 유지를 포함해.

Frontend Developer: 웹 애플리케이션의 사용자 인터페이스를 개발해. 이 역할은 HTML, CSS 및 JavaScript에 대한 지식이 필요하며, 인터랙티브하고 반응적인 인터페이스를 만드는 프레임워크 및 라이브러리에 대한 지식도 필요해, 이를 통해 사용자와 제품 간의 좋은 상호작용을 제공해.

Mobile Developer: 모바일 기기를 위한 애플리케이션을 개발해. Mobile Developer는 다양한 운영 체제(예: iOS 및 Android)를 위한 애플리케이션을 만들어, 플랫폼의 특성, 기기의 성능 및 사용자 경험을 고려해.

DBA (Database Administrator): 데이터베이스 관리를 책임져, 데이터베이스의 가용성, 보안 및 최적화를 보장해. DBA는 데이터베이스의 설정, 모니터링 및 유지 관리 작업을 수행하며, 데이터 백업 및 복구 전략을 개발해.

코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION