개발자가 말하는 IT 웹 개발자 되기 - 기초편

시작하기

이 글은 이전에 작성한 IT 개발자 국비지원 어떤가요?이라는 글을 쓰다가 웹 개발자가 되는 방법에 대해서도 작성해놓으면 좋을 것 같다고 생각해 작성하게 된 글입니다. 간혹 들리는 학원에서 가르쳐주는 웹 개발자 과정은 제가 처음 프로그래밍을 배울 때와 기술 수준이 거의 똑같아서 당황스럽습니다. 여전히 SVN을 가르쳐주고 그마저도 커밋과 체크아웃만 사용하다는 이야기에는 헛웃음이 나왔습니다. 그걸 가르쳐주는 사람에게 따져서 물어보고 싶을 정도로요. 혹시 지금 그런 학원에서 프로그래밍을 배우고 계신다면 다른 학원을 다시 알아보시는 게 좋을 수 있습니다. 이런저런 이유로 간단하게라도 웹 개발자가 실무 개발에서 어떤 기술들을 필요로 하는지 조금이라도 알고 계시면 학원이든 어디에서든 웹 개발을 배우는데 도움이 될 거라고 생각했습니다.

웹 개발자가 되자!

왜 웹 개발자가 되려는 건가요?

정보화 시대의 발달로 인해 정보를 다루는 기술의 필요성이 높아지면서 개발자의 수요는 시간이 흐를수록 늘어나는 추세입니다. 시대에 발맞추어 개인의 역량을 키우는 데에는 IT 개발 분야만큼 좋은 분야가 없는 것도 사실입니다. 그렇지만 단순히 시대가 요구하고 트렌드라고 해서 무작정 따라갈 필요는 없다고 생각합니다. 먼저 웹 개발자가 어떤 것을 배우는지 알아보는 것도 자신의 적성과 맞는지 확인해보는 것도 좋은 방법이지 않을까요?

계획하기

웹 개발자가 되는 방법은 학원을 등록하고 수료하는 방법이나 프로그램 만들기 대회에 참가해서 입상 또는 창업하는 방법 등 개발자의 숫자만큼 여러 가지의 방식이 있습니다. 그렇기 때문에 개발자가 되는 방법을 설명하기 위해서는 방식을 논의하는 것보다 개발자가 되는데 필요한 기술들을 이야기하는 것이 더 좋다고 판단했습니다. 이 글은 웹 개발자가 기초적으로 알아야 지식을 간단하게 설명합니다. 정확히는 개발자가 알아야 하는 지식의 양은 방대하기 때문에 단편적이나마 꼭 필요하다고 생각하는 기술들에 대해 이야기하도록 하겠습니다.

 

HTML (Hyper Text Markup Language)

웹 페이지의 화면을 구성을 정의하는 마크업 언어입니다. Tag 시스템을 활용하고 있으며 Element들을 배치해 DOM의 구성 요소를 배치합니다.  HTML은 화면을 구성하는 바탕을 책임지고 있기 때문에 구조적 언어로서의 특징이 강합니다. 따라서 HTML을 학습하는 경우에는 HTML이 정의하는 기본 요소들(Head, Body, Aside, Footer, Input, Form 등)의 사용법과 문맥적(Sementic) 의미를 공부하는 게 좋습니다.

HTML5 Element flow chart (참고)

CSS (Cascading Style Sheets)

화면의 구성 요소를 정의하는 방법이 HTML이라면 CSS는 화면에 디자인을 정의하는 방법입니다. CSS는 디자인을 정의하기 때문에 주로 디자인과 관련된 색상, 크기, 배치 위치 등을 설정하는 데 사용합니다. 따라서 CSS를 학습하는 경우에는 IFC(Inline Formatting Contexts), BFC(Block Formatting Contexts)와 Position에 대한 내용을 공부하고 추가로 Selector의 사용 방법을 익히시는 것이 좋습니다.

HTML과 CSS

Javascript

화면 개발을 하게 되면 자주 사용하게 되는 언어가 바로 자바스크립트입니다. 자바스크립트는 주로 HTML, CSS를 조작하고 서버와 통신을 할 때 사용합니다. 자바스크립트는 활용 범위가 매우 넓은 편이기 때문에 배워야 하는 스펙트럼이 매우 넓습니다. 따라서 처음 배우시는 분은 개발 여건에 따라 배워가면서 쓸 수밖에 없습니다. 기초적으로 배워야 하는 부분은 자바스크립트의 일급 함수와 this, bind, apply의 개념입니다. 기초 개념을 숙지하신 후에는 자바스크립트를 통해 HTML의 DOM을 조작하고 이벤트를 관리하는 방법과 CSS를 수정하는 방법을 익히시면 됩니다. 서버와 통신을 해야 하는 경우에는 Http Request 개념을 먼저 익히시고 Ajax, Axios 같은 통신 라이브러리 사용방법을 배우면 좋습니다.

HTML과 CSS, Javascript

버전 관리 툴 Git

파일의 버전을 관리해주는 도구 중에 하나로 코드를 개발할 때 작업한 이력을 쉽게 관리할 수 있도록 해줍니다. 실수로 이전에 잘 만들어 놓은 부분을 지워서 복원을 해야 한다거나 다른 사람들과 프로젝트를 협업해서 해야 하는 경우 충돌을 미연에 방지하고 문제 해결에 필요한 기능을 제공합니다. 그래픽을 통해 보다 쉽게 Git 배울 수 있는 방법도 있으니 꼭 배워두세요. 어느 회사를 가더라도 필수적으로 사용하는 기술입니다. 시작하는 부분에서도 이야기드렸지만 특수한 상황이 아닌 이상 SVN 가르치는 곳도 좋지 않지만 SVN을 사용하는 회사도 IT 회사로서는 전망이 좋지 않은 회사이니 입사 전에 확인해보시는 게 좋습니다.

Spring Boot

웹 서버를 개발하게 되면 필수적으로 알아야 하는 내용 중 하나가 Spring과 Spring Boot입니다. 사용자가 사용하는 데이터를 관리하는 전반적인 처리를 담당하는 것이 서버라는 개념인데 서버를 개발하는 프레임워크 중 가장 인기 있고 유명한 것이 바로 Spring Boot입니다. Spring Boot는 Spring을 기반으로 웹 서버를 쉽게 만들 수 있는 일종의 template입니다. 서버 개발은 방대한 지식과 기술을 필요로 하기 때문에 조금씩 필요한 부분을 공부하시는 게 좋습니다. 또한 Spring은 여러 가지 기술을 사용하고 있기 때문에 서버 개발을 사용할 때 쓰인다 정도로만 인지하시고 공부가 필요한 경우 토비의 스프링 책 또는 Spring boot 공식 사이트 문서를 통해 공부하시면 됩니다. Spring을 배울 때 먼저 공부하면 좋은 부분은 DI, IOC 개념과 MVC 구조입니다. Spring의 DI, IOC, MVC 개념은 신입사원을 면접을 볼 떄 가장 흔하게 물어보는 질문인 동시에 쉽게 틀리는 질문이기도 하니 웹 개발자로 면접을 준비 중 이사라면 꼭 공부해보시길 추천드립니다.

정리하기

이번 글에서는 웹 개발자가 기초적으로 다루어야하는 기술들에대해 짧고 간단하게 정리 해보았습니다. 본문에서 이야기한 기술들을 기초적인 부분만 잘 습득해도 쉽게 웹 프로젝트를 설계하고 만들어 낼 수 있기 때문에 초급 웹 개발자가 되는 방법은 생각보다 어렵지 않습니다. 물론 바로 웹 개발자가 되기 쉽다는 이야기는 아닙니다. 기초적인 내용이라도 얼마간이라는 최소의 시간이 필요하기 때문입니다. 정말 개발자가 되기로 다짐하셨다면 지금은 처음이라 어려운 것뿐이니 계속 프로그래밍을 갈고닦으시면 됩니다.

반응형

댓글

Designed by JB FACTORY