brunch

You can make anything
by writing

C.S.Lewis

by 판뚜 Apr 30. 2019

비개발자가 물었다. "넌 대체 무슨 일 해?"

비개발자에게 개발자의 일을 설명하기

오랜만에 친구들이나 가족들을 만나면 자연스레 서로의 근황을 묻게 됩니다.

"난 xxx 다녀. 거기서 개발자로 일해"

일단 이에 대한 반응은 "우와"입니다.
그리고 질문이 시작됩니다.

"IT 회사면 야근 쩔지 않아?"

"그 회사 잘 나가던데 너 돈 엄청 많겠다."

"그럼 판교에 집 있어? 대박"

"여친도 같은 회사라면서.. 둘 다 대박 부자겠네"

라는 질문이 쏟아집니다. (전부 사실무근입니다.)
하지만 그것보다도 더 저를 어렵게 하는 질문이 있는데요. 그것은 바로..

"거기서 넌 대체 무슨 일 해?"




비개발자에게 개발자의 일을 설명하기


안타깝게도 제 가족들은 제가 정확히 뭘 하는지 아직도 모릅니다.
몇 년 동안 이 업계에 있었습니다만 아직도 어떻게 설명해야 할지 명쾌한 해답을 찾지 못했습니다.

일단 몇 가지 예시 상황을 준비해봤습니다.


1. 개발과 1도 관련 없는 사람과의 대화

너 : 넌 대체 회사에서 무슨 일 해? 프로그래머인가 뭔가 그거야? 코딩?

나 : 응 맞아 그런 거. 하루 종일 개발해.

너 : 그럼 네가 xxxx 앱 다 만든 거야?

나 : 아니 난 앱을 하진 않고.. 더보기에 있는 서비스 한 개 담당해.

너 : (일단 조금 실망함) ... 홈페이지 한 개 만드는 거야?

나 : 아니. 웹 말고. 서버 개발 해.

너 : 서버 개발이 뭐야? 그냥 홈페이지 만드는 거랑 다른 거야?

나 : 아니 그.. 네가 보고 있는 상품 화면에 이미지도 있고 텍스트도 있고 여러 데이터가 있잖아? 그런 거 관리하는 개발이야.

너 : 그게 홈페이지 만드는 거랑 다른 거야?

나 : ... 응 달라. 암튼 걍 그런 거 하고 있어.

너 : 그럼 네가 저 상품들 직접 발품 팔아? 저거 내가 사주면 너한테 뭐라도 좀 떨어지냐? ㅋ 사줄까?ㅋ

나 : .......

이런 경우는 굉장히 흔합니다. 근데 차라리 편합니다. 왜냐면 그냥 포기하면 됩니다.
다행히 상대도 그닥 더 알고 싶어 하지 않는 눈치입니다.
하지만 정말 난감한 건 이 경우입니다.


2. 어설프게 아는 비개발자와의 대화

너 : 너 프로그래머야?

나 : 응 맞아. 개발자야.

너 : C언어? 자바? 그런 거 하냐?ㅋ

나 : 응 자바를 쓰긴 해.

너 : 나도 코딩 좀 했었는데ㅋ

나 : 오 그래? 뭐했었어?

너 : html로 홈피 만들고 그랬었지ㅋ

나 : .......

이런 경우도 가끔 있습니다. 좀 난감한 경우죠.
(개발자들은 html을 프로그래밍 언어라고 생각하지 않습니다.)

실제 개발자들은 이런 대화를 합니다.


번외. 실제 개발자들의 대화

너 : 넌 클라? 서버?

나 : 응. 난 서버. 너도 서버?

너 : 응. 레일즈 쓰다가 지금 스프링으로 개편하는데 개빡세네

나 : 레일즈.. 못하겠더라 난. 첨부터 스프링을 써서 그런가 이게 젤 좋더라고. ide도 훌륭하고.

너 : 근데 스프링 복잡해서 별로야.

나 : 부트 간단하고 좋잖아. 요즘 진짜 좋아졌더라.

너 : 그렇긴 하지. 근데 빌드 시간이 너무 오래 걸려. 장애 났을 때 빨리 서버에서 vi로 수정하고 재시작해야지 언제 기다리냐..

나 : 그렇긴 하지.  




그럼 개발자들은 실제로 뭘 하나요?


물론 코딩을 합니다. 각자의 분야에 맞게요.
저는 커머스 조직에서 상품 도메인의 서버 개발을 담당하고 있습니다.

유저에게 보이는 데이터에 대한 API (상품 리스트, 상품 상세, 기획전 등등)
혹은 유저 액션에 대한 API (즉시 구매, 장바구니, 주문, 찜 상품 등등)
물론 판매자 쪽의, 상품 등록/수정/삭제 관리 등의 API도 합니다.

기획적으로 새 기능이 추가되면 데이터를 어떻게 구성할지,
어떤 흐름으로 코드를 짜야할지, 
어떤 라이브러리, 프레임워크, 인프라로
어떤 게 더 효율적 일지 고민합니다.
(db에 데이터를 어떻게 넣을지, 캐시를 어떻게 설정할지, 동기로 처리할지 비동기로 처리할지, 즉시 처리할지 배치로 처리할지 등등)

저의 일 중 매우 일부를 간략히 정리한 것입니다.

이것은 지극히 저의 경우이고요.
담당 도메인에 따라 하는 일은 천차만별입니다.

참고로 프론트 개발자들은 서버 개발자들이 만든 API를 이용하여 javascript 프레임 워크(angular, react 등)를 이용해 웹페이지를 만듭니다.
(html 태그만 만지는 사람들이 절대 아닙니다.)




마치며


개발의 영역뿐만 아니라 많은 영역에서 서로 잘 모르는 것들을 설명하긴 정말 어렵습니다.
일단 위 글은 비개발분들을 무시하려는 것은 절대절대절대절대 아니고요.
이런 상황에 더 쉽고 재밌게 답하는 능력을 기르고 싶은 게 제 희망사항입니다.

그러나 지금 설명하는데도 참 어렵네요. 오늘도 답 찾기에 실패한 것 같습니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari