JPA는 데이터베이스 테이블과 자바의 클래스를 매핑시키는 ORM(Object Relation Mapping) 기술입니다. SI의 데이터베이스는 JPA로 하기엔 너무 테이블과 컬럼이 많고 변경도 심하며 정규화도 안되어있습니다. 게다가 아무래도 직접 쿼리를 작성하는 개발에 익숙해진 사람들에게는 러닝커브도 존재합니다. JPA의 메카니즘상 즉시로딩(EAGER) 과 지연로딩(LAZY) 이 존재하고, 이런것까지 생각하면서 개발을 하려면 더 오랜 시간이 걸립니다. 같은 데이터베이스 테이블간의 연관관계라고 해도 특정 화면에서는 즉시로딩을, 다른 화면에서는 지연 로딩을 해야 하는 경우도 있기 때문입니다. 복잡한 쿼리는 어차피 직접 짜야 합니다. join, distinct, union 과 group by 를 한번에 사용한..
SI는 대부분 데이터베이스 중심 프로그래밍을 합니다. 뭔가 그럴듯한 이름을 붙이자면 Database Driven Development 입니다. 하지만 D.D.D. 라는 용어는 Domain Driven Development 와 약자가 동일하기도 하고, 사실 아무도 Database Driven Development 라고 부르지는 않습니다. 대신 현업에서는 "쿼리가 전부다" 라는 말은 많이 합니다. 데이터베이스 중심 프로그래밍이란 모든 비지니스 로직이 데이터베이스에 녹아있는 것 을 말합니다. 자바 스프링을 쓰기는 하지만, 실제로 스프링에서는 거의 아무런 처리도 하지 않습니다. 그저 컨트롤러를 만들고, 서비스 인터페이스와 서비스 구현체를 습관적으로 연결하고, DAO를 호출한 다음, 마이바티스 XML에 쿼리를 작..
본 수는 웹 페이지 수 를 말합니다. 간단한 게시판을 만든다고 생각해 봅시다.목록, 상세, 생성, 수정, 삭제 기능이 있습니다.만약 목록, 상세, 생성, 수정, 삭제 기능이 각자 다른 페이지에 있다면 5본입니다. 페이지가 다르거든요.만약 목록에서 클릭을 하면 상세 화면이 아래로 펼쳐지고, 수정 버튼을 누르면 바로 수정할 수 있는 텍스트 영역이 나타나고, 삭제 버튼을 누르면 바로 목록에서 사라지며 목록 최 하단에는 신규 데이터를 생성할 수 있는 기능이 따로 있다면 1본입니다. jsp 페이지가 1개니까요. 프로젝트에 따라서 하루에 몇 본 정도 처리해야 하는지는 다 다릅니다.복잡한 페이지 위주로 있는 경우에는 며칠에 한 본을 처리할 수도 있습니다. 대시보드 같은 건 말만 한 본이지 데이터베이스 전체를 다 조회..
SI에서 문서는 실제 개발할 때 쓰라고 있는 게 아닙니다.산출물을 제출해야 하기 때문에 존재하는 것이 문서입니다. 기획서가 나오고 기획서대로 개발하고 기획자와 QA의 검수가 끝난 후 다른 개발을 하는 싸이클은 SI에는 없습니다.요구사항 변경을 기획서에 반영하고 그 기획서를 바탕으로 수정하기엔 시간이 부족합니다. 그냥 요구사항 변경 얘기 듣고 오면 기획서는 기획서대로 개발은 개발대로 진행하는 거에요.이야기를 듣고 온 사람 따로 만드는 사람 따로 기획서를 작성하는 사람 따로이므로 에반게리온 마냥 모두의 마음이 일치하지 않는 한 의도가 정확하게 전달되지 않습니다. 그래도 괜찮습니다. 어차피 또 바뀔 수도 있으므로 온 힘을 다해 수정을 해야 하는 부담감은 없으니까요. 문제는 또 바뀔 줄 알고 대충 만들었는데 안..
가장 좋은 시나리오는 야근과 주말 출근이 없는 것입니다.하지만 부득이하게 야근 혹은 주말 출근이 있는 경우에는 대부분 식대가 있습니다. 식대는 저녁밥을 먹을 경우 보통 사줍니다. 프리랜서든 정규직이든 자기 돈으로 사 먹으라는 곳은 거의 없습니다.야근도 하는데 밥도 내 돈으로 먹으라는 업체가 있다면 그냥 칼퇴해 버리시고 왜 야근 안했냐고 물어보면 밥도 안사줘서 집에 갔다고 해 보세요. 그럼 다음날부터 야근시에는 밥을 사 주게 됩니다. 주말 출근의 경우에도 밥은 사 줍니다. 이때는 보통 점심도 사 줍니다. 저녁은 당연히 사 주지만 주말 출근했는데 저녁까지 먹고 가는 건 가끔 좀 억울하기도 합니다. 택시비는 보통 11시 혹은 12시가 넘으면 줍니다. 대중교통이 끊기거든요.그래서 근무지와 집이 먼 사람의 경우 ..
SI 에서는 남녀도 평등합니다.SI 프로젝트는 남/녀가 구분이 필요한 업무를 하지 않습니다.프로그램을 개발하는 일은 성별과는 아무런 연관관계도 없으니까요. 유리 천장은 없습니다.유리천장이라고 하면 여자라서 진급이 되지 않거나 하는 부당한 일을 겪을 수 있는 현상을 말하는데 특별히 여자라고 해서 유리천장이 있다거나 한 경우도 못 봤습니다.SI에서는 오로지 초.중.고.특 급 으로만 사람을 나누기 때문에 여기에 성별의 잣대는 전혀 들어가지 않습니다.여자라고 해서 급여가 차감된다거나 하는 일도 없습니다. 다만 성별에 따른 대우도 없습니다.일부 분들은 여자니까 더 대우해 달라는 요청을 하시는 분들도 있습니다.업무상 불가피한 야근에서 제외해 달라는 요청을 하시는 분들도 있고, 어려운 일들은 남자들이 하는 게 맞지 ..