개발을 하다보면 다양한 범위의 CS(Computer Science) 지식 필요합니다.
알고리즘, 데이터구조, 디자인패턴 등의 CS 지식을 프로그래밍에 사용하며 더 좋은 코드를 짤 수 있는 기술력이 되기도 합니다.
다양한 CS 지식을 습득하면서 자신의 역량을 키울 수 있기 때문에 틈틈히 CS 지식에 대해 알아보는 시간을 가지는 것도 필요합니다.여러 가지 CS 지식을 주제를 가지고 다뤄보려합니다.
➖ 컴퓨터 구조 지식
➖ 컴퓨터 보안 지식
➖ 응용 프로그램 인터페이스 지식
➖ 디자인 패턴 지식
➖ 네트워크 아키텍처 지식
➖ 소프트웨어 개발 방법론 지식
➖ 프로그래밍 언어 및 쿼리 언어 지식
➖ 함수형 프로그래밍, 객체지향 프로그래밍, 프로토콜 지향 프로그래밍 지식
네이티브 앱 : 일반적으로 다운받아 사용하는 앱, 브라우저로 접근 불가
하이브리드 앱 : 웹 기반의 앱 기능을 차용한 형태, 웹에서도 사용되야 하는 형태일 때 많이 사용
① 서비스 요구사항에 맞게 비즈니스 로직을 구현할 수 있는 능력
② 많은 사용자가 버그 없이 서비스를 누릴 수 있도록 웹/앱 서비스를 안정적으로 만드는 능력
③ 라이브러리를 잘 사용해서 빠르게 구현하는 능력
④ 사용자 인터페이스 및 경험(UI/UX)에 대한 지식
웹 개발자(Web Developer)
인터넷을 통해 접근하는 웹 사이트, 웹 애플리케이션 개발
모바일 개발자(Mobile Developer)
스마트폰과 태블릿 등 모바일 장치를 위한 애플리케이션 개발
데이터 분석가(Data Analyst)
데이터 집합에서 유용한 정보를 추출하고, 이를 통해 비즈니스 의사 결정을 지원하는 역할, 데이터를 수집, 처리, 분석하여 통찰력 제공
인공지능 개발자(AI Developer)
컴퓨터가 인간과 유사한 방식으로 학습하고 작업을 수행할 수 있도록 하는 알고리즘/기술 개발
게임 개발자(Game Developer)
컴퓨터, 콘솔, 모바일 장치 등을 위한 게임 개발
임베디드 시스템 개발자(Embedded System Developer)
하드웨어와 밀접하게 통합된 소프트웨어 개발
[출처: 개발자 상식, 아는 만큼 보이는 백엔드 개발]