• 회원가입
  • 로그인
명예 멘토 멘토 찾기 콘텐츠 클래스 온라인 클래스 NEW 온라인 컨퍼런스 BETA 멘토 지원하기 로그인
#IT개발 #직무

웹 개발, 2학년까지 무엇을 얼마나 익혀둬야 하나요?

안녕하세요. 저번에 질문드렸던 4학년 멘티입니다. 멘토님의 글을 보고 많이 위로됐어요. 저는 음악을 줄곧 해왔기 때문에 주변에도 음악 하는 친구들뿐이라 쉽사리 음악을 관뒀다고 말을 못 하고 있었는데, 멘토님의 친절하고 다양한 진로 조언이 큰 힘이 됐어요. 

ⓒkerde severin

이번에는 전공에 관한 멘토링을 받고 싶어 이렇게 연락 드려요. 저는 사이버대학 학생이고, 사이버대학에는 IT 과목이 없어서 특히 관련 정보를 얻기 힘든데요.  최근에 C 언어를 접했는데 제 적성에 딱 맞는다고 할 정도로 엄청 재밌었어요. 특히 답을 유추하는 과정이 재밌더라고요.  

그래서 웹 개발 쪽은 어떤 길이 있는지 알아보고 있는데요. 이쪽으로 진출하려면 어떤 스펙과 경험을 쌓는 게 도움이 될까요? 알아본 바로는 asp, php, jsp, 리눅스&윈도우 서버 관리, DB 서버 관리를 해야 한다고 하던데 1학년이나 2학년 때 해보면 좋은 공부나 활동을 소개해 주실 수 있을까요? 감사합니다. 

멘토의 답변


안녕하세요 멘티님, 다시 질문을 남겨 주셔서 저도 무척이나 반갑고 뿌듯하네요. 그리고 힘이 되셨다니 정말로 기쁩니다.

ⓒkelly sikkema

웹 개발은 무엇일까요?
웹 개발로 큰 줄기를 정하셨다 하시니, 일단 웹 개발의 전반적인 모습에 대해 말씀드리도록 할게요. 웹 사이트는 단순하지만은 않은 과정을 거치고 난 후에야 화면에 나타나게 됩니다. 가장 간단한 것부터 말씀드리면,

[ 사용자 ] → [ PC ] ↔ [ 서버 컴퓨터 ]

와 같이 동작을 하는데요.

동작 순서를 조금 더 자세히 살펴보면 아래와 같은 과정을 거쳐요.

1. [ 사용자 → PC ] 사용자가 PC에 웹 페이지의 URL 주소를 (예를 들면 http://www.naver.com, http://www.daum.net) 입력하고 엔터를 친다.
2. [ PC → 서버 컴퓨터 ] PC에 입력한 URL 주소에 맞는 서버 컴퓨터를 찾아간다. 위에서 예를 든 네이버 혹은 다음 사이트는 각각 다른 서버 컴퓨터라서, 정확한 서버 컴퓨터로 찾아가지요.
3. [ PC ← 서버 컴퓨터 ] 서버 컴퓨터는 자신을 찾아온 PC에 웹 페이지 내용을 전달한다
4. [ 사용자 ← PC ] PC는 받아온 웹페이지 내용을 사용자에게 보여준다.

위와 같은 과정을 거치게 됩니다. 

웹 개발이라고 함은, 위에 3번 과정을 맡는 것이 주 업무에요. 웹 개발자의 경쟁력은 3번 과정에서 "서버 컴퓨터에서 PC가 요청한 내용을 얼마나 잘 처리하는가", 그리고 "사용자에게 전달할 웹페이지 내용을 어떻게 잘 보여줄 수 있을까"에서 갈립니다.

최근 PC에서 서버 컴퓨터에게 요청하는 내용이 점점 복잡해짐에 따라, 웹 개발자도 경쟁력이 중요하게 되었어요. 멘티님께서 나열하신 기술들 대부분은 "서버 컴퓨터에서 PC가 요청한 내용을 얼마나 잘 처리하는가" 에 대한 기술&테크닉들이에요.

ⓒfreestocks.org

웹 개발, 어떤 분야를 파고들어야 할까요?
C 언어에 흥미를 느끼셨다면, 후자의 "사용자에게 전달할 웹페이지 내용을 어떻게 잘 보여줄 수 있을까" 에 흥미가 있으신 거예요. 물론 전자도 잘 해야 완성된 웹 개발자가 되겠지만, 아무래도 끌리는 부분부터 하는 것도 장기적으로 볼 때 좋은 접근법이라고 생각해요. 

이쪽은 JavaScript(자바스크립트)부터 시작하시면 되겠습니다. C언어랑 비슷한 부분이 많고, 특별한 준비 없이도 바로 실습이 가능한 게 장점이에요. 자바스크립트를 하다 보면, 추후 jQuery라는, 자바스크립트와 비슷한 기술로 넘어가시면 될 거예요. 하지만 jQuery는 대학 때 익히실 필요는 없으니 자바스크립트를 해보시고 이것보다 더 깊이 해보고 싶다는 생각이 드시면 그때 시작하시면 돼요.

"서버 컴퓨터에서 PC가 요청한 내용을 얼마나 잘 처리하는가"에 대한 내용을 간단하게  예를 들어 설명해 볼게요. 만약에 사용자가 "90년대 댄스곡을 모두 보여줘"라는 요청이 들어왔다고 가정해 봅시다. 그러면 서버는 이 내용을 알아듣고 자기가 보관하고 있는 90년대 노래 중에서 댄스곡을 찾아 골라내겠죠. 그걸 찾고 나니 사용자 요청이 더 복잡하게 들어옵니다. "클래식 음악 중에 모차르트가 작곡했는데 나중에 기타로 편곡된 노래를 찾아줘". 결과를 내는 속도가 빠르면서, 결과물의 품질이 좋고, 프로그램을 계속해서 개선하기 편하게 만드는 것이 "잘 처리하는 것"입니다.

하지만 이 부분은 아무래도 이 부분은 실습하기가 좀 어려워요. 우리는 PC를 켜면 자동으로 윈도우가 켜지잖아요? 근데 보통 서버 컴퓨터들은 [리눅스]라는 것이 켜져요. 윈도우랑 동작 방식이 많이 달라서 좀 어색할 거예요. 실습이 가능하도록 PC를 세팅하는 것에서부터 흥미를 잃을 수밖에 없기 때문에, 먼저 컴퓨터 & 컴퓨터 프로그래밍에 더 익숙해지시고 난 후 넘어오는 것을 추천해 드려요.

리눅스와 친해지시고 싶으시다면, 최근 윈도우랑 가장 비슷하게 만든 우분투를 사용해보시는 것을 추천해 드려요. 윈도우에서 우분투를 설치하는 방법은 검색을 통해서 알아보시는 게 좋을 것 같지만, 아무래도 처음이라 생소하실 것 같아 설명된 웹페이지를 드릴게요. http://webnautes.tistory.com/448 

ⓒChristina Morillo

웹 개발, 스킬트리 이렇게 찍어 보세요
다시 원래 질문하신 내용으로 좀 돌아와서 1학년 / 2학년 커리큘럼에 맞춰서 제가 주관적인 추천을 한다고 하면, 1학년 때는 C언어에 익숙해지는 것에 초점을 많이 맞추시고, HTML과 JavaScript (자바스크립트)를 사용해서 "아! 이건 무슨 말인지 못 알아듣겠다" 하는 난이도 전까지 해보시는 것을 추천해 드려요.

2학년 때는 우분투를 설치하여 리눅스와 많이 친해지시는 것을 추천해 드리고, C언어 외에 Java 언어를 시작해보세요. 말씀하신 jsp의 조상이 Java거든요. Java를 이해하시면 간단한 jsp 설명서만 가지고도 jsp라는 것을 사용하실 수 있어요.

그 외 asp, php, 윈도우 서버 관리는 최근 십수년간은 잘 안 쓰입니다. DB 서버를 말씀하셨는데, DB 자체가 어려운 건 전혀 없어요. 오히려 이해하기 엄청 쉬운 편이죠. 대신 실습 환경을 구성하기가 까다롭습니다. 만약 대학 강좌에 "데이터베이스"라는 과목이 있으면 이 과목을 통해서 배우시는 것을 추천해 드려요.

2학년을 마칠 때쯤, 누군가 이러이러한 웹페이지를 만들어 달라고 했을 때, 디자인 요소를 제외하고 페이지 구현을 할 수 있을 정도면 준수한 수준의 실력을 갖췄다고 평가될 수 있을 거예요.  웹페이지가 아닌 웹서버까지 만들 수 있다면 정말 정말 훌륭한 거고요. 이 경지에 이를 수만 있다면 회사를 1년 다닌 신입사원만큼의 실력인데, 99.9%의 평범한 사람들은 원래 이 정도까지 못 하는 게 당연하니 너무 스트레스받지는 마세요.

ⓒPixabay

그리고 한 가지 팁을 드리자면, 프로그래밍하다가 막히는 것이 있을 땐 구글에 가서 찾아보는 것이 가장 빨라요. (흔히 말하는 구글링입니다.) 대신 한국어보다 영어로 검색하는 게 자료의 양도 많고 원하는 답도 더 많이 나와요.

물론 걸림돌이 될 만한 것은 영어를 잘 읽어야 한다는 사실이지요. 대신 높은 수준의 영어가 필요한 게 전혀 아니고, 띄엄띄엄 읽을 수만 있어도 성공이니 금방 익숙해질 거에요!

좀 두서없이 나열한 면이 있네요. 알아보시기 어렵지 않았으면 좋겠습니다. 멘티님께 도움이 잘 되었으면 좋겠어요. 질문 생기시면 언제든지 다시 찾아주세요. 

답변이 궁금한가요?
지금 무료로 확인하세요!
답변 보기
©모든 저작권은 해당 콘텐츠 제공자 또는 해당 콘텐츠 제공자와 잇다가 공동으로 보유하고 있으며, 콘텐츠의 편집 및 전송권은 잇다가 가지고 있습니다.
5
함께 보면 좋은 콘텐츠 콘텐츠 더보기
IT개발
회사는 신입 프로그래머에게 어떤 수준을 기대하나요?
안녕하세요. 컴퓨터 학부 2학년에 재학 중인 학생입니다. 저는 미래에 IT 직종에서 프로그래머로 종사하고 싶습니다. 멘토님이 평소 올려두신 글을 보며 궁금했던 점들이 많이 해소됐습니다. 또한, 프로그래머 취준 과정과 회사 생활도 여쭙고 싶습니다. N 기업에 신입 프로그래머로 취업 시 필요한 스펙과 준비 사항이 궁금합니다.
이세린 멘토
네이버 · 검색시스템
41
IT개발
데이터 마이너, 빅데이터 시대에 떠오르는 직업
데이터 마이너라는 직업으로 진로를 정했는데, 아직 아는 것도 없고 데이터 마이너 관련 지식이 부족합니다. 데이터 마이닝은 데이터 베이스와 어떻게 다른가요? 데이터 베이스는 데이터를 기반으로 원하는 정보를 찾는 것으로 알고 있는데, 데이터 마이닝은 정확히 어떤 것인지 궁금합니다. 데이터 마이너 관련해 조언 부탁드려요.
멘토
IT개발
15
IT개발
머신러닝 입문, 어떻게 하면 좋을까요?
저는 현재 외국계 회사에서 기술영업 업무를 하고 있는 2년 차 회사원입니다. 머신러닝이나 클라우드 쪽으로 경력을 쌓고 싶지만, 어떻게 해야할 지 잘 모르겠습니다. 머신러닝 업무 관련 지식을 쌓기 위한 프로그램이나 자격증, 머신러닝 공부 경로 등을 알려주실 수 있을까요? 현직자의 조언을 받고 방향을 잡고 싶습니다.
이세린 멘토
네이버 · 검색시스템
14
IT개발
비전공자의 IT 취업, 갖춰야 할 세 가지 역량
저는 IT 분야의 일을 하고 싶은데 전공도 법학이고 관련 지식, 자격증도 없습니다. 전공과 취업은 큰 상관이 없다는 말을 들었지만, 다른 분야는 몰라도 IT는 공학을 전공해야 경쟁력이 있는 거 아닌가요? 제가 IT 분야에서 인턴을 하거나, 취업하려면 어떤 직무 역량을 키워야 할까요? 멘토님의 조언 기다리겠습니다.
멘토
IT개발
26
IT개발
데이터 분석 직무, 무엇이 중요하고 업무 환경은 어떤가요?
멘토님, 안녕하세요. 데이터 분석 직무가 궁금한 멘티입니다. 저는 현재 IT계열 회사의 검색 서비스 기획과 데이터 분석 직무에 지원해 면접을 앞두고 있습니다. 데이터 분석 직무 면접 준비를 위해 멘토님께서 겪으신 현실적인 경험을 듣고 싶습니다. 기획과 데이터 분석, 이 두가지 측면에서 말씀해 주시면 감사하겠습니다.
박대현 멘토
트라이씨클 · 몰기획팀
22
IT개발
비전공자가 개발자가 되기 위해 어떤 교육 기관을 선택해야 할까요?
비전공자인데, IT분야에 관심이 있습니다. 지금은 여러 교육기관을 알아보고 있는데요, 비전공자 대상 교육기관은 여럿 있지만 어디를 선택해야 할지 고민입니다. 비전공자 출신이시면서 현직에 계신 멘토님께서 보시기에 어떤 쪽이 더 좋을까요? 경험이 듬뿍 담긴 멘토링 부탁드립니다.
이종진 멘토
잇다(itdaa) · 개발팀
15
콘텐츠 더보기

멘토가 되어 보세요.

취준생, 사회초년생에게 멘토님의 커리어 경험을 공유해 보세요.
멘토 지원하기
  • 회사소개 · 이용약관 · 개인정보 처리방침 · 고객센터
대표번호: 02-2653-1022 (10:00 ~ 19:00) / 점심시간: 13:00~14:00 (주말 및 공휴일 휴무)
㈜레디앤스타트 | 사업자등록번호 : 117-81-82177 | 대표 : 조윤진 서울 종로구 종로 51 종로타워 23층

© 2020 itdaa