• [일기] 전 무언가를 가르치는일에는 소질이 없는 것 같습니다.2019.10.29 PM 11:38

게시물 주소 FONT글자 작게하기 글자 키우기

 

원래 하던 업무가 있었고, 요 몇주간 웹 개발을 한건 어디까지나 2년전에 제가 맡았던 경험이 있기 때문에

긴급 소방수로 투입된 것이었죠.

 

26세 파릇파릇한 신입사원이 운영/개발 정 담당으로 배치받은 상태였습니다.

하지만, 이 사원은 학교 졸업도 마치지 못하고 취업계로 들어온 상태인데다

SQL, 자바등의 경험은 학교에서 배우고 실습한 경험 뿐.

우리회사 다른 파트에서 3-4개월 있다 왔다고 했지만 그것 역시 쉘스크립트 정도의 업무였기에, 현재 당장 운영사항이나 유지보수 안건이 들어오면 다시 제가 들어가야하는 문제가 있었습니다.

 

그렇기에 매일 숙제를 내주고 해결하는 방식으로 계획을 세웠죠.

숙제는 간단합니다.

멀쩡한 웹페이지의 기능 하나를 제가 일부로 망가뜨리고(물론 개발서버에서)

고쳐보라고 시키는 일이었죠.

 

예시)

-신입씨. 자 이거봐요. 지금 10월 데이터가 이 페이지에서 잘 조회될거에요.

 

신입

-네.

 

-근데 이제 이게 안나올거야.

 

신입

-?!?!?!

 

-내가 전부터 로그를 보면 파라미터와 SQL 경로와 경고등이 찍힌다고 했죠?

-1번째 문제. 이 페이지에서 다루는 데이터 테이블을 찾아내도록 해요.

 

신입

-네!

 

(1시간 후)

 

신입

-찾았습니다.

 

-응. 잘했어요. 사실 10월 데이터는 거기서 내가 다 지웠으니 안나오는건데

-이 이름의 bak 테이블에 10월 데이터를 넣어놨으니

-본래 테이블에 insert를 해봐요.

-지난주 부터 SQL책 보던데, INSERT 기능은 어렵지 않을거에요

 

신입

-네.

 

사실 신입이 보는 책은 대단히 기초적인 책으로 INSERT를 직접 일일히 입력하며 넣는 기초적인 구문이라 이런 10000건의 데이터를 하나씩 넣을 수는 없으니 select 와 insert를 함께 하는 방법을 구글 검색을 해서 찾거나 고민을 해서 익히게 하고 싶었던 의도였습니다.

별거아닌거라 가르쳐주면 바로 하겠지만, 고민하고 익히면 완전히 자기게 된다고 생각하고 있었거든요.

 

그리고 20분 후 어떻게 하나 보러갔더니 본테이블과 백업테이블을 join 하려하고 방향을 잡지 못하고 있기에 나름 힌트를 주려고 말했습니다.

 

-옆 대리 화면을 봐바 (정석적인 insert-select를 치고있었음)

 

뉴대리

-??

-.......!!

 

그리고 뉴대리는 신입에게 설명을 시작합니다.

 

뉴대리

-니가 뭘 하고 싶은지는 알겠어. 나도 그런때가 있었거든

-하지만 join은 키가 있어야 가능해. 그런데... 아무튼 체계적 설명.

 

신입

-아!

 

뉴대리

-아무튼 알기 쉬운 설명

 

신입

-그렇군요!!

 

-(어......... 이게 아닌데...)

-아무튼 해결했으니 다음 과제로 넘어갑시다?

-데이터를 다 넣었겠지만, 여전히 조회가 안될거에요 ㅎㅎ

 

신입

-네

 

-왜냐하면 내가 백업 데이터도 망가뜨려놨거든.

(절대 괴롭히려고 이런게 아닙니다.)

-정상적으로 조회하게 하려면 망가뜨린 부분을 찾아야겠지

-그건 내가 앞서 얘기한 파라미터를 보고 수행하는 sql을 찾아서 where 조건에 끼워넣어보면 되는거야

-그렇게 해서 조회가 안되면, 조건을 하나씩 제거해보면서 원인을 찾는거지.

 

뉴대리

-과장님이 무슨 얘기하는거냐면 말야

-친절한설명

 

신입

-아아!!

 

잠시 후 바람 쐬는 시간.

저는 뉴대리에게 말합니다.

 

-내가 너무 막 던지는 스타일인가?

 

뉴대리

-아니 형이 하는 방식이 틀린건 아니야.

-스스로 해결할 수 있으면 정말 도움되지

-그런데 쟤는 쿼리문 하나도 안다뤄봤다고 하잖아.

-그러니까 조금은 기초를 알려주는게 좋지

 

-(누군 알고 시작했냐 라고 말하려다가 엄청나게 꼰대마인드가 아닐까 생각하고 안함)

-그러게... 전 회사에 있을때 내가 쟤한테 하듯이 너한테 숙제 내주고 했음

-좋았을텐데, 그땐 내가 바쁘다고 못봐줬지

 

뉴대리

-난 강하게 컸어 혼자서 ㅎㅎ

 

기왕 이렇게 된거 내가 아는 방식대로, 내일은 더 중요한 기능을 박살내놓고 고치라고 해봐야겠습니다.

물론 당연히 못한다고 뭐라하지 않고, 전제조건도 붙이지만요 ㅎㅎ(모르겠으면 오래 붙잡지 말고 와라)

 

(번외)

-(신입이 뉴대리에게 insert into A select * from B는 배웠겠지만, 그건 큰 함정이있지 ㅎㅎ)

-(바로 A,B테이블이 모두 컬럼이 동일해야만 오류없이 들어간다는거지 ㅎㅎ)

-신입씨

 

신입

-네

 

-아까 한거 비슷하게 다시 해봅시다. 이 화면 이제 데이터 안나올건데 나오게 해보는거에요.

-일단 데이터 테이블 부터 찾기 시작 & 백업 테이블 insert & 데이터 update 까지

 

그리고 저는 백업테이블 끝에 컬럼 하나를 추가합니다.

보통 (name, grade, level, score) 이런 구조라면

(name, grade, level, score, hamjung) 이렇게 한칸을 일부러 추가하여

insert into A (name, grade, level, score) select name, grade, level, score from B

이렇게 선언을 해주면 전혀 에러가 안나지만 신입이 아직 저걸 안해봤을테니

분명 insert into A Select * from B 이렇게 실행할 것이고, 처음보는 오류에 당황하겠죠 ㅎㅎ

 

*절대 괴롭히려고 이러는게 아닙니다.

 

그리고 새로운 방식을 알려주는 목적으로 진행했는데..........

 

신입

-다했습니다.

 

-오? 어떻게?

 

신입

-(씨익)

-함정 컬럼을 drop 시켰습니다.

 

-.........................아 ............그것도 방법이긴 한데 ㅎㅎㅎ........

-우린 고객 운영데이터를 다루니까, 이게 실 서버면 그렇게하면 난리가 나는거에요.

 

해결은 해결인데...........  

댓글 : 6 개
상대방 수준을 봐서 설명 잘하는건 원래 엄청난 스킬이죠.
논리도 좋아야하고.
근데 뉴대리는 혼자서 신입 가르치라고 하면 잘합니까??
*의 함정!
일단 시스템부터 파악하고 문제찾기를 해야하지않나요
너무 막던지는거같네요
깝깝할듯
파악기간은 2주 정도 별도 진행을 했습니다. 별도 기재를 안해서 오해의 여지가 있었네요.
사실 냅둬도 의지가 있으면 알아서 크더군요.
물어볼때 답해줄수 있으면 좋은선임이라고 생각합니다.

또 배움도 궁합인것 같아요.
자세하게 원리부터 말해야 아는 사람, 원리 알려주면 헤메고 간단하게 답만 알려줘야 하는 사람 따로 있더라구요.
select *...
친구글 비밀글 댓글 쓰기

user error : Error. B.