넋두리

Mindjack·4일 전
7
post-thumbnail

서론

2021년 11월 1일, 나는 부리나케 회사에 입사했다. 내가 들어오기까지, 회사는 대표 한 명으로 이루어져 있었다. 하지만 상관없었다. 나로서는 경력 쌓기, 부모로부터의 독립을 절실하게 원했기 때문에 회사를 가릴 겨를도 없었다.

지금까지, 나는 어떤 과정을 거쳤는지 한 번 끄적여 본다.

은행 시스템 업그레이드(?) - 2021년 11월 ~ 2022년 4월

말이 업그레이드지, 사실 그냥 서버 이전이나 다를 바 없었다. 프로그램의 기본 구조는 변경하지 않았으니까.

기존 서버는 Windows Server 2008, Solaris였고, 그 서버 안에 있던 프로그램을 Windows Server 2019, Red Hat Linux로 이전하면 되는 구조였다. 데이터베이스는 Sybase에서 SQL Server로 이전했다.

기존 Windows Server에 있던 Java 프로그램은 Apache Kafka처럼 다른 서버로부터 어떤 데이터를 받고, 그것을 재처리한 후, 또 다른 서버로 전송하는 방식이었다. 허나 기존 프로그램은 여러 문제가 있었다.

오직 소켓 통신

한 Input 당 한 Output밖에 연결할 수 없었다. 이 때문에 새로운 Output 방식을 위해 기존 Output 방식을 버려야 했고, 기존 Output 방식에 의존하는 프로세스에 문제가 생겨 SQL 프로시저를 임시방편으로 추가한 적이 있었다.

(중요!)Java 1.7 버전이다. 다시 이야기한다. Java 1.7 버전이다!

나는 버전을 업그레이드하는 것을 원했지만, 나는 아직 신입이라 어떠한 권한도 없었고, 은행은 현상 유지만 원했을 뿐 그 외 어떠한 것도 바라지 않았다.

불러온 수에 비해 사용이 적은 라이브러리들

여러 라이브러리가 있었지만(심지어 스프링 프레임워크도 있었다.), 정작 사용한 라이브러리는 한 손에 꼽을 정도로 매우 적었다. 순수 Java 프로그램이라고 해도 무방할 정도였다. 나는 장황함 그 자체가 매우 싫었다!

바이너리 파일 중복

각자 다른 일을 하는 프로세스를 돌리기 위해 한 프로세스 당 한 jar 파일을 복제시키는 경우도 있었다. 명령어만 있으면 복제할 필요가 없는데...

이 외에도

비즈니스 로직을 하드 코딩하는 등 여러 문제가 있었지만 너무 많아서 기억이 나지 않는다.

키오스크 UI 프로젝트 - 2022년 4월 ~ 2022년 6월

은행과 관련된 업무를 마치고, 나는 다른 회사에서 키오스크 UI를 만들라는 지시를 받았다. 그 회사는 이미 저장한 데이터베이스가 있었고 그것을 안드로이드 어플리케이션으로 연결하면 되는 과정이었다.

이때 대표가 과외 교사처럼 붙여준 프리랜서 상사 한 명이 있었다. 그 자는 자신의 경험을 바탕으로 나한테 이것저것 업무에 대해 가르치고 여러 숙제까지도 내주셨다. 몇 가지 가르침(문서 작성 잘 해라 등)은 나쁘지 않았으나 결정적인 문제가 하나 있었다. 그는 옛 지식만 알고 있었다는 것이다!

안드로이드

키오스크 어플리케이션을 만들기 위해 안드로이드에 관한 PDF 파일을 주셨는데, 출판일이 2017년, 당시에 너~무 오래된 시기에 나온 책이었다. 게다가 나는 가급적 본사가 추천하는 방향을 좋아해서 상사가 준 파일을 버리고 구글 개발자 사이트에서 공부했다.

ORM 혐오 및 MyBatis 편애

속도가 느리다고 ORM을 극도로 싫어하셨다. 그런데 기껏 대안으로 소개한 프레임워크가... MyBatis였다. SQL 구문을 직접 넣으면 SQL Injection 문제 등 골치가 아플텐데? 그것보다 나는 너무 장황한 프로그래밍 자체가 싫었다.

(그 외에)쓸데없는 공포 조장

어느 날 상사가 나한테 개발 시장의 분위기를 설명한 적이 있었는데, 딱 한마디로

1달 동안 아무 결과도 없으면, 그 개발자는 끝이야.

게으름 피우지 말라고 주의를 준 거겠지만, 아직 초짜였던 나로서는 매우 큰 공포에 시달렸다. 지금도 어떻게 해야 할지 모르겠는데 이렇게 공포를 준다고?

결국

여러 사고 방식이 달라서, 나는 그 상사와 싸웠고, 대표는 나와 그 상사를 분리시키는 수밖에 없었다.

재능기부 플랫폼 구축 - 2022년 6월 ~ 2022년 11월

대표가 자신의 지인이 운영하고 있는 회사에서 일하라고 자리를 지정해주셨다. 거기서 또다른 사람과 협업해 재능기부 플랫폼 하나 만들라고 지시하셨다. 한 마디로 인프런같은 사이트를 만들라는 지시사항이었는데 여기에 출석 체크같은 현장 교육 기능도 포함할 예정이었다.

당시 여러 가지 프레임워크를 맘대로 사용할 수 있다는 조건 덕분에 한 동안은 매우 열심히 수행했다. 당시 나는 프론트엔드로 한창 유행했던 Remix를, 백엔드로 Spring Boot를, 로그인 기능을 위해 Spring Security를 사용할 예정이었다. 하지만 또 문제가 여럿 있었는데...

폭포수!

대표는 나더러 애자일 방식이 맞을 것 같다고 하셨지만, 정작 구축 과정은 데이터베이스 및 웹 사이트 UI 구조 설계부터 구축까지 하나의 흐름으로 쭈욱 진행되었다. 이것은 폭포수다! 애자일이 아니라!(대표가 이걸 아실지는 모르겠지만.) 이 때문에 구조를 바꾸기까지 많은 시간이 흘렀고, 심지어 어딜 고쳐야 할지 길을 잃은 적도 있었다.

콩가루만한 피드백

피드백이 정말로 콩에 가뭄 나오듯 나왔다! 나는 피드백을 원한다고 적극적으로 이야기했지만 협업 상대도 바빴는지 몇 개만 적고 그 다음부턴 이야기도 하지 않았다.

또다시 상황 변경

그러다가 2022년 11월, 대표는 나의 이런 형편을 아는지 모르는지 갑자기 해당 프로젝트를 중단하고 다음 프로젝트를 준비하라고 지시했다.

암호화폐 트레이딩 플랫폼 - 2022년 11월 ~ 2023년 1월

대표는 나에게 작은 설명서 하나 주면서 이거대로 한 번 만들어보라고 말씀하시고 이번엔 또다른 지인이 운영하는 또다른 회사로 자리를 마련해주셨다. 말 그대로 자신의 지갑에 들어있는 암호화폐를 가지고 거래소에 트레이딩을 하는 웹 서비스를 만들라는 것이었다.

나는 아주 적은 정보를 가지고 최대한 설계 및 구축을 시도하였다. 당시 서버리스가 유명해서 구조의 간소화를 위해 적극 사용해볼까 생각했지만...

지옥같은 환경

그놈의 폭포수같은 애자일 방식은 바뀌지도 않았다. 암호화폐 거래는 물론이고 로그인까지 장황하게 동작 방식을 적어야 했고, 나는 너무 열악한 상황에서 발표 중 대표의 질문 공세에 진땀을 빼곤 했다. 더구나 화장실은 너무 열악해서 차가운 물은 물론, 변기가 고장난 적도 있었다. 내 집에서 일하는 것보다 너무 끔찍했다!

(중요!)목석같은 업비트

당시 대표는 업비트 지갑을 연결하기를 간절히 원하셨지만, 이것은 그저 바람으로 그치고 말았다. 지금도 그렇지만, 업비트는 IP 화이트리스트가 없는 API 키를 만들지 못하게 막아두었으니까. 불특정 다수의 고객이 서버의 IP를 알지 못한 채 API 키를 등록할 방법이 없었다. 서버리스 또한 이 문제를 해결할 수 없었다!

장고!

대표는 자신이 다른 언어는 몰라도 파이썬만큼은 아니 파이썬으로 작성해달라고 말씀하셨고, 나 또한 그 지시에 따랐다. 하지만 파이썬으로 만들 수 있는 가장 유명한 웹 프레임워크은 장고였고 장고의 문서는 지금도 마찬가지로...
장고 사용 설명서 스크린샷너무나도 장황 그 자체였다. 차라리 장고 말고 FastAPI나 쓸까 생각하기도 했는데 그 전에 또다시 상황이 바뀌어버렸다.

(중요x)지나가는 이야기

그때 다른 직원과 같은 책상에서 일하고 있었는데 그중 한 사람이 유부남이었다. 그 사람은 아내가 자신에 대해 다른 사람과 너무 비교를 해 죽고 싶다고 이야기하곤 하셨다. 너무 불쌍하신 분이었다...

K-ETA 대행 사이트 구축 - 2023년 1월 ~ 2023년 4월

대표는 또다시 기존 프로젝트를 중단하고 다른 프로젝트를 준비하셨다. 이번엔 지인들과 같이 회사 하나를 만들고 K-ETA를 대신 발급해주는 사이트를 만들어, 우리나라로 들어오는 외국인을 상대로 외화를 버는 방식이었다.

사이트는 매우 빠른 구축을 위해 AWS Lightsail의 Wordpress 인스턴스를 사용했다. 실행은 빨랐지만, 상세한 서비스 구축에 문제가 있었다.

(중요!)정부가 손을 썼다

가장 크나큰 이슈였다. 법무부에서 선진국으로 간주되는 몇몇 나라(특히 미국, 일본)에 한시 면제를 걸었다.(지금도 면제가 걸려 있고, 내 생각엔 평생 면제가 해제될 일은 없을 것이다.) 선진국을 위주로 서비스를 제공하려 했던 우리로선 매우 뼈아픈 손실이었다.

워드프레스 그 자체

나는 워드프레스의 기반인 PHP에 일자무식이었던 것은 기본이고, 워드프레스는 블로그 기능 말고는 할 수 있는 게 아무 것도 없었다. 심지어 당시에는 웹 디자인 에디터도 없었던 상태였다!

그래서 필요한 플러그인(예를 들어, 사용자로부터 입력을 받고 편집하기 위해 Formidable Forms 플러그인이 필요했다.)은 최대한 사들였고, 이중엔 구독 비용도 있어 결제하는 날마다 부담이 컸다. 이사진은 어떻게든 구독 비용을 피하려고 안달이 난 상태였다.

SEO

우리의 최대 관건은 사이트에 첫 페이지로 나오는 것이었는데 나는 구글의 SEO 설명서를 보았다. 그리고 고개를 저었다.

유용하고 신뢰할 수 있는 사용자 중심 콘텐츠 제작하기

여러분은 이것이 기술로 해결될 수 있는 문제라고 보는가? 나한테는 기술로 해결될 수 없는 문제였다! 저 말대로라면 꾸준히 양질의 글을 올려야 된다는 뜻이었는데, 당시 내 머리로는 글을 쓸 수 있는 여력이 부족했고, 무엇보다 문제는 K-ETA를 대행하는 사이트가 우리 뿐이 아니었다는 것이다! 첫 페이지? 꿈도 꿀 수 없었다는 것이다.

다음 업무

그래도 여차저차해서 운영할 수 있는 사이트를 만들고, 대표는 나에게 또다른 업무를 주셨다.

지나가는 이야기

그 사이트는 계속 운영하다가 2025년 2월에 종료했다. 내가 봐도 선진국으로부터 K-ETA를 대행하는 서비스는 법무부의 면제 연장으로 인해 지속될 수 없는 운명이었다.

대부업 서비스 구축 - 2023년 4월 ~ 2023년 6월

대표는 어떤 대부업체로부터 사이트 구축이라는 일감을 받아오셨다. K-ETA 대행 사이트를 만든 지식을 바탕으로, 대부업에 대한 요청 및 응답을 주거나 받고 관리하는 사이트 하나를 만들라고 지시하셨다. 여기서 내가 맞딱드린 상황은 다음과 같았다.

한글 도메인?!

도메인은 상대 회사가 미리 정해주었다. 보통은 그러려니 하겠지만 나는 굉장히 난감했는데, 도메인이 "한글"로 이루어졌다는 것이다. 이것 때문에 퓨니코드라는 특수한 과정을 거쳐야 해서 짜증이 났다.

(한국 한정)골치아픈 인증서 적용

AWS Lightsail에서 만들었을 당시에는 무료 인증서 서비스인 Let's Encrypt로 만들 수 있어서 괜찮았다. 하지만 한국의 호스팅 사이트는 나를 절망에 빠트리기에 충분했다.(어딘지는 고소당할 것 같아서 말하지 못 하겠다. 근데 여러분이라면 느낌이 딱! 들 수도 있겠다.)

인증서 발급은 무료로 할 수 없었다! 게다가 발급과 적용이 따로따로라서 AWS보다 더욱더 긴 시간이 흘러야 했다!

기존 테마 고수

대표는 대행 사이트에서 사용했던 테마 플러그인을 사용하라 했었는데 난감 그 자체였다. 왜냐하면 그 플러그인은 여행용 사이트에만 어울리지 대부업 사이트를 만들기엔 형편없이 안 어울렸으니까!

그것 때문에 대표와 잠깐 싸웠다. 대표는 니까짓게 뭐가 되냐고 하시고... 그래도 결국 다른 플러그인을 사용하는 데 성공했다. 하지만...

(중요!)노 피드백!!!

재능 기부 플랫폼 때보다 더더욱 이렇다 할 피드백이 없었다. 아니, 아예 없었다고 봐도 된다. 피드백을 받기 위해 몇날, 며칠, 몇 달, 얼마나 기다렸는지 모르겠다.

지금까지도 소식이 없다. 못 만들었다고 했으면 인정했겠지만, 그런 이야기마저도 없었으니...

그 이후로 쭉...

결국 대표는 나를 포기해버렸다. 이제 내가 해줄 수 있는 건 아무 것도 없다고. 그렇겠지, 자기가 낸 아이디어가 다 실패했는데 어쩌겠어.

그래서 나는 지금까지도 은행에 구축한 시스템을 계속 유지보수하고 있다. 올지도 불확실한 미래를 기약하면서...

결론

나는 지금 갈피를 못 잡고 있다. 알고리즘 공부도 그놈의 구직 환경에 대한 불신 때문에 엄두도 못 내고 있다.

혹시나 해서 몇 가지 나올 질문에 대한 대답을 미리 준비해 보았다.

너 물경력이야. 다른 회사 알아봐.

하지만 어디로? 하는 일이 형편 없지만, 그나마 적당한 월급을 꼬박꼬박 주는 데는 여기밖에 없을 것이다. 지금 내 눈에는 대기업 말고 "여기보다 더" 믿음직한 회사가 눈에 보이지 않는다.

그러면 까짓거 IT 직업을 포기하시든가.

정말로, 난 내가 배웠던 지식을 바탕으로 일하고 싶다. 지금도 나는 코딩이 좋다. 오랜만에 내가 장난감 삼아 만들었던 프로그램을 보수함에도 매우 즐겁다는 것을 느끼고 있으니 말이다. 말 나온 김에 몇가지 리포지토리를 소개한다.

그래, 당신 말대로 포기하자고 치자. 그런데 어느 직종으로? 지금 질 좋은 일자리는 온데간데 없고 택배나 배달같은 위험한 직종밖에 없는데? 그 말은 나더러 그런 일이나 하고 죽으라는 말이나 다를 바 없다.

나는 택배 아르바이트를 몇 번 해본 적이 있었다. 그리고 느꼈다. 왜 사람들이 욕할 수밖에 없는지... 경험이 없는 것, 힘들지 않는 것 외에는 싫다!

원하는 게 뭐야?

내가 원하는 건 다음과 같다.

  • 양질의 일자리를 소개하는 곳
  • 내 경력으로 쉽게 갈 수 있는 곳

당연히 위 두 조건만 있으면 알고리즘 공부는 할 것이다. 하지만 지금 내 눈엔 아직 그런 회사가 보이지 않으니, 나는 계속 번아웃에 시달리면서 은행 시스템을 유지보수할 수밖에 없을 것이다. 욕심쟁이같다면 정말 미안하다.

여러분에게 질문하면서 이야기를 마치겠다.

내가 잘못한 건 도대체 무엇인가? 이 잘못을 만회할 수 있는까?

2개의 댓글

comment-user-thumbnail
2일 전
  1. 내가 도대체 무엇을 잘못했을까?
  • 회사와 상관없이 원하는 목표를 향해 공부했어야 했는데, https://roadmap.sh/ 를 참고하지 않았다.
  1. 이 잘못을 만회할 수 있을까?
답글 달기
comment-user-thumbnail
2일 전

와우 동지군요. 본문은 흔한 SI/SM 패턴인데 어떤 출처 보니까 이게 무슨 좋소냐고 ㅋㅋ...
여기서 넔두리 해도 저같은 개발자 아니면 공감 못받나 봅니다. okky 가야 할듯 ㅋㅋ...
그리고 SI/SM 해본적 없는 축복받은 개발자들에게 이 짤을 바칩니다.

답글 달기