비전공자 웹개발자 신입 생존 가이드 (2017 수정판)

Source

  • Evernote/Inbox/OKKY - 2017.8수정판 웹개발자 기준 비전공자 신입으로서 전공자한테 안 밀리고 살아남는 법.tip.md

Summary

인문계 출신 단기 학원생이 대기업 웹개발자로 입사하기 위해 강조한 핵심 학습 영역과 현업 2 년차의 후속 조언입니다. 학원 교육의 한계를 극복하기 위해 직접적인 실습 (‘삽질’) 을 통한 이해를 강조합니다. 주요 학습 항목은 다음과 같습니다: 1) 네트워크: HTTP 프로토콜 및 웹서버 (Apache/Nginx) 동작 원리를 직접 설정하며 익히기. 2) 운영체제: 리눅스 (CentOS/Ubuntu) 와 Docker 를 통해 컴퓨터 사이언스 기초 (프로세스, 스케줄링 등) 학습. 3) 알고리즘/자료구조: 면접 및 코딩테스트 대비를 위한 스택, 큐, 트리, 정렬 알고리즘 등 기초 자료구조 이해. 4) 보안: XSS, CSRF, SQL Injection 등 주요 웹 취약점 및 방어법 숙지. 5) 버전관리: Git 의 기본 명령어 및 협업 원리 (branch, merge, conflict 해결) 숙달.

Key Points

  • 학습 방법론: 책 읽기보다 직접 구현하고 문제 해결 (‘삽질’) 하는 과정을 통해 개념을 체화해야 함.
  • 네트워크: 클라이언트 - 서버 간 HTTP 데이터 흐름과 웹서버 가상호스트 설정 등 인프라 이해가 코딩 응용력에 중요함.
  • 운영체제/리눅스: 리눅스 환경 구축과 명령어 숙달을 통해 프로세스, 스레드 등 CS 기초 개념을 자연스럽게 습득하고 Docker 학습 권장.
  • 알고리즘/자료구조: 신입 단계에서는 다익스트라 등 고급 알고리즘보다 스택, 큐, 트리, 해시, 정렬 알고리즘 등 기초 자료구조와 빅오 (Big-O) 계산법 이해가 우선.
  • 보안: XSS, CSRF, SQL Injection 등 빈번한 웹 해킹 패턴과 방어법을 숙지하여 면접 어필 및 현업 보안 의식 함양.
  • 버전관리 (Git): 협업 필수 도구인 Git 의 local/remote 관계, 병합 원리, conflict 해결 및 주요 명령어 (reset, checkout, stash 등) 숙련.