난 어떤 공부를 해야 할까?
- 어떤 분야를 선택하는게 좋을까요? ⇒ 웹개발 또는 데이터사이언스 중에 추천!!
웹개발
- 수요가 가장 많은 분야인데 계속해서 커지는 중
- 적성과 흥미
- 무언가를 만드는 것에 관심이 있다.
- 유저들이 사용하는 서비스를 직접 만들고 싶다.
프론트엔드
- 시각적인 것에 관심이 많다
- 눈에 보이는 결과물이 있어야 동기부여가 잘 된다.
백엔드
- 데이터를 다루는 게 좋다
- 복잡한 시스템을 설계하는 게 좋다
- 추천 공부 방향: Python(언어), Django(프레임워크), SQL(데이터베이스)
Node.js
: JS언어로 백엔드코드를 작성할 수 있게 해주는 프레임워크, 백엔드에서 Node.js를 쓰면 프론트엔드와 백엔드 한언어 JS로 통일 할 수 있어서 생산성이 높아진다.
- Express.js
- SQL이 필수이고 NoSQL(mongoDB)은 선택
- 백엔드 초보자에게 추천: Python, Django, JS, Node.js
데이터사이언스
- 아직 뜨는 분야
- 갈수록 회사들이 데이터를 잘 활용하고 싶어하고 AI에 투자하는 회사들이 많아지면서 데이터 애널리스트나 데이터 사이언티스트 포지션들이 뜨고 있음.
- 적성과 흥미
- 다양한 각도에서 데이터를 파악하는 것이 좋다.
- 수학적 기법을 활용하고 싶다.
- 인사이트를 도출하는게 끌린다.
데이터 애널리스트 or 데이터 사이언티스트
- Python, R 주요 프로그래밍 언어로 사용
- NumPy, pandas, seaborn, PyTorch, TensorFlow
- SQL
비개발자는 코딩을 어디에 쓸까?
- 아이디어 구현 개발자를 구하지 안혹 원하는 것을 직접 구현해볼 수 있다.
- 업무에 활용하는 데이터 분석
- 직장에서 엑셀로 분석하는 것이 당연하듯이 파이썬 같은 언어를 사용하여 데이터를 분석하는 게 당연해지는 날이 올 것이다.
- 앞으로 의사결정을 할 떄 데이터 분석을 하지 않는다면 경쟁력을 잃게 된다.
- AB테스트를 진행
- 업무 자동화 매일 여러 엑셀 파일을 다운받아 하나의 엑셀 파일로 합치고 이메일 전송하는 업무 파이썬의 셀레니움 기능으로 웹사이트에 접속해서 로그인해서 특정 버튼들을 클릭하여 크롤링 진행 → 엑셀을 다루기 위한 파이썬 패키지를 쓰면 원하는 형태로 엑셀을 정리 가능 → 파이썬으로 컴퓨터 내에서 정리를 하거나 이메일을 전송하는 것을 자동화 할 수 있다.
- 개발 협업에 도움 본업이 소프트웨어가 아닌 회사에서도 개발자와 협업하기 위해서는 코딩 지식을 알아야한다.
- 회사내 포지션
- 프로덕트 매니저
- 개발자
- UX/UI 디자이너
- 디지털 마케터
- 세일즈 매니저
- CX 매니터
- 데이터 사이언티스트
- 피플팀 매니저
- QA 매니터
이제 뭘 하면 되나요?
- 기본기를 쌓아라 언어의 기본적인 개념과 문법을 학습할 것
- 직접 만들어보기: 문제해결능력
- 라이브러리나 프레임워크 개발 도구를 사용할 수 있는 수준이 되었기 때문에 원하는 분야를 고르고 그 분야에서 쓰이는 기술을 골라서 만들어 보기
- 막히는 부분, 해결해야할 문제들을 겪으면서 실력을 쌓기
- 코드 오류 찾기
- 원하는 코드 구글링으로 찾기
- 실행 오류 원인 찾기
- 문제해결능력이 길러진다면 만들 수 있는 능력은 자연스럽게 따라온다.
- 퀄리티 높은 코드를 작성하기
- 안정성
- 많은 유저가 동시에 들어올 경우
- 많은 클릭을 할 경우
- 이메일 입력란에 긴 내용이 들어온 경우
- 예상치 못한 경우 발생한 문제를 대처 할 수 있어야 한다.
- 확장성
- 이미 있는 것을 바꿔야 하는 경우
- 바꾸고 싶을 때 일정 부분을 바꿀 수 있게 코드를 짜야한다
- 기능을 추가 했을 때 예상치 못한 문제가 발생하지 않게 만들어야 한다.
- 성능
- 코드가 어떻게 짜여 있는지에 따라 성능이 달라진다.
- 사고력을 길러주는 자료구조와 알고리즘 등을 활용하면 프로그램의 성능을 높일 수 있다.
- 이해가 잘 되는 코드
- 소프트웨어는 여러사람이 헙업해서 만드는 경우가 많다.
- 쓴 사람에게 물어보지 않고 의도를 파악할 수 있어야 좋은 코드다.
- 단순해서 눈에 잘 들어오는 코드가 좋다.