본문 바로가기
ERP-SAP/일하며 잡담

ERP 개발업무 개인적 총평. SAP ABAP 개발자를 신입개발자에게 추천하는가?

by 행복한워니의 기록 2024. 1. 4.
728x90
반응형

(오랫만에 신년 잡담글)
 
몇일 전 유투브에서 알고리즘에 의해 ERP 개발업무에 대한 개인적인 총평 / 신입개발자에게 ERP를 추천하지 않는 이유라는 유투브 영상을 보았다. 50분짜리 라이브 토크영상이었는데 얼추 맞는 말도 있었기에 
추가로 SAP ABAP 개발 및 유지보수만 해온 나의 생각을 해당 영상에 덧붙여 써보려 한다.
 
아마 검색해 보면 SAP ERP 에 대한 국내 사이트 자료나 잡담은 생각보다 많이 없다..
좀 오래된 사이트중에 FI LAB 이라던지 SAP 한국 커뮤니터 포럼인가...가 자주 보이고
그 외에는 코딩 및 유지보수시에 필요한 자료를 저장해놓은 여러 블로그들? 
 
고로 한국 거의 모든 대기업에서 쓰는 ERP 인데도 불구하고
그것에 대한 다양한 경험과 생각을 읽어볼 기회가 별로 없는 것 같다.
(그래서 지금 잡담을 쓰는거기도 하고..ㅎㅎ 나도 다른사람 생각을 읽어보고 싶다!!!!).
 
유튜브 영상에서 공감되었던 내용이 
신규 개발자에게 ERP를 추천하지 않는 이유인데 대략 요약해 보면
개발스킬에 대한 향상이나 경험에 대한 이야기가 있었다...
 
맞는 이야기이다...
 
 
그래서 그런가....
과거 ABAP 하는 분들을 ABAP 프로그래머라 부르는걸 좋아하지 않았다.
(특히 아밥퍼라고 부르는건 더더욱 싫어했다. 그냥 딱 봐도 ER붙인 낮춰부르는 느낌이라..)
물론 지금도 프로그래머랑 다른 결이라 생각한다.
원래는 Devlopment Consultant 라고 certi에도 나온다.... 
분명 ABAP Developer 가 아니다...
(내 써티를 참조..09년에 땄구나...)
 


왜 그럴까 생각해 보면 SAP의 경우 솔루션이고 해당 솔루션에 대해 입맛에 맞게
커스터마이징 하거나 추가로 개발을 하는 사람들이 Module Consultant 와 Development Consultant 다..
모듈컨분들은 img 셋팅과 추가로 필요한 프로그램들에 대한 설계를 하시고
abap개발자들은(평소에 개발자라 많이 부르니 개발자로 편히 쓰겠다..)
해당 설계서를 가지고
SAP내에서 해당 프로세스를 확인하고 프로그램을 만들거나 자신이 아는 기술들을 활용해서
개발을 한다. 
 
이게 무슨 뜻인가 하면 예시를 하나 들겠다. 
 
만약 사원관리 DB를 하나 만들었다 하자. 
그리고 해당 관리 DB를 담당하는 관리 현업이 있다 하면
SAP로 개발할 경우 
1. SAP에서 제공하는 유지보슈뷰(메인터넌스 뷰)를 통해 쉽고 빠르게 만들거나
2. ABAP으로  해당 DB를 SELECT 한 후에 ALV 레포트 로 그려주고 CRUD 를 코딩으로 만들어 주는 방법
있을 수 있다. 
 
1번의 경우 설계만 제대로 있다면 개발은 20분이내? 로 가능하다. 
2번의 경우 CRUD를 다 만든다면 그래도 최소 2시간 이상은 걸리지 않을까 싶다. 
 
그런데 만약 1번의 경우에서 추가로 생성일/시분/생성자 AND수정일/일시에 변경자까지
자동으로 들어갈 수 있게 해줘야 한다!
라고 요청사항이 온다면??
 
 
초보 개발자는 에이씨 하며 2번의 경우로 만들겠지만.개발 짬밥이 좀 있는 사람들은
유지보수 뷰 EVENT 를 이용해서 생성변경시 자동으로 데이터들이 들어가게 따로 코딩을 할 것이다.
 
그런데 또!!
"이거 유저 수천개가 다 나와서 검색하기 힘들다. 검색한 유저만 나올 수 있게 조건을 만들어줘"
라고 한다면 
초보 개발자는 에이씨 처음부터 그렇게 말하지 라며 다시 2번의 경우로 만들 가능성이
매에에에에에우 높다...
 
그러나 또 짬밥있는 개발자라면 유지보수뷰에 리포트 껍대기를 씌워서 조건을 넣게
만들어 줄 수 있는 것이다. 
(https://nightsforu.tistory.com/172 - 2011년도 글이다..)
 
 
 
 
즉, SAP 내에 있는 매우매우 다양한 기능들을 자유자재로 이용해서 
개발시간도 단축 시킬수 있고 더욱 안정성 높은 프로그램도 만들어낼 수 있는 것이
ABAP 개발자가 할 일이라 생각한다. (그래서 SAP에서는 Development Consultant라 써티를 주는거겠지..)
 
고로 타 언어 개발자와는 조금 다른 개발능력을 가지는 것이다.
 
만약 순수하게 코딩으로만 본다면 어휴... JAVA  독학을 조금 해봤지만 진짜 어렵고 찾아가기도 힘들더라.
아마 개발 능력치들은 타 언어개발자들이 훠어어얼씬 잘할 수 있을것이라 생각한다.
 
그래서 그 유투브 영상에서도 신입개발자에게 ERP를 추천하지 않는다 하는것이다..
 
그러나 이 부분은 업무가 다른거라 보는게 편하다...
ERP 개발자들은 기업 내 업무를 알고 그 업무에 맞게 SAP를 셋팅하고 수정하고 개발하며
업무가 잘 돌아갈 수 있게 만드는게 목적이다.
물론 그 안에 수려한 코딩들이 들어가면 더더욱 멋지지만 수려하지 않아도
퍼포먼스 잘나오고 업무가 잘 돌아가면 장땡이다.. ㅎㅎㅎㅎ
 
그렇기 때문에 ABAP 유지보수 하시는 분들이나 SAP 신규 플젝하시는 분들이 타 언어데 비해
조금 더 워라벨이 좋은 분들이 많고 단가가 조금 더 높은분들이 많다. 
(그만큼 이 업계로 들어오는데 허들이 높고 인원이 타 언어에 비해 적은것도 있겠지..)
 
 
뭐 위와 같은 예시들은 업무 하면서 너무 많다.
가령 특정 DB에서 데이터를 추출해서 뿌려줘야 하는데 
SAP 스텐다드 레포트에서 엄청 복잡한 로직으로 금액들을 합산해서 뿌려주고 있다..
 
그런데 이 값들을 인터페이스 해서 던져줘야 한다라면 
아마 타 언어에서는 해당 DB를 읽은 후에 이 레포트에서 어떤 로직으로 이 금액을 합산하는지 
몇일밤을 분석해서 알아낸 후에 로직을 짜서 넣고 전송을 하겠지만.
(그냥 로직 다 COPY & PASTE 하면 안되요? 라고 묻겠지만 그렇게 하면 "안돌아간다!" )
 
SAP에서는 해당 스텐다드 레포트를 그대로 읽은후에 메모리에 담아 
데이터를 분석후에 쪼개서 던져버리는 방식으로 개발을 했다. 
 
즉, 스텐다드 로직 분석은 SAP 내에서 큰 의미 없다 판단하고 그걸 그대로 이용해서
던지는 개발방법을 택한 것이다.
 
이 방법에 장점은
SAP 회계상 엄청 복잡한 로직들이 있는데 이걸 직접 코딩한다면 추출 / 검증 / 오류에
수많은 시간을 보내야 겠지만,
이 모든걸 짬 시키고 안정적인 정보를 그대로 던져줄수 있는 것이다. 
( https://nightsforu.tistory.com/469  그 예시글이다..)
 
 
그래서 총평은 무엇이냐...요약해 달라면
 
ERP 개발업무는 JAVA와 C 등등과 조금 결이 다르다...
이 부분의 차이를 알고 시작해야 한다. 
정말 무에서 유를 창조하고 내마음대로 쥐락펴락 여러가지를 다 만들어 뽑아내고 싶다면
JAVA를 기본으로 시작하는게 나을 것이다. 
그러나 대기업에서 일하며 회사의 프로세스를 배우며 돌아가는 전체적인 
내용들을 배우고 싶고 시스템을 익히고 그 워라벨에 맞게 움직이고 싶다면 ERP가 낫다..
 
 
SAP 개발하시는 분들중에 JAVA에서 넘어오시는 분들을 꽤 봐와서 그분들이 왜 넘어오신지를
물어본 적이 있는데 
 
"ABAP이 편해보여서.."
"아니 난 개고생 하는데 저쪽 어떤 팀은 다 집에 가잖아!! 그래서 뭐하는 사람인가 물어봤더니 SAP를 한데~"
라고 한걸 굉장히 오래전에 들었다.. ㅎㅎㅎㅎㅎ
ABAP 하시다 JAVA로 넘어가신 분이 있는지는... 우선 나는 본적이 없다...
저 두 언어를 듀얼로 일있는곳에 따라 하시는분은 본적이 있다..
(그리고 UI5 하시는 분들중에 JAVA 에서 오신분들도 많다고 들었다.
 난 유지보수하느라 SI 시절 WEBUI 까지만 맛뵈기로 해온 터라.... UI5는 잘 모른다. ) 
 
 
이 모든 글은 정말 개인적인 생각이고
그래서 이 글을 쓰는 당신은 만족하냐고 묻는다면...
난 매우매우 만족하고 있다.. 
 
물론 나는 돈많은 백수가 제일 만족스럽겠지만 말이다.. ㅎㅎㅎ 
 
 
 
 

728x90
반응형