실제 회사에서 있었던 일이다.
9년차 개발자를 뽑았다.
물론 내가 직접 뽑지는 않았지만 나중에는 내가 관리해야하는 영역으로 들어 왔다.
9년차지만 거의 모든 기간을 운영만 하면서 보냈다고 했다.
JSP를 할 줄은 안다고 했다.
우리 회사는 SI회사가 아니다. SM이지만 개발이 많은 SM이다.
그래서 업무를 계층형으로 나누지 않았다.
중간에 사람이 빠지면 그 계층에서 정체현상이 발생하기 때문이다.
그래서 업무를 TASK별로 나누어 주었다.
개발자 혼자서 데이터베이스부터 jQuery까지 모두 소화해야 한다.
업무을 나눠주고 9년차 개발자에게 물었다.
어느 정도의 시간을 드리면 할 수 있습니까?
2주면 할 수 있다고 대답했다.
2주가 되었는데도 아직 방향조차 잡지 못하고 있었다.
그래서 이런이런 방법으로 진행하세요.라고 가르쳐주었다.
다시 2주가 지났다. 역시 TASK는 제자리. 그래서 물어봤다.
우리 시스템에서 사용하는 프레임워크들은 모두 알고 계시냐고.
Spring Framework 빼고는 다 해봤단다.
그런데 가장 근본이 되는 의문을 가지게하는 사건이 생겼다.
모든 것들 다 제대로 프로그래밍했는데 결과가 안나온다는 것이다.
그래서 9년차 개발자가 짠 소스를 봤다.
가관이었다.
List에 List를 add시키고 있었다.
그리고나서는 해당 객체에 접근할 때 List.get()으로 꺼내어 그대로 파라미터를 찾고 있었다.
List에 List를 add하는 것도 이상한데 상위 List에서 get으로 꺼낸 것이 다시 List타입일텐데 그것도 모르고 안된다고 인터넷 검색하고 책 찾아보고, 혼자 삽질을 하고 앉아 있었던 것이다.
그래서 생각했다.
설령 우리 시스템의 프레임워크를 모르는 개발자가 있더라도 기본적인 교육을 실시하여 시스템의 프레임워크에 적응시키고 일을 시키자.
우선 프레임워크에 대한 이해도를 알아볼 수 있는 테스트를 만들었다.
그리고 그 테스트 결과에 따라 어떤 교육을 시켜야할 지에 대한 것들도 패키지화시키려 하고 있다.
그러던 중 이 책을 알게되었다.
자바 개발자를 전제로 해서 그런지 군더더기 없는 내용이 좋았다.
대부분 취업하려는 신입 개발자나 경력 개발자에게 다시 한 번 기초를 튼튼하게 다질 수 있는 교육 자료로 충분히 활용이 가능하다.
기초가 튼튼해야 삽질을 줄일 수 있다.
개발자라는 직업이 3D 직업이라고들 하는데 잘 생각해 보기 바란다.
혹시 본인이 3D를 만들고 있는 것은 아닌지.
삽질 없이 계획한대로 프로그래밍되어 결과를 만들 수 있다면 야근이나 주말출근은 안해도 되지 않을까?
그러기 위해서는 가장 중요한 것이 튼튼한 기초라는 것을 모두 알고는 있지만 실천하기 어렵다고 생각할 것이다.
그 실천에 도움이 될만한 책이다.