<h2>직무</h2><p>DW Engineer</p><h2>포지션 상세</h2><p>플랜잇스퀘어(Planit Square)는 대형 병원을 포함한 디지털 헬스케어 데이터를 임상연구 및 경영 통계에 활용할 수 있도록 설계된 데이터 플랫폼과 솔루션(ResearchEx, ResearchHub, ResearchEMR, TrialBridge, InsightEx 등)을 제공하고 있는 국내 1위 CDW 업체입니다.<br>DW Engineer로 합류하시면 의료 데이터 파이프라인 설계·구축부터 DW 모델링, ETL 운영, 임상 라이브러리(레지스트리) 설계까지 전반을 책임지며, 병원정보시스템의 데이터 허브를 함께 만들어갑니다.</p><h2>주요업무</h2><p>대형 병원 EMR 데이터를 가공해 데이터 파이프라인 설계·구축<br>• DW 모델링 및 실시간 분석 환경 구현을 위한 데이터 적재·전송<br>• 임상 질지표 & 병원 경영 통계 관리 DB 설계·운영<br>• 질환별 임상 레지스트리(데이터 라이브러리) 설계·배포<br>• 시스템 운영·유지보수, 성능 튜닝 및 데이터 품질 관리<br>• DW Engineer 포지션 업무의 대부분은 SQL로 수행됨<br>• 주로 다루는 DBMS: Vertica(경험 없어도 문제 없음), Oracle, MSSQL, PostgreSQL</p><h2>자격요건</h2><p>필수 조건<br><br>• PL/SQL 기본 개념 이해<br> · SQL*Plus, SQL Developer 등으로 PL/SQL 블록을 작성·디버깅할 수 있는 능력<br><br>• 데이터베이스 기본 지식<br> · 테이블, 인덱스, 뷰, 트랜잭션 제어(커밋/롤백)의 개념 이해<br> · PK/FK, 정규화/비정규화 개념 숙지<br><br>신입 지원자 (아래 역량에 대한 이해가 필요하며, 프로젝트 및 과제 수행 경험이 있을 경우 가산점)<br><br>• PL/SQL 블록 작성 경험<br> · 학교 프로젝트나 인턴십 등에서 PL/SQL 익명 블록을 작성하여 기본적인 데이터 처리<br> (INSERT/UPDATE/DELETE/SELECT)를 수행한 경험<br><br>• PL/SQL 함수·프로시저 개발 기초<br> · 매개변수(Parameter) 선언, 반환 값(Return Type) 정의, 간단한 로직을 포함한 함수(Function) 및 프로시저<br> (Procedure)를 작성해 본 경험<br> · 예시: "사원 급여를 일정 비율 인상하는 프로시저" 작성 경험<br><br>• 간단한 성능 고려<br> · SQL 작성 시 JOIN 순서나 인덱스 필요 여부를 고민해 본 경험<br> · EXPLAIN PLAN을 통해 쿼리 실행 계획을 기본적으로 확인해 본 경험 (기본적인 INDEX 사용 여부 확인 수준)<br><br>• SQL 쿼리 작성 및 분석 능력<br> · 테이블 간 JOIN을 이용해 두 날짜 컬럼 간 기간을 계산하고, 그 기간이 정해진 임계값을 초과하는 건수를 <br> 집계하여 반환하는SQL 작성 경험<br> · 예: "TBL_A의 시작일·종료일과 TBL_B의 기준일을 JOIN하여 기준일과 종료일의 차이가 30일 이상인 레코드를 집계"<br> · 가장 빈도수가 높은 기간(예: 가장 많이 존재하는 특정 일자 범위)을 찾아서 해당 기간에 속하는 모든 레코드를 한 번에 <br> 조회하는 SQL 작성 경험<br> · 예: "고객 행동 로그 테이블에서 7일 단위 세그먼트를 기준으로 가장 많은 트랜잭션이 발생한 구간을 식별하고, <br> 그 구간 내 상세 데이터를 조회"<br> · 위 두 시나리오를 하나의 복합 쿼리나 PL/SQL 블록으로 처리하여, 집계 및 상세 조회를 동시에 수행할 수 있는 능력<br> (예: 서브쿼리, CTE, 윈도우 함수 결합)<br><br>경력 지원자 (신입 지원자 역량 + 아래 8개 역량 중 6개 이상 가능, 능숙도에 따른 역량 기반 가산점)<br><br>• 커서(Cursor) 및 단순 예외 처리<br> · 명시적(explicit) 커서를 사용해 다중 행 조회 후 반복 처리한 경험<br> · NO_DATA_FOUND, TOO_MANY_ROWS 같은 표준 예외를 EXCEPTION 블록으로 처리한 경험<br><br>• 커서 및 REF CURSOR 활용<br> · 다중 행 처리(Complex Cursor) 및 커서 변수(Cursor Variable)를 사용해 동적 결과 집합(Return Set)을 반환하는<br> 프로시저 구현 경험<br> · SYS_REFCURSOR를 통한 결과셋 반환 및 이를 호출 프로그램(Java, PL/SQL 등)에서 처리한 경험<br><br>• 기본 트리거(Trigger) 작성<br> · 삽입 또는 갱신 시점에 간단한 로깅/데이터 검증 로직을 AFTER/BEFORE 트리거로 구현해 본 경험<br> (예: INSERT 시 컬럼 값 체크 후 오류 발생)<br><br>• 트리거(Trigger)로 복잡한 비즈니스 로직 구현<br> · UPDATE/INSERT/DELETE 시점에 변경 전·후 값을 비교하여 이력 테이블에 자동 기록(Audit Log)하거나, <br> INSERT 시 유니크 조건을 추가 검증하는 등 고급 트리거 로직 작성 경험<br> · 트리거 내부에서 커서 호출, PL/SQL 함수 호출 등 복합 로직을 실행하여 데이터 무결성 및 감사 기능을 구현한 경험<br><br>• 동적 SQL 및 바인드 변수 사용<br> · EXECUTE IMMEDIATE 또는 OPEN cursor_name FOR 구문으로 입력 파라미터(WHERE 절 조건이 가변적일 때)를<br> 동적으로 조립하여 SQL을 실행한 경험<br> · 동적 SQL 작성 시 SQL 인젝션을 방지하기 위한 바인드 변수 사용 경험<br><br>• 예외 처리 및 트랜잭션 제어<br> · NO_DATA_FOUND, TOO_MANY_ROWS 이외에 사용자 정의 예외(Custom Exception)를 선언·발생시키고, <br> SAVEPOINT/ROLLBACK TO SAVEPOINT을 활용해 트랜잭션 오류 복구 로직을 구현한 경험<br> · 예시: "잔액 업데이트 중 음수 잔액 발생 시 ROLLBACK TO SAVEPOINT로 복구 후 별도 처리" 같은 시나리오 설계 <br> 및 구현 경험<br><br>• PL/SQL 성능 최적화 및 코드 품질 관리<br> · EXPLAIN PLAN 분석 실행 계획에 따른 인덱스 재설계(Clustered/Non-Clustered), 파티셔닝(Partitioning) 또는<br> 힌트(HINT) 적용을 통해 쿼리 성능을 개선한 경험<br> · PL/SQL 코드 가독성을 위해 적절한 모듈화, 주석, 네이밍 컨벤션을 준수하며, 주기적으로 코드 리뷰·리팩토링을 <br> 수행한 경험<br> · 예시: "월별 1억 건 이상 로그 테이블에 대해 인덱스/파티셔닝 전략을 적용해 쿼리 응답 시간을 5초 500ms로 줄인 경험"<br><br>• 테스트 및 디버깅 스킬<br> · PL/SQL 단위 테스트(Unit Test) 작성 또는 DBMS_OUTPUT.PUT_LINE을 활용한 로직 검증 경험<br> · SQL Developer, TOAD, PL/SQL Developer 등의 도구로 복잡한 스택 추적(Trace) 및 디버깅을 수행한 경험</p><h2>우대사항</h2><p>• SQL 관련 공인 시험 점수<br> · 프로그래머스 PCSQL 점수 등 공인 점수 우대 (단, 온라인 테스트 결과는 불인정)<br><br>• ETL/ELT 개발 경험<br> · Pentaho, Informatica, Talend, SSIS 등의 ETL 도구와 연계하여 PL/SQL 기반 데이터 파이프라인을 구현한 경험<br><br>• 데이터 모델링 툴 활용 경험<br> · PowerDesigner, Erwin 등으로 논리/물리 모델을 설계하고, 해당 모델을 바탕으로 PL/SQL 코드 작성 경험<br><br>• 클라우드 DW 플랫폼 경험<br> · AWS Redshift, Google BigQuery, Snowflake 등 클라우드 환경과 온프레미스 Oracle 간 연동(DB Link) 경험<br><br>• CI/CD 및 자동화 배포 경험<br> · Git, Jenkins, Ansible 등을 활용하여 PL/SQL 코드의 자동 빌드·테스트·배포 파이프라인을 구축한 경험</p><h2>혜택 및 복지</h2><p>• 역량 기반 채용, 신입 환영: 경력과 무관하게 실력 그 자체로 평가(신입이더라도 역량이 충분할 경우 경력직에 <br> 해당하는 연봉 가능)<br><br>• 고용 형태: 정규직 (학력 무관)<br><br>• 채용 인원: 3명<br><br>• 채용 조건: 정규직의 경우 3개월 수습기간 후 정규직 전환 여부 협의하며, 이 경우 3개월 근무 기간은 <br> 정규직 근무 기간에 포함<br><br>• 근무지:<br> · 운영 업무: 서울 강남구 역삼로 111 (본사)<br><br> · 프로젝트 팀: 본사 원격 근무 중심 + 필요 시 고객 병원 출장<br><br>• 복리후생: 4대 보험, 도서구매·교육·개발툴 구독 지원, 10시 이전 자율 출퇴근, 매주 금요일 6시간 근무,<br> 노트북 구매 지원(250만원 4년연한) 등</p>








