0w0

참회록 ~약 2년 회사생활 돌아보기~

근황

최근 덧없는 헛웃음과 함께 마른 세수로 얼굴 닦는 일이 많습니다.

도대체 어쩌다 이렇게 되었을까요?

되돌아보며, 이력서 B-Side가 될 글을 작성하고자 합니다.

취업

개발자로 먹고 살고자 하고서, 이력서를 이 곳 저 곳 넣었지만 계속 떨어지기를 만으로 3년쯤 될 무렵이었습니다.

탄력근무 7-10 출근 가능
react native로 자사 애플리케이션 개발
급여 OOOO
.....
....
...

이런 공고를 올린 어떤 의료 기기 회사에 지원하고 면접을 보았습니다.

아마 3월 말... 4월 초 쯤 일 것 입니다.

대표께서 부재셔서, 연구소장과 1:1로 면접을 보았습니다.

그간 면접 본 곳은 보통 기술에 대한 질문이 많은 것에 비해, 이곳은 개인적인 성향에 대한 질문이 많았습니다.

개인적으로 면접 느낌은 좋았지만, 한 달이 넘도록 연락이 없었습니다.

저는 아 떨어졌구나, 방송국에 소프트웨어를 납품한다 하시던 곳에 입사하려고 했습니다.

합격

5월 초 쯤, 위 회사에서 연락이 왔습니다.

합격했으니, 언제부터 출근이 가능한가 묻길래, 5월 23일부터 가능하다 대답했습니다.

출근

저는 연구소 산하의 서비스팀에 배치되었습니다.

직책은 연구원이었습니다. 굉장히 어색했지만 괜히 멋있었기에 마음에 들었습니다.

팀은 연구소장, 수석 연구원, 애플리케이션 디자이너, 저 4명이었습니다.

수석 연구원은 곧 자기는 퇴사하기에 자신이 맡은 일을 인수인계 하겠다 했습니다.

  1. 컴퓨터 관련된 일은 당신이 담당하게 됩니다. (컴퓨터 구매, 수리, 입사자 메일 및 NAS 가입 등등)

  2. 현재 애플리케이션은 외부에서 개발중 입니다.

사실 이 때 싸함이 있었습니다.

자사 개발 애플리케이션이라는 말이 있었기 때문입니다.

연구소장도 세미나 준비를 하라 했습니다.

저는 주니어라고 하기에도 실력이 부족하다 느꼈기에 회사에서 공부할 수 있음에 기뻤습니다.

또한 디자이너 분께서도 우리끼리 따로 사이드프로젝트 하면서 공부하자는 말도 해줬기에 의욕이 넘쳤습니다.

첫 개발 업무

창업하신다는 수석 연구원이 퇴사하고서 새로 개발자 1명과, 수석 연구원 1명이 입사해 팀이 5명이 되었습니다.

이 무렵 회사에서 미용 기기 홈페이지를 리뉴얼한다 말이 돌았습니다.

우리 팀은 이 일이야말로, 우리가 해야 한다는 분위기였고, 다른 팀과 논쟁 끝에 일을 얻었습니다.

동시에 외부에서 만들던 애플리케이션의 1차 데모를 받았습니다.

개인적으로는 네이티브 언어로 만든 애플리케이션이라는 것에 먼저 실망했고, 애플리케이션이 너무 나도 느렸기에 또 실망했습니다.

왜냐면 모든 동작은 서버에 호출했었기 때문입니다.

홈페이지 리뉴얼

홈페이지 리뉴얼을 시작할 때, next.js로 만들기로 했습니다.

딱히 서버에서 연동할 것이 없었고, 새 제품 홍보만 하면 된다 했기 때문입니다.

어떤 디자인이 좋을까 논의 끝에 스크롤을 움직이면 좌 => 우로 진행되는 홈페이지로 의견이 모였습니다.

문제는 여기서부터였습니다.

다른 부서들이 개입하면서, 이 것, 저 것 추가하자는 의견이 계속되었고, 무엇보다 용어를 남발하면서 뭔가 사람 정신없게 만드는 이야기만 하는 회의가 지속되었습니다.

저는 갈피를 잡지 못하고, 레이아웃만 수 십 번 고쳐가며 홈페이지를 윤곽이 잡히기를 기다렸습니다.

끝내 아무 것도 정해지지 않은 채, 우리 팀만 독립적으로 새로운 사무실로 옮겼습니다.

그러면서 동시에 홈페이지 리뉴얼은 방향성이 변경되었습니다.

카페24에서 쇼핑몰 운용하자 방향으로 변경되었고, 저는 카페24 서류 작업을 하고 본 개발(개발이라기보다는 퍼블리싱?)은 외부 업체에서 했습니다.

연구1

이 시기 연구소에서 제게 과제 하나 주었습니다.

회사에서 개발하고 있는 블루투스 기기 심사를 위해 데모 애플리케이션을 만들어 달라는 것이었습니다.

한창 react와 react-native를 좋아하던 시기였기에 react-native와 react-native-ble-manager로 애플리케이션 한 달 가량 걸려 만들었습니다.

저희 회사 기기는 glucose 표준 규약에 맞는 것이 아닌 완전 커스텀 규약이었습니다.

심지어 외부 업체에서 만든 블루투스 기기였기에 통신 규약에 궁금증이 생기면 이 곳에 연락하는 것 때문에 고생했습니다.

패킷 하나 하나 외부 애플리케이션으로 들여다보면서 추리하면서 애플리케이션을 만들었어야 했습니다.

다만, 완성된 데모 애플리케이션이 실제로 심사에 사용되는 일은 없었습니다.

새 사무실

새 사무실에서 이전하고 얼마 지나지 않아 디자이너 분은 도저히 안 되겠다며, 퇴사했습니다.

저보다 3개월 정도 일찍 온 사람이었기에 이런 저런 회사 일을 겪었지만, 매일 같이 결론이 나지 않는 회의와 개발과 상관없는 온갖 심부름에 지쳤다 했습니다.

또한 업무도 자신이 하고자 했던 일이 도저히 아니고, 아무리 일해도 그 일을 할 수 없을 것 같다 했습니다.

저는 그 말에 동의했지만, 백수 생활도 길었고, 연구소장도 애플리케이션을 받으면, 곧바로 마이그레이션할 것이니 참아 달라 했기에 그를 따라 퇴사하지 않았습니다.

하지만 이 말이 우습게도 얼마 지나지 않아 생산 지원을 갔습니다.

타 부서 지원 part1

모 A 기업의 납기가 임박했는데, 인원이 부족해서 저희 팀 4명 중 3명이 한 달 가량 정도 생산 팀 지원을 갔습니다.

타 부서 지원 part2

회계가 마무리됨에 따라, 회사는 재고 감사? 라는 것을 해야 했습니다.

역시나 인원이 부족하다는 이유로 저희 팀 4명 중 2명이 한 달 가량 정도 구매 팀 지원을 갔습니다.

애플리케이션 인수인계

타 부서 지원이 마무리되고, 외주 업체에서 애플리케이션을 받았습니다.

그러나 CES에 출품해야한다는 대표의 말 때문에 마이그레이션은 할 수 없었습니다.

지금 있는 그대로 밀고 가야 했습니다.

할 수 없이 바로 swift 공부를 시작했습니다.

그러면서 외주 업체가 만든 애플리케이션을 말 그대로 이해 없이 더듬 더듬 수정했습니다.

동시에 외주 업체에서 패치할 때마다 모든 기능을 수기로 테스트 했습니다.

정확하지는 않지만, 7차~8차 테스트까지 했었던 것 같습니다.

팀 폭파

CES가 지나고, 출시가 임박했습니다.

그 사이 glucose 블루투스 표준 규약에 맞는 혈당계와 저희 회사의 커스텀 혈당계를 애플리케이션에 어떻게든 구현했습니다.

자잘한 버그와 디자인 수정도 했습니다.

우리가 지향하던 애플리케이션은 단순 혈당 관리가 아니라,

쇼핑몰까지 있던 플랫폼을 지향했던 애플리케이션이었기에 정책 문제를 가지고 연구소장과 수석 연구원이 하루가 멀다하고 회의 때 다투었습니다.

설상가상, 홈페이지 리뉴얼 때와 같이 온갖 부서의 요청과 대표님의 요청으로 인해서

또 다시 개발은 산으로 가는 느낌이었습니다.

더군다나 여전히 저는 애플리케이션 코드에 이해도 없이 수정, 수정만 하고 있었습니다.

솔직한 말로 기억을 되새기며 이 글을 쓰는 시점에는 어떤 것을 했다라는 것만 기억날 뿐,

어떻게 했다는 기억나지 않습니다.

화룡정점으로 결국 수석 연구원은 다툼 끝에 회사를 그만뒀고, 연구소장도 대표와 다툼 끝에 회사를 그만두었습니다.

팀에는 연구원만 남았습니다.

본래 사무실로 복귀

새로 얻은 사무실을 얻은 지 6개월도 되지 않아 본래 사무실로 복귀했습니다.

내가 회사에서 뭘 해야 하나, 어떻게 해야 하나 고민만 가득했습니다.

그러다가 업티티에서 만든 금융성향 테스트를 보았고, 피부 타입 테스트를 간단하게 만들어보면 좋겠다 생각이 들어

대표에게 기획서를 제출하고 바로 승인 받아 제작에 돌입했습니다.

next.js와 프리 소스 이미지, 바우만 박사의 16타입을 토대로 모바일 퍼스트로 접근했습니다.

저는 개인적으로 회사에서 처음 일 다운 일 했고, 기여할 수 있어 만족했습니다.

하지만... 분명 기획서에

주 컨셉은 재미와 흥미 유발

이라 먼저 언급했지만, 또 여러 부서의 의견과

대표님 의견이 들어감에 나중에는 머신러닝 이야기까지 나왔습니다

다행히 거기까지 가면 비용이 커지기에 제가 원하는 컨셉을 유지하며 마무리 지을 수 있었습니다.

타 부서 지원 part3

회사에서 수출을 해야하는데 생산 팀 인원이 부족하다는 이유로

또 다시 생산 팀 지원으로 2달 가량 채혈기를 만들었습니다...

두 번째 버전 애플리케이션 제작

새로운 일을 무엇을 해야 하나 고민하는 와중에 전에 엎어졌던 애플리케이션을 단순 혈당 기록용으로 단순하게 만들 수 없을까 생각했습니다.

왜냐면 회사에서는 계속 블루투스 채혈&혈당계를 연구하고 있었기 때문입니다.

이를 토대로 대표에게 제안을 했습니다만,

대표께서는 제가 아니라 본인 지인 회사에서 만들고 유지 관리를 우리가 하자는 의견을 냈습니다.

무척 더운 어떤 여름 날, 그 회사에 방문해 회의한 기억을 더듬어 보면...

  1. 블루투스 혈당 기기의 기록 저장

  2. 블루투스 체중 기기 기록 저장

  3. 수치에 따라 그것이 정상인가 어떤가 알려주기

  4. 그래프 같은 시각적인 자료로 제공하기

  5. 하이브리드 애플리케이션(react native는 업체에서 안된다 했기에 react로 개발하기로 함)

  6. 소셜로그인은 구글 우선만하기로(ios 버전이 나올 때는 따로 추가)

첫 번째 애플리케이션 정리하기

두 번째 버전 애플리케이션을 외주에서 개발하면서,

저는 첫 번째 애플리케이션을 정리할 필요가 있었습니다.

여전히 외부 데모 용으로 사용하고 있었기에, AWS 상에서 서비스를 살려두고 있었기 때문입니다.

두 번째 버전이 완성되기 전 까지는 이 애플리케이션이 동작해야 했기에,

사용되지 않은 온 프레미스 서버에 이를 마이그레이션 했습니다.

이 때도 원리도 모른체 그저 더듬더듬 mariadb와 apache를 옮겼습니다.

다행히 본래 기능대로 잘 동작했고, 한참 이를 데모 용 서버로 사용했습니다.

타 부서 지원 part4

역시 품질 검사 팀이 인원이 부족하다는 이유로 2달 가량 지원을 갔습니다.

연구2

이 무렵 쯤, 모 A의 비딩하기 위한 기기의 부속으로 애플리케이션이 있으면 좋겠다는 의견이 있었습니다.

ESP32를 이용한 슬립 테크 기기 였습니다.

연구소에서 이걸 하나 던져주시면서, 먼저 좀 연구하면서 만들어보라 했기에

저는 godot과 react-native 를 만져보면서 어떤 컨셉으로 만들까 고민했습니다.

먼저 godot이 떠오른 이유는 포켓몬 슬립과 같은 애플리케이션을 만들고 싶었기 때문이었습니다.

react-native가 떠오른 것은 LG나 삼성의 스마트 가전 리모콘을 만들기 적합하다 생각했습니다.

위에 언급한 온프레미스 서버에 postgresql, fastify를 도커 컴포즈로 묶어서 api 서버와 db를 구성했습니다.

처음 해보는 백엔드 구성이라 더듬더듬 손을 댔습니다만, 어느 정도 기대했던 데모 애플리케이션이 나왔습니다.

ESP32 자체 와이파이에 접속해서,

진짜 인터넷이 되는 와이파이에 접속 시키고, 접속되면 리모콘 처럼 조작 가능하도록 했습니다.

문제는 이 글을 쓰는 이 시점에도 이 제품이 완성되지 않았기에 이 데모 애플리케이션도 환상으로 끝났습니다.

다만 이 때 여러 컨셉을 생각하며 떠오른 아이디어는 추후에 개인 프로젝트로 쓸 수 있지 않을까 싶었습니다.

타 부서 지원 part5

인원이 부족하다는 이유로 품질 검사 팀 지원을 다시 1달 가량 갔습니다.

두 번째 버전 애플리케이션

애플리케이션을 작년 말에 받았습니다.

이전 보다 기능이 적어졌고, 하고자 하던 목적이 명확해서 복잡하지 않았습니다.

다만 이 애플리케이션을 CES에 가져 가야 한다는 대표의 말 덕분에 회사에 퇴근도 못하고 3박 4일 묵으며 저희 기기를 이 애플리케이션에 연동했습니다.

1차 마이그레이션

사실 말이 연동이지 마이그레이션에 가까웠습니다.

백엔드를 수정해야 하는데, 백엔드가 스프링이었습니다.

저는 스프링을 익혀야 하는 공수보다

기존에 미리 설정해본 도커 컴포즈 구성을 활용해서

온프레미스에 새롭게 도커를 동작시키는 것이 낫다 판단했습니다.

그래서 CES에 가져가서 동작할 수 있을 만큼만 구현했습니다.

  1. 프론트엔드에서는 로그인 대신 게스트 모드를 임시로 넣었습니다.

  2. 백엔드는 postgresql, fastify 구성해서 혈당을 기록할 수 있도록 했습니다.

2차 마이그레이션

CES가 마무리되고, 정상적인 기능을 구현하기 위한 마이그레이션에 들어갔습니다.

방법은 외주 업체에서 전달해준 apk를 실행해서 어떻게 동작하는지 보고 이를 토대로 fastify로 변경했습니다.

프론트엔드는 직접 호스팅하지 않고, cloudflare pages에 호스팅 했습니다.

그리고 이를 웹뷰로 감싸 사용했습니다.

이 마이그레이션을 통해 블루투스 패킷 읽기에 대해 공부할 수 있는 시간이 되었습니다.

애플리케이션은 심사에 별 탈 없이 무사히 출시는 했습니다만...

사실 변명하자면 50명정도 되는 회사에 디자이너는 없고, 소프트웨어 개발자가 유일해서 불안함에 있습니다.

문제가 있는 건 알겠는데, 어떤 문제가 있는지 모르겠고, 디자인이 나쁜데 어떻게 고쳐야 할 지 모르겠습니다...

덕분에 디자인에 관련된 책과 홈페이지도 많이 보고, release의 모든 것, 개발자에서 아키텍트로, 닐 포드의 아키텍처 3권, 알렉스 쉬의 시스템 설계 2권을 읽어봤지만 여전히 이해할 수 없었습니다...

분명 문제가 있는데... 그 문제를 모르겠다는 불안감과 두려움이 이런 것이구나 배웠습니다.

부서이동

2024년 2월...

갑자기 연구소에서 마케팅으로 부서가 이동되었습니다.

그 이유를 이 곳 저 곳에 물었지만 이유는 알 수 없었습니다.

이유는 모르겠지만 좌절감이 저를 감쌌습니다.

홈페이지 리뉴얼2

미용 기기 모델이 변경됨에 따라 홈페이지 리뉴얼 했습니다.

처음에는 외주 업체가 진행한다하길래 마음 편히 애플리케이션 마이그레이션을 진행했습니다.

그런데 불쑥 공개 예정 3일 전에 직접 구현해야한다 해서 외부 디자이너를 구해서 금토일 야근해서 홈페이지를 리뉴얼 했습니다.

기간이 길지 않아 기존의 틀을 많이 유지한 채, 광고 모델을 강조하도록 리뉴얼했습니다.

리뉴얼 이후에 한 달 동안 그간 볼 수 없었던 매출을 봐 모델의 힘이 굉장하구나 느꼈습니다.

매출 증가량만 따지면, 무려 작년 대비 2400% 입니다.

홈페이지 리뉴얼 보완

리뉴얼이 마무리되고 저는 개인적으로 보완을 했습니다.

먼저 피부 타입 테스트에 등록되어 있는 제품을 리뉴얼된 홈페이지 제품으로 변경했으며, 홈페이지의 버그를 수정했습니다. 아직 시험 단계입니다만, i18n을 어떻게 도입할 수 없을까 시도 중에 있습니다.

타 부서 지원 part6

글 쓰는 시점 현재...

인원이 부족하다는 이유로 생산 팀에 지원을 나왔습니다.

이번에는 아예 시작부터 2달 정도 해야 한다 못을 박더군요.

참회

제가 최근 계속 좌절하고 있는 이유이기도 합니다.

안 그대로 계속 나는 과연 개발자인가? 의심이 계속되던 시간이었는데,

제가 개발자로 채용이 된 것이 맞는 건지.. 뭔지..

그래서 이렇게 참회록을 적기로 했습니다.

전부 기억에 의존했기에 정확함은 모르겠지만, 얼추 맞을 것입니다.

약 2년 가량되는 일을 나열해보니, 역시 저는 이 곳에서 완성된 것이 거의 없었습니다.

대부분의 프로젝트는 엎어졌거나 무한 대기고, 출시한 프로젝트도 성공과는 거리가 멉니다.

홈페이지 리뉴얼과 매출액 증가는 저 개인의 능력이 아니라 순전히 광고 모델의 힘일 것입니다.

저는 이 시간 동안, 더 공부했어야 했습니다.

저는 이 시간 동안, 더 많은 프로그래밍을 했어야 했습니다.

그래서 더 많은 실패와 고민을 통해, 배우기 위한 학습이 아니라

필요와 의문을 해소하기 위한 학습을 했어야 했습니다.

제가 좋아하는 어떤 분은 하루에 꼭 2시간 이상은 코딩을 하신다 하십니다.

github에 들어가 팔로우한 개발자의 피드를 보고 있자면, 감탄만 나오는 코드와

도대체 무슨 마법인지 조차 이해할 수 없는 코드가 저를 더 부끄럽게 만듭니다.

제가 했던 코딩은 그저 이해도 없는 미봉책에 가까운 코딩이었던 것 같습니다.

그나마 꾸준히 했던 것은 점심시간을 이용해서 자바스크립트 정보 사이트 번역입니다.

그 외에 저는 어떤 공부도, 프로젝트도 꾸준히 하지 못했습니다.

또한 너무 편협했던 것 같습니다.

더 많은 프레임워크와 언어를 다루고, 기존에 알고 있다 생각하던 것을 정말 내가 알고 있나 의심했어야 했습니다.

저는 정말 HTML/CSS/javascript를 알고 있다 할 수 있을까요?

어떤 알고리즘을 알고 있다 말 할 수 있을까요?

지금 생각해보면 전혀 아닙니다.

그래서 글을 쓰면서 다시 한 번 마른 세수하며 좌절합니다.

다만, 지금 못한 것을 안 한다면, 영원히 못하지만

하고자 한다면 언젠가 할 수 있다는 것을 저는 압니다.

프로그래밍의 ㅍ도 모르던 사람이 그래도 화면에 hello world 정도는 띄울 수 있게 되었으며,

그래도 어디서 이런 것 저런 것 보고 들어봐서, 연구소의 다른 분야의 소프트웨어 개발자분의 이야기를 듣고서 이런 것을 말씀하시는 거죠? 질문할 수 있게 되었고,

품질이 어떤지 잘 몰라도, 회사에 어떤 데모용 애플리케이션이 필요하다면, 그래도 외부 업체보다 제게 먼저 말을 건내주시게 되었으며,

무엇보다 저는 프로그래머가 되자 마음 먹은 시점부터, 이 직업이 제 마지막 직업이 되어야 한다 다짐했고 그걸 아직 포기하지 않았으니까요.