. 중요한 자바 API 활용 가능(Collection API, Reflection API, generic, annotation)
. 많이 쓰이는 기본 디자인 패턴 이해(VO 패턴, MVC 패턴, FILTER 패턴 및 OBSERVER 패턴)
- Servlet/JSP
. 브라우저와 서버간의 통신에서 HttpServletRequest/Response 객체 생명 주기와 중요 메소드 이해
. 웹 어플리케이션 구조 및 배포 방법의 이해
(filter, listener, Servlet 배포 방법 및 프로그래밍 이해 --> web.xml의 이해)
. JSTL과 EL 이해(JSP 1.2와 2.0차이점 이해) 및 Custom Tag handler 작성 가능
2. 데이터베이스단 기술
- Database
. 관계형 데이터 베이스 논리/물리 모델링 설계 가능(ERD 작성 가능)
. 적당한 수준의 정규화/역정규화를 통한 기본적 성능 향상 방법의 이해
. 적절한 인덱싱과 인라인 쿼리의 사용을 통한 기본 SQL Tunning 가능(plan 사용)
. Hibernate와 iBatis등의 OR-Mapping 프레임웍의 등장 배경과 사용 이유에 대한 이해
3. 화면단 기술
- Ajax/HTML/CSS/DOM/JavaScript
. JSON을 이용한 기본적 AJAX 프로그래밍 가능
. XHTML과 HTML의 차이점과 등장배경을 이해하고 코딩 가능
. DOM API를 이용해서 동적인 화면을 표현/제어
4. 광범위하게 쓰이는 프레임워크 사용법 기본 이해
- 오픈 프레임워크 사용 방법의 이해(개발자 수준에서)
. Struts : 전형적인 MVC패턴으로 구성된 스트럿츠의 구조를 파악하고 간단한 게시판을 코딩할 수 있는 수준
. Spring : 스프링 혹은 EJB 컨테이너가 빈을 관리함으로써(Ioc) 얻는 잇점과 이를 통해 이루어지는
다양한 엔터프라이즈급 서비스(AOP 등)등을 이해하고 사용할 수 있는 수준
5. 최소 토익 750 정도 수준의 영어 실력(각종 API의 원활한 참조를 위해)
- 최소 750점 이상 의 토익 실력(Reading 400점 이상 --> 기본적 독해가 가능한 최소 실력)
- A4지 한장분량의 (영자신문수준의) 영문을 10분 이내로 읽고 90% 이상 이해 가능
* 하드정리하다가 2년전에 이곳에 올렸던 게시물을 발견해 약간 수정후 다시 올립니다. (이전껀 지워졌더군요)
* 다시 생각해 봐도 2년차 웹 개발자 수준이라면 반드시 알아야 할 내용만 나열했습니다.
솔직한 심정으로, "실무에 투입할 신입개발자" 스펙으로서 알아야할 지식이라 생각됩니다.
2년차 정도 에게 적당해 보이네요.
다만 초보자에게
실제적으로 중요하고 공수에 많은 영향을 끼치는 ORM사용법이 빠진듯.
Hibernate와 iBatis등의 OR-Mapping...
ORM은 언급되었네요...
EJB나 웹 서비스 기술은 언급 안됐네요..
MOVED FROM bbs6
EJB는 하향세고 웹서비스는 너무 스터비 비용이 쎄고
그 비용에 비해서 값어치를 하지 않아서 그렇지 않을까요?
여기에 쓰여진 카테고리 자체가 좀 학원에서 배우는 커리큘럼처럼 쓰여있네요 ^^
이를테면 "json을 이용한 ajax 기본 프로그래밍" 이줄을 본다면 ajax에서 데이터바인딩시에 text로 가져와서 split을 하던 xml로 가져오든 json으로 가져오든... 그 데이터 바인딩시에 데이터 타입을 어케 받느냐인데 json을 이용한 ajax 프로그래밍이라는 말이 좀 이상한듯 해요^^
걍 "AJAX에서의 데이터 바인딩 방법"으로 축약하면 될텐데요
그리고 이건 한 3~4시간만 보면 누구나 알 수 있는 스킬이구요...
3번에 4줄 같은경우도 결국엔 자바스크립트 잘하는거... 에속하는건데
간단한 것들을 너무 거창하게 풀어놓으신것 같아요~
좀 거창한 감이 있네요,,
솔직하게 톡까놓고
윗분들이 평가하는 기준으로 고쳐쓰면
java/jsp 를 이용한 게시판 가능여부
sql튜닝가능여부
스트럿츠/스프링 가능여부
설계가능여부
토익 유무
이정도 되겠네요..
위에서 나열한거 ordinary님 말씀처럼 20~30내로 할수있는 방법
등을 말한것도 있고, 스킬이라고 하기엔 학원스펙처럼 보이긴하네요
이상적인 스펙이지, 기본은 무리라고 생각합니다.
실제로 글쓴이는 2년차에 이 정도의 지식을 '기본'적으로 습득하고 계셨다면..지금은 상당한 경지와 그에 걸맞는 대우를 받는 흔히 말하는 상위 몇%가 되어계실듯 하네요.
더 솔직히 까놓고 얘기하면 대한민국 IT가 프로그래머를 키우는 환경이던가요? 그저 코더수준을 요구할 뿐입니다. 일단 빨리 찍어내면 좋아하지요.
이상적으로 저렇게까지 알수 있는 개발자라면 훌륭하겠지만, 현대의 대한민국 IT에서 저런 개발자가 나오기는 차라리 불가능에 가깝다고 말하고 싶네요.
제 생각은...
1. 서버단 기술
- 자바 프로그래밍
. 객체 지향 프로그래밍 기본 이해(추상화, 다형성, 캡슐화) - 기본
. 중요한 자바 API 활용 가능
(Collection API - 기본
, Reflection API - 옵셔널
, generic - 애매함
, annotation - 애매함)
. 많이 쓰이는 기본 디자인 패턴 이해 - 옵셔널 MVC정도만 이해하면 된다.
- Servlet/JSP
. 브라우저와 서버간의 통신에서 HttpServletRequest/Response 객체 생명 주기와 중요 메소드 이해 - 기본
. 웹 어플리케이션 구조 및 배포 방법의 이해
(filter, listener, Servlet 배포 방법 및 프로그래밍 이해 --> web.xml의 이해) - 기본
. JSTL과 EL 이해(JSP 1.2와 2.0차이점 이해) 및 Custom Tag handler 작성 가능 - 옵셔널
2. 데이터베이스단 기술
- Database
. 관계형 데이터 베이스 논리/물리 모델링 설계 가능(ERD 작성 가능) - 기본
. 적당한 수준의 정규화/역정규화를 통한 기본적 성능 향상 방법의 이해 - 내가 몰라서 판단 불가.
. 적절한 인덱싱과 인라인 쿼리의 사용을 통한 기본 SQL Tunning 가능(plan 사용) - 옵셔널
. Hibernate와 iBatis등의 OR-Mapping 프레임웍의 등장 배경과 사용 이유에 대한 이해 - 옵셔널,한마디 덫붙이자면 굳이 특정 프레임워크가 거론된다는게 맘에 안듬.
3. 화면단 기술
- Ajax - 기본(솔직히 2년차면 이정도 스킬은 되야 한다.)
/HTML/CSS/DOM/JavaScript - 기본(하지만 초 중 고 수준에 차이가 있다.
내 생각은 이부분이 Ajax 보다 더 방대하다고 본다.)
. JSON을 이용한 기본적 AJAX 프로그래밍 가능 - JSON을 이해하는 것은 기본이라고 봄. 하지만 AJAX 와 JSON 을 연결지어 생각한다는게 의아함. JSON이 사용 하여 Ajax를 구현하는 코드는 많이 알려져있지만 꼭 그런것이 정답이다라고 는 생각안함.
. XHTML과 HTML의 차이점과 등장배경을 이해하고 코딩 가능
- 내가 잘 모름.
. DOM API를 이용해서 동적인 화면을 표현/제어
- 기본(하지만 초 중 고 수준에 따른 차이가 있다.)
4. 광범위하게 쓰이는 프레임워크 사용법 기본 이해
- 오픈 프레임워크 사용 방법의 이해(개발자 수준에서)
. Struts : 전형적인 MVC패턴으로 구성된 스트럿츠의 구조를 파악하고 간단한 게시판을 코딩할 수 있는 수준
- 옵셔널(MVC를 먼저 이해하는 게 더 중요하면, 역시 특정 프레임워크에 국한될 필요는 없다고 봄.)
. Spring : 스프링 혹은 EJB 컨테이너가 빈을 관리함으로써(Ioc) 얻는 잇점과 이를 통해 이루어지는
다양한 엔터프라이즈급 서비스(AOP 등)등을 이해하고 사용할 수 있는 수준 - 역시 특정 프레임 워크에 억매일 필요가 없다고 봄. 해당 프레임 워크의 장점을 이해할 수 있다면 그걸로 족하다고 봄.
5. 최소 토익 750 정도 수준의 영어 실력(각종 API의 원활한 참조를 위해)
- 최소 750점 이상 의 토익 실력(Reading 400점 이상 --> 기본적 독해가 가능한 최소 실력)
- A4지 한장분량의 (영자신문수준의) 영문을 10분 이내로 읽고 90% 이상 이해 가능
- 이거까지 하라고 하면 개발자 죽음. 레퍼런스 참조는 자신의 직무에 필요할때 요긴하게 쓸스잇다면 훌륭하다고 봄.
* 하드정리하다가 2년전에 이곳에 올렸던 게시물을 발견해 약간 수정후 다시 올립니다. (이전껀 지워졌더군요)
* 다시 생각해 봐도 2년차 웹 개발자 수준이라면 반드시 알아야 할 내용만 나열했습니다.
솔직한 심정으로, "실무에 투입할 신입개발자" 스펙으로서 알아야할 지식이라 생각됩니다.
- 제 생각엔 기본을 이해하는 것은 중요하나 무언가 스펙을 정하는게 그닥 의미 없어 보이네요.
- 2년차 쯤 돼면 기술에 능통한것도 중요하나 자신의 생각 논리적으로 이야기할 수 있는 게 더 중요하다고 봐요.
저는 첫개발 끝나고 대리님께 물었던말이 EJB가 머에요?였습니다. 대리님이 이때까지 한게 EJB라고 하시더군요.. 하지만 아직도 전 EJB를 모릅니다.. 책에 있는 지식은 너무 추상적이고 실무는 제가 무엇인가 의문이 들어도 물어볼 시간조차 없습니다.공장에서 찍어내듯 코딩해대고....3년차인 현재 저는 아무것도 모릅니다.
2년차 개발자가 알아야 할 기본 지식이라...
저는 2년차 개발자들에게 그런 질문을 받게되면. 이렇게 말해줬었네요...
자신이 집중해야 할 부분이 어떤 것인지 선택할 줄 아는 시야를 갖는 것과
그 부분에 집중하기 위해 자신이 채워가야 할 것이 무엇인지를 아는 것.
기술은 그 다음...
그리고, 이 바닥을 떠나려면 2년차 쯤이 제일 좋다는 것. ^^;
요즘 이펙티브자바랑 thinking in java보는데..많이 반성 중..
그리고 리플렉션은 따로 책으로 있는데 흠흠 그러케 쉬는 건가??
절대 개인적인 의견입니다. 저는 막 졸업하고 취업에 첫발을 내딛는 취업생이지만 학원에서 6개월 교육을 받았습니다. 위에 설명한 기술들 충분히 알아듣겠고 신입기준에서 많이 요구하지 않겠지만 위 기술 사용하는 프로젝트에 충분히 역할을 수행할 수 있다고 생각합니다. 시대가 좋아져서 학원 교육과정이 성장해서 그런지는 모르겠지만 적어도 이 분야에 대해서 열정이 있고 남들과 똑같이 평범하게 살게 아니라면 저 정도 지식은 기본으로 생각하는 1인 입니다.