비전공자 백엔드 취업 성공! 준비기간 1년 6개월! 과정부터 결과까지 싹 다 공개!

전반숙·2024년 7월 5일
165

내 이야기

목록 보기
1/1
post-thumbnail

개발자를 각잡고 준비하기 시작한지 어연 1년 6개월,, 드디어 백엔드 개발자로 취업에 성공했다!! 짝짝짝

그동안 글로 쓰고 싶은 소재는 많았지만 우선순위에 밀려서 거의 못썼는데, 첫 출근전까지 합법적으로 놀 수 있는 기간이 생겨서 내가 개발을 어떻게 시작하게 되었고 어떻게 취업까지 왔는지 그 과정과 결과를 기록하고자 한다.

최대한 짧게 요약하려고 했는데 쓰다 보니까 너무 길어졌다. 아무도 안읽을 것 같은데 흠 어카지

몰라~! 걍 써~

그래도 최대한 재미있게? 써보려고 노력했으니 읽어봐 주시면 감사드리겠습니다 :)
직접적인 취업 준비, 합격한 회사 관련된 이야기는 '취업준비' 부터 있습니다.


스타트업 생태계 입문..!

뭐야 나도 컴퓨터로 개발할 수 있네

개발을 처음 접하게 된 건 2019년 군 상병때였다.

뜬금없이 우리 부대에서 4차 산업혁명 기술 관련 창업 교육 프로그램이 개설되었고, 나는 운이 좋게 APP 개발 분과로 참여하게 되었다. (강원열린군대 1기)

매주 강원대학교로 나가서 4~8시간씩 APP Inventor 모바일 앱 개발과 창업 교육을 받았다.

솔직히 처음엔 별로 재미가 없었다. 변수명을 카멜식으로 짓냐 파스칼식으로 짓냐 이런것부터 시작해서 지역변수, 전역변수, 함수, 조건문 등등 물론 필요한 것들이었지만 흥미가 생기지는 않았다.

그러다가 얼마 안되서 강사님이 바뀌었는데, 이 강사님은 이론적인 내용보다 직접 바로 해볼 수 있는 기능들을 위주로 알려주셨다.

직접 버튼을 추가하고, 누르면 글씨가 나오고 화면이 바뀌는 등 그동안 쓰기만 했던 앱의 버튼을 만드는 것이 너무 신기했다.

내가 진짜 앱을 만들 수 있겠네? 하는 생각이 이때 처음 들었다.

App Inventor, 프로그래밍을 정말 재미있게 가르쳐 주셨던 '김학성 강사님' 정보
홈페이지 : https://haksung.kim/
유튜브 : https://www.youtube.com/khrireg


아이디어 번뜩

그러다가 문자 메시지 보내기 기능을 배웠을 때, 머리 위로 한가지 아이디어가 스쳤다.

바로 출타 보고!

일반 병사들은 휴가, 외출, 외박 같은 출타를 부대 밖으로 나가게 되면 간부들에게 특정 시간에 특정 양식으로 보고를 하게 되어있었다.

예를 들면 이런식이다.

충성 상병 전정표 20시 30분까지 택시타고 부대복귀 예정입니다. 충성

사실 뭐 크게 별건 없었지만 하루 평균 4~5개씩 출타 종류마다 다른 보고 양식들을 모두 숙지하고 일일히 문자나 전화로 보고해야했다.

특히 신병 입장에서는 혹시 까먹을까봐 마음 졸이면서 몇번이고 보고 양식을 확인하면서 불편한 휴가를 보내야했다. (이병 때 내 모습ㅋㅎ)

그래서 이 보고 양식들을 전부 APP 에 넣자! 이게 내 머릿속을 스친 아이디어의 전부였다.


그냥 개발 시작

이때 알고 있었던건 변수, 조건문 블록, 버튼 넣는 법 정도? 그렇지만 대단한 기능을 만드려는게 아니었기에 할 수 있겠다고 그냥 생각이 들었다. 무슨 자신감이었을까?

그렇게 2달동안 일과 후, 주말, 연등 시간 모두 싸지방에서 살다시피 하면서 앱을 만들었다.

-> 이렇게 한 문장으로 퉁치기에는 처음부터 너무나 많은 우여곡절이 있었지만 너무 길어지니 눈물을 머금고 생략,,

이렇게 한땀한땀 블록을 끼워 넣으면서 개발했다.

여기서 재미있는 에피소드 하나! 싸지방 컴퓨터는 USB 포트에 아무것도 꽂을 수가 없어서 핸드폰에서 테스트할 수 없는, 앱을 실행시켜 볼 수 없는 환경이었다.

그래서 강원대로 교육을 나가기 전까지는 싸지방에서 상상 코딩으로 개발하고, 교육을 나가는 날에 테스트하면서 에러를 잡는 식으로 개발했다.

지금 생각하면 살짝 미친놈 같은데, 그때는 상당한 몰입 상태여서 가능했었던 것 같다. 내가 생각해도 참 대단한 시기였다.


메인 화면보고 양식 목록 화면설정 화면


메인 화면보고 양식 목록 화면설정 화면

이렇게 각 출타마다의 보고 양식이 들어있어서 병사는 그냥 흐름대로 보고하면 되도록 했다. (완료된 보고는 비활성화 처리된다)

자주 입력하는 항목도 커스텀할 수 있어서 터치 몇번만으로 신속 정확한 보고를 할 수 있도록 만들었다.
(당시 캐치프레이즈: 출타 보고? 3초 만에!)

그 결과,,

이렇게 관리하는 간부 입장에서도 필요한 정보들로만 이루어진 깔끔한 보고를 받아볼 수 있게 되었다.

보고가 편해지니 보고율?도 덩달아 올라가서 간부님들이 아주 좋아하셨던 기억이 난다.

출타 보고 앱 30초 시연 발표 영상 - 군단장님 앞에서
https://www.youtube.com/watch?v=uUYKbmN4IGY

출타 보고 앱 다운로드 링크 (사용 코드는 파일 이름에)
https://drive.google.com/file/d/1A3ht7cP0PItTpPk2Z8Jks-TM8fRut_9D/view

그렇게 이 앱은 중대원 약 50명 가량이 내가 전역할때까지 약 6개월간 사용했고, 심지어는 전역 후에도 후임들의 요청이 있어서 중대장님이 나에게 따로 앱 설치 링크를 요청하셨었다.

(당시 구글 플레이 스토어에는 문자 보내기 기능이 스팸으로 악용될 우려가 있다는 이유로 앱 등록 승인을 받지 못했다.)


당연히 창업, 당연히 실패

출타 보고는 어느 부대나 있는 것이기 때문에 내가 잘 하기만 하면 모든 부대에 내 앱을 뿌릴 수 있겠다 생각했다.

그리고 이제 막 병 휴대폰 사용이 도입된 시점이라 비슷한 서비스가 시장에 없었고, 내가 제일 잘 만들 수 있을 것 같았다.

그렇게 전역 후에 창업해서 외주 개발사와 함께 앱을 만들기 시작했는데, 이때는 내가 개발을 하지 않고 총 기획을 맡았었다.

결과적으로는 1년간의 개발 기간, 0명의 사용자 라는 처참한 결과를 받게 되었다.

원인은 욕심과 경험 부족 그리고 오만함이었다.

처음부터 제대로된 앱을 만들어야겠다는 생각에 출타 보고/관리는 물론이고 출타 신청/승인, 공지사항 등등 출타 관련 행정 업무를 모두 처리할 수 있는 슈퍼앱을 기획해버렸다.

그리고 뭔가 대단한 일을 하는 대표가 된것 마냥 어깨가 이만큼 올라가서 고객과는 전혀 상관없는 일을 하면서도 유능감을 느끼면서 시간을 낭비했다.

기획은 4번 정도 엎어지면서 1년이 지났고, 군 네트워크는 모두 끊어졌으며 알던 후임들도 모두 전역해버렸다.

뭐 네트워크가 있었어도 어짜피 앱을 운영할 능력이 없었다.

그렇게 더 이상 의미가 없다고 생각해서 폐업 신고를 하게 되었다.

병사 - 보고 화면간부 - 출타자 관리 화면간부 - 출타자 보고 상세 내용

그래도 섭섭할 수 있으니 베타 테스트 당시 사진 첨부


이제 뭘하지? 다시 창업 팀으로

되게 덤덤하게 써놨지만 당시에는 너무나 괴로웠다.

프로그램 관련해서 나를 도와주는 사람들이나 주변 사람들의 기대를 저버린 것 같은 느낌, 더 잘할 수 있었는데 하는 마음, 괜히 능력밖의 일을 벌려 필요이상의 자원을 낭비한 것 같은 느낌이 들었고, 이를 넘어서 스스로를 자학하기도 했다.

그 시기에 우리 학교 창업관련 모임에서 알게된 형이 같이 일해보자고 제안을 줬었다.

아직 완전히 사업을 접은 상태는 아니어서 망설이고 있었는데 그 형이 일단 사무실에서 너 할 일해도 괜찮다고 꼬드기는 바람에 자연스럽게 팀에 기획/디자인 파트로 합류하게 되었다.

정말 초기의 팀이었지만, 팀원 하나하나가 열정 넘치는 사람들이었다.
이런 사람들이 여기에 모여있었군! 생각하면서 나도 이 팀에 녹아들어 그들과 같이 열심히 달렸다.

창고주와 화주를 연결해주는 플랫폼 형태의 서비스였는데, 초기에 창고를 등록하기 위해 인천에 직접 가서 창고주분들을 뵙고 이야기 드리면서 하나씩 하나씩 늘려나갔다.

결론적으로는 본격적인 스프린트 2~3달 뒤에 팀원 모두가 우리와 서비스의 한계를 인정하고, 깔끔하게 사업을 접었다.

가장 큰 이유는 우리가 기존의 창고-화주 네트워크를 뚫기가 어려웠다는 점, 그리고 우리가 그 네트워크를 넘어선 가치를 제공할 수 없다는 점이었다.

그래도 나에게는 이런 팀과 팀원들과 일해보고 싶다는 기준이 생겼고, 기획자 입장에서 개발자 팀원들과 소통하면서 개발 자체도 어깨너머 조금 더 배우게 되었다.

그 팀에 개발자 동생이 요즘 시대에는 조금만 배워도 대부분의 기능은 그냥 다 만들 수 있다, 형도 할 수 있다는 말을 해준적이 있었는데

이 말? 사실?이 다시 한 번 개발에 대한 장벽을 낮추는데에 많은 도움이 됐고, 직접적으로 내가 다음 프로젝트를 내 스스로 만들게 되는데에 큰 영향을 줬다.


사람일 모른다 공장 -> 개발자?

다시 붕뜨는 시기

그렇게 개인 창업, 팀 창업이 모두 끝났다.

이때는 진짜 뭘 해야할지 감이 안잡혔다.

창업도 내 길이 아닌 것 같다는 확신이 들었는데, 그렇다고 개발을 할 줄 아는 것도 아니었다. 기획만 하는 것도 재미가 없었다.

게다가 학교 수업도 비대면 수업이라 뭐 다니는 것 같지도 않아서 거의 백수 상태로 한 학기를 보냈다.

그러다가 내 상황을 잘 아는 지인이 공장 일자리를 소개해줬는데, 아무 생각 없이 돈 벌기 좋을 것 같아서 들어가게 되었다.


금형 개발 보조

밀링, 연마, 선반, 와이어 컷팅 등등 금형 개발에 필요한 보조 업무들, 주로 금속 가공을 했는데 그 중에 나는 주로 와이어 컷팅을 메인으로 맡았다.

실제로 철을 깎고 갈고 하는게 생각보다 재미있었다. 리얼 2차 산업의 현장에 있는 느낌이었다.

내가 다뤘던 와이어 컷팅 기계는 얇은 구리선에 전압을 줘서 금속을 1/100mm 단위로 정밀하게 깎는 기계다.

CAD 로 가공 형태를 그려서 기계에 넣고 돌리면 거의 자동으로 가공이 된다. 그래서 다른 작업보다 다소 오래 걸린다는 특징이 있다.

요렇게 생겼다. 저 옆에 달려있는 컴퓨터로 조작할 수 있는 형태다.

출처 : SPM 홈페이지
http://www.spmedm.com/default/business/business2.php

그렇게 잘 일하다가 한가지 문제를 발견했다.

이 기계의 특성상 오래 걸리는 작업을 퇴근 직전에 걸어두면 다음 날 아침까지 무인으로 가공할 수 있었는데, 중간에 가공 조건이 잘 안맞거나 하면 기계가 멈춰버린다.

근데 사람이 퇴근한 후에 멈추면 꼼짝없이 기계가 새벽내내 서있게 된다.

이때 팀뷰어 같은 원격 제어 프로그램으로 기계에 연결된 컴퓨터에 접속해서 다시 작동시킬 수 있었다.

하지만 문제는 언제 멈추었는지 알 수 없다는 것이었다.

그래서 퇴근후에는 CCTV 를 확인하거나 원격 제어 프로그램으로 기계 하나하나에 접속해서 동작 여부를 수시로 확인해야했다.

이렇게 확인하는 과정이 매우 귀찮다 보니 사실상 퇴근 후에 멈춘 기계를 다시 돌리는 작업이 잘 이루어지지 않았다.


다시 아이디어 번뜩

이때 또 단순한 아이디어가 떠올랐다.

퇴근 후 기계가 멈추었을 때 핸드폰으로 푸시 알림을 보내주면 해결되는 것 아닌가?

그러면 별 신경쓰고 있지 않아도 알림이 오는 시점에만 해당 기계에 접속하면 될 일이라고 생각했다.

마침 운이 좋게도 공장에 일이 없어서 청소만 하던 시기가 찾아왔고 개발을 시도해보기 딱 좋았다.

물론 이때 나는 App Inventor 만 다뤄봤지 자바나 파이썬 같은 실제 상용 프로그래밍 언어는 다뤄본 적이 없었다.

하지만 창업 생태계에 있으면서 어깨 넘어로 본 개발 지식, 그리고 '요즘엔 웬만한건 다 배워서 개발할 수 있다는 사실' 을 알고 있었기에 시작하기로 마음먹는데에 큰 어려움은 없었다.

그렇게 프로젝트를 시작하기로 하고 나서 내가 첫번째로 해내야할 일은 기계의 멈춤/동작 상태를 데이터화 하는 일이었다.


기계 상태를 데이터화 하라!

처음에는 아주아주 단순하게 접근했다.

기계가 멈추면 화면에 빨간불이 들어오는 영역이 있고, 기계가 작동할 때 초록불이 들어오는 영역이 있는데,

이 화면을 실시간으로 계속 스크린샷을 찍어서 해당 위치의 색깔을 확인하는 방법을 사용했다.

작동중일 때멈췄을 때
while True:
    while True:
        if start_reader() == True: # 최초 초록불 확인
            date=time.strftime("%Y-%m-%d")
            now=time.strftime("%H:%M:%S")
            firebase('on', '가공 시작')
            break

    while True:
        if grey_reader() == True: # 최초 회색불 감지
            date=time.strftime("%Y-%m-%d")
            now=time.strftime("%H:%M:%S")
            five_min_stop() # 5분 동안 20초 간격으로 회색불 확인
            if grey_reader() == True and uncut_reader() == True: # 줄 씹힘
                firebase('uncut', '와이어 선 씹힘')
                break
         	
            ...

소스코드
https://github.com/JP-company/smartwire-1.0-1.1/blob/main/smartwire-window_desktop_1.0/main_screentshot.py

뭐 이런식으로 코드를 짰다. (당연히 한번에 짠거 아님)

저 중간에 보이는 five_min_stop() 는 5분동안 빨간불인지 확인하는 메서드인데, 5분 정도는 빨간불이어야 진짜 멈춘것이기 때문에 넣은 코드다.

이때 for문을 공부해서 적용해보려 했는데 몇번을 봐도 이해가 안되서 그냥 이딴식으로 코드를 짰었다.

def five_min_stop(): # 5분 정지 감지 타이머
    time.sleep(20)
    if grey_reader() == True:
        time.sleep(20)
        if grey_reader() == True:
            time.sleep(20)
            if grey_reader() == True:
                time.sleep(20)
                if grey_reader() == True:
                    time.sleep(20)
                    if grey_reader() == True:
                        time.sleep(20)
                        if grey_reader() == True:
                            time.sleep(20)
                            if grey_reader() == True:
                                time.sleep(20)
                                if grey_reader() == True:
                                    time.sleep(20)
                                    if grey_reader() == True:
                                        time.sleep(20)
                                        if grey_reader() == True:
                                            time.sleep(20)
                                            if grey_reader() == True:
                                                time.sleep(20)
                                                if grey_reader() == True:
                                                    time.sleep(20)
                                                    if grey_reader() == True:
                                                        time.sleep(20)
                                                        if grey_reader() == True:
                                                            time.sleep(20)

실제 소스 코드다.

개발바닥의 호돌맨님도 대학 시절에 for문의 벽에 막혀 1년 정도를 개발에서 손 땠다는 썰을 들었을 때 격한 동질감, 안도감을 느꼈다.
(나도 호돌맨처럼 될 수 있겠구나!)

나도 이때 이후로 1년이 흘러서야 for문의 사용법과 원리를 이해하게 되었다ㅋㅋㅋ


1차 개발 완료!!

그렇게 Python 으로 짠 윈도우 CLI 프로그램이 기계 상태 데이터를 Firebase Firestore 서버에 보내고, Flutter 로 모바일 앱을 만들어 1차 개발을 완성했다.

  • 시연 영상

이때 푸시 알림 구현하느라 죽을뻔 했는데 공식문서를 차근차근 읽어보면서 구조를 이해하고 샘플 코드를 활용하기는 개뿔

검색해서 나오는 관련 소스를 다 복붙해가면서 제발 되기를 기도하는 PDD(Pray-Driven Development) 기도 주도개발 방식을 적극 활용했다. (이때는 GPT가 없었다)

이것도 뭐 어쨌든 잘 작동한다. 심지어 지금도..!

Firebase Function 을 활용하면 Firebase Firestore 의 데이터 변화를 감지해서 푸시 알림을 보낼 수 있다.

아무튼 이땐 개발 공부는 전혀 하지 않고, 오로지 돌아만 가게 하겠다는 생각만으로도 이만큼 만들 수 있었다.

2개 공장 / 총 7대 기계의 상태를 확인할 수 있었고, 한대 당 월 약 10만원 정도의 비용을 아꼈다. (추정치)

이렇게 고작 내 컴퓨터 한대로 세상에 없던 가치를 만들어 냈다는 생각에 출타보고 앱을 만들었던 싸지방 시절때와 같은 짜릿함을 다시 느꼈다.

자연스레 이 기술을 잘 다룰 줄 알게되면 할 수 있는 것들이 너무 많겠다는 생각과 더더 많은 사람들이 쓰는 서비스를 만들고 싶다는 생각이 들었고, 그렇게 프로그래밍을 제대로 공부해서 직업으로 삼아야겠다고 결심했다.


개발자 준비 시작!

자바의 정석 스터디

본격적으로 프로그래밍 공부를 하기 위해 관련 정보를 찾아봤다.

내가 만들고 있는 기계 상태 알림 서비스 자체가 뒷단에서 데이터를 다루는 작업이 많아서 자연스레 서버쪽 스택으로 찾아봤다.

혼자서 공부해야 했다보니 관련 학습 자료가 가장 많은 자바 스프링을 공부하기로 결정하고, 작년 23년 1월쯤에 자바의 정석 스터디에 들어갔다.

이렇게 제대로 프로그래밍을 공부하는건 처음이다보니 처음엔 기가 좀 죽어있었다.

스터디에는 자바 현업자도 있었고 나와 같은 취준생도 있었는데, 나는 변수 타입도 몰랐다 보니 아마 내가 제일 몰랐을거다.

스터디는 매주 한번씩 오프라인으로 만나서 책에서 공부한 내용을 자유롭게 발표하는 형식으로 진행됐다.

첫 모임 때 다른 사람들이 발표하는걸 보는데, 뭔가 굉장히 멋있었다. 컴파일이 어쩌구 클래스 파일이 어쩌구 ㄷㄷㄷ 뭔 말이야? 근데 멋있어. 진짜 프로그래머들을 본 기분이었다.

그래서 나도 멋있고 싶은 마음에 그 다음 모임에는 나도 발표해봐야지 라는 생각으로 열심히 공부하고 발표 자료를 만들었다.

내가 준비한 스터디 발표 자료 - 자바의 정석
https://www.notion.so/jjp-smartwire/Java-575f40326e364be984944a9838a8bca0?pvs=4

결론적으로는 그 다음 2번째 모임부터 마지막 모임까지 약 3달간 매주 한번도 빠짐없이 모두 발표를 했다.

자바의 정석 인터넷 강의도 유튜브에 무료로 제공되서 학습하는데 어려움도 적었지만, 발표를 준비하면서 어떻게 설명하지를 생각하며 정리하고 공부하니까 학습 효율이 굉장했던 것 같다.

자바의 정석 유튜브
https://www.youtube.com/watch?v=oJlCC1DutbA&list=PLW2UjW795-f6xWA2_MUhEVgPauhGl3xIp


스프링 마이그레이션

그렇게 자바를 공부하고 바로 김영한님의 스프링 강의를 들으면서 기계 상태 알림 서비스를 스프링으로 마이그레이션하는 작업을 진행했다.

김영한 스프링 강의 로드맵
https://www.inflearn.com/roadmaps/373

이것도 뭔가를 만들면서 하니까 빨리빨리 되는 느낌이었다.

이때도 운좋게 갑자기 UI/UX 디자이너인 친척누나가 연락을 줘서 디자인 걱정 없이 수월하게 개발할 수 있었고, 비개발자와의 협업 경험도 해보게 됐다.

역시 일은 전문가에게라는 것을 아주 많이 느꼈다. 디자인 감각이 제로인 나로써는 어떻게 그런 깔끔한 디자인을 딱딱 생각해내는지 아직도 이해가 안된다.

UI/UX 디자이너 조한솔 (친척누나)
https://www.linkedin.com/in/hansol-jo-1a0005218/

메인 화면알림 화면

그렇게 이런식으로 결과물이 나왔다. (웹도 있음)

기계 상태 알림 서비스 1.2
https://github.com/JP-company/smartwire-backend-1.2

뭐야 아주 탄탄대로네 뚝딱뚝딱 다 잘 만들었구만 뭐가 걱정이야?

한번 내부 코드를 봐보자,,, 사실 패키지 구조부터 근본이 없는데 스킵하고 코드부터 ㄱㄱ

@Service
@RequiredArgsConstructor
@Slf4j
@Transactional
public class LogService {
    private final LogReceiverJdbcTemplateRepository logReceiverRepository;

    public void saveLog(LogSaveDto logSaveDto) {
        Integer machineId = logSaveDto.getMachineId();
        // 받은 로그에서 기계 id를 가지고 최근 날짜 id 추출
        Date recentDateDto = logReceiverRepository.findRecentDateByMachineId(machineId).orElse(null);

        Integer machineDateId;
        LocalDate recentDate;

        if (recentDateDto != null) {  // 최근날짜가 있으면
            machineDateId = recentDateDto.getId();
            recentDate = recentDateDto.getDate();
            // 로그에 날짜가 있고, DB의 최신날짜와 다르면 새로운 날짜 생성
            if (logSaveDto.getDate() != null && !logSaveDto.getDate().isEqual(recentDate)) {
                Date date = new Date();
                date.setDate(logSaveDto.getDate());
                date.setMachineId(machineId);
                log.info("날짜={}", date);

                Date date1 = logReceiverRepository.saveDate(date);
                machineDateId = date1.getId();
                recentDate = date1.getDate();
                log.info("기계 날짜 id={}", machineDateId);
            }
        } else {  // 최근날짜가 없으면
            recentDate = LocalDate.now();
            Date date = new Date();
            date.setDate(recentDate);
            date.setMachineId(machineId);
            log.info("날짜={}", date);
            Date newDate = logReceiverRepository.saveDate(date); // DB Date 테이블에 업로드
            machineDateId = newDate.getId();
        }

        // 기계 날짜 id를 가지고 최근 작업 id 추출
        log.info("machineDateId={}", machineDateId);
        Process process = logReceiverRepository.findRecentProcessByMachineId(machineId).orElse(null);
        Integer processId = null;
        // 작업이 없지 않고, 최근 작업이 끝난게 아니면 최근 작업으로 설정
        if (process != null && process.getFinishedTime() == null) {
            processId = process.getId();
        }

        // 로그가 작업 시작이면, 새로운 작업 생성, reset 이면 작업 종료
        if (logSaveDto.getLog().equals("start_작업 시작")) {
            Process processDto = new Process();
            processDto.setFile(logSaveDto.getFile());
            processDto.setThickness(logSaveDto.getThickness());
            processDto.setStartedTime(logSaveDto.getLogTime());
            processDto.setMachineDateId(machineDateId);
            processDto.setMachineId(machineId);
            processId = logReceiverRepository.saveProcess(processDto).getId();
        } else if (processId != null && logSaveDto.getLog().split("_")[0].equals("reset")) {
            logReceiverRepository.doneProcess(processId,
                    LocalDateTime.of(recentDate, logSaveDto.getLogTime()),
                    logSaveDto.getActualProcessTime()
            );
        }

        Log log = new Log();
        log.setLog(logSaveDto.getLog());
        log.setLogTime(logSaveDto.getLogTime());
        log.setProcessId(processId);
        log.setMachineDateId(machineDateId);
        log.setMachineId(machineId);
        logReceiverRepository.saveLog(log);
    }
}

이름을 보면 알겠지만 기계의 상태(로그)를 저장하는 LogService 클래스다.

자세히 볼 필요가 없는게 어짜피 나도 한참 봐야 알 수 있을거다. 주석이 없었으면 뭐 읽을 수나 있었을까 모르겠다.

이렇게 돌아만 가는 코드를 짜는데에 익숙해져 있다보니 이런 참사가 발생했다.

이때 첫번째 슬럼프가 찾아왔다. 도대체 좋은 코드가 뭐야? 객체지향적인 코드가 뭐야? 읽기 좋은 코드가 뭐야? 이걸 도대체 어떻게 바꿀 수 있는거야? 뇌정지가 왔다.

남의 코드를 보면 자괴감이 올 것 같아서 보지도 못했다. 사실 보더라도 뭐가 좋은 코드인지 몰라서 별 의미가 없다고 생각했다.

뭔가가 변화가 필요한 시점이었다. 위기감을 느꼈다. 이대로 가면 하루하루 멈춰있을 것 같았다. 개발자가 될 수 없겠다고까지 생각했다.


개발바닥 2사로 - 고수와의 만남

사실 개발을 제대로 공부하기 시작하기 전부터 개발바닥 유튜브는 보고 있었고, 주로 비전공자가 어떻게 공부를 해야하는지에 관해서 정보를 많이 얻고 있었다. (향로님, 호돌맨님 감사합니다)

개발바닥 유튜브
https://www.youtube.com/@devbadak

그러다가 여기서 오픈채팅방을 하나 열어주셨는데 그게 개발바닥 2사로였고, 운좋게도 생기자마자 들어갈 수 있었다.

들어가서 1년동안은 거의 눈팅만 했었다. 어짜피 뭔소린지도 모르고, 알아듣는 소리라고는 어느 부트캠프가 좋을까요? 정도의 주제였다.

그렇게 첫번째 슬럼프가 온 시점. 크리스마스 이브날. 어떤 한 고수분이 모각코 오실분~? 을 올렸다.

내가 1년간 눈팅하면서 '이 사람은 고수구나!' 라고 생각하는 사람 중 한명이었다. (사실 대부분이 고수심)

그래서 엄청난 용기를 내어 1500명 있는 톡방에 거의 처음으로(처음 아님) 말을 꺼냈다.

구디 투썸에 도착하니, 나와 재형님 둘밖에 없었다. 당연히 서로 처음봤고, 서로 ??? 하는 상태였다 ㅋㅋㅋㅋㅋㅋㅋ 아마 얘는 왜왔지? 생각하시지 않았을까

그렇게 대충 나를 소개하고 다짜고짜 '아 저 그냥 아무것도 모르겠어요 제 코드 좀 봐주세요' 식으로 저 코드를 냅다 들이밀었다.

굉장히 창피했지만 생각보다 침착하게? 하나씩 알려주셨는데, 그렇게 그 자리에서 3시간동안 강의를 해주셨다.

핵심은 역할을 생각하고 의존의 방향을 지키자. 이거였는데, 지금은 이해가 가지만 그때는 사실 뭔 말인지도 거의 모르고 3시간동안 while(말씀 안끝남) { 고개 끄덕이기 } 를 시전했다. (재형님 죄송합니다.)

그래도 어느어느 포인트에서 이해가 되고 말이 통하는 부분이 있었고, 그냥 느낌적인 느낌으로 나는 아직 잘 모르겠지만 이 사람은 알고 있을 것 같은 느낌이 들어서 그 이후로 3달동안 매주 주말마다 찾아가서 이야기를 나누었다. (거의 반 부트캠프)

지금 생각해보면 재형님이 뭔가 대단한 기술을 알려주신게 아니라 본인이 생각하는 흐름, 근거, 왜 이렇게 짰는지에 대한 것들을 수도 없이 말씀해주셨는데, 어떤 주제 마다마다 계속 물어보고 듣다보니 점점 뭔가가 보이기 시작했다.

3달을 거쳐 얻었던 가장 큰 깨달음은 '어떻게 짜든 상관없다! 설명할 수 있다면!' 이었다.
물론 이 말이 모든 상황에 다 적용되는 건 아니지만, 당시에 뭔가 정답이 존재할 것이라고 생각해서 막혀있던 나에게 정말 필요한 깨달음이었다.

그렇게 기계 상태 알림 서비스를 통채로 갈아 엎고 똑같은 기능으로 2.0 버전을 처음부터 새로 만들었다.

(제 개발 실력 지분 40% 주주 재형님 감사합니다)

재형님 블로그
https://velog.io/@choicore/posts

재형님 깃허브
https://github.com/CHOICORE

기계 상태 알림 서비스 2.0
https://github.com/JP-company/smartwire-backend-2.0


취업준비

이력서/포폴 준비 - 인프런 멘토링, 개발바닥 2사로

이와 동시에 한번도 쓴적 없던 이력서를 써야하는 순간이 왔다.

이력서를 어케쓰지?

뭐 여지껏 이것저것 한 것 같지만, 개발자로서의 한방은 없다고 생각했다.

Docker, k8s, MSA, 헥사고날, 쿼리 튜닝, 동시성 문제 해결, 성능 개선 등등등 핫하다는 여느 신입 개발자의 이력서에 적혀있는 것들은 모두 나와는 거리가 너무 먼 것들이었다.

다른 말로 하면 내 프로젝트에서는 굳이? 하는 것들이었다. (사실 그냥 하기 싫었음)

그래도 이 서비스를 운영하면서 수준은 보장 못하지만 할 말은 많았기에 내가 위에 쓴 내용들을 요약해서 이력서, 포폴을 만들어 이력서 첨삭을 받기 시작했다.

이때 아무 연고도 없고, 아는 사람도 없는 나한테는 인프런 멘토링이 아주 단비같았다.

내 성격상 누구한테 그냥 부탁하는 걸 잘 못하는 성격이라 오픈채팅방에서도 무료로 해주시는 분들이 충분히 많지만 그러지 못했다.

그래서 오히려 그냥 돈 주고 첨삭을 받는게 편했다. 가격도 당시 국민취업지원제도로 50만원씩 매달 받고 있어서 회당 1~4만원 하는 멘토링 비용을 부담 없이 지출할 수 있었다.

오히려 부트캠프 가격과 비교해서 생각해서 그런지 몰라도 비용이 아주 싸다고 생각했다. 거의 노다지. (광고 아님)

멘토링 진행했던 총 6분의 인프런 멘토님들
Sylvia 멘토님 : https://inf.run/pxTd
sync 멘토님 : https://inf.run/NoFbP
고Pro 멘토님 : https://inf.run/FeRGf
james.star 멘토님 : https://inf.run/5csA4
나온파(김도영) 멘토님 : https://inf.run/ZP6M
손현태 멘토님 : https://inf.run/HD4pd

그렇게 멘토링을 받으면서 한 5번째 부터는 이력서/포폴 자체는 깔끔하다는 평을 듣게 되었다.

그리고 개발바닥 2사로 강훈님, 소나기님께서도 프로젝트/이력서 관련해서 직접 피드백을 주셨는데 오히려 밥이랑 커피를 얻어 먹으면서 피드백을 받았다ㅋㅋㅋㅋ

그 시점에 개발바닥 2사로 정모?에도 나갔었는데, 모두 현업자분들에 나혼자 취준생이었다.

역시 뭔소린지도 모르지만 일단 듣다가 궁금한게 생겨서 여쭤보면 다 친절하게 대답해주셨고, 이후에도 필요한거 있으면 최대한 본인들을 이용하라고까지 말씀해주셨다. 내가 잘 못했지만,,

이때도 1차 회, 커피, 2차, 3차 술집 모두 내주셨다. 사회인 짱. 허재님, 윤성님, 강훈님, 소나기님, 남우님, 진호님 모두 감사합니다 :)

나온파(김도영) 멘토님은 알고보니 2사로에 계셨었는데, (서로 몰랐음) 언제든지 오면 밥사주신다고 말씀해주셔서 저번주에 찾아뵙고 공짜 돈가스, 커피, 조언 삼종세트를 얻었다. 첫 월급 들어오면 그때 사라고,,, 도영님 잘 먹었습니다 감사합니다 :)

내 렐릿 이력서 (끝에 이력서/포폴 PDF 파일 있습니다)
https://www.rallit.com/hub/resumes/76345/전정표


첫 서류 합격, 기술 과제, 다시 슬럼프

초반엔 렐릿, 원티드를 주로 이용했고, 후반에는 원티드만 이용했다.

첫 서류 합격 받은 회사에서 기술 과제를 받았는데, 처음부터 기술 과제라니? 손이 바들바들 떨렸다.

회사 규모가 그리 크지는 않았지만 팀원들과 서비스가 너무 재밌어 보여서 정말 가고 싶은 회사였기에 열심히 과제를 했다.

근데 또잉? 과제 전형에 붙어버렸다. 이후의 기술 면접에서 탈락했지만,, ㅋㅋ

떨어진 원인을 생각해보자면 내가 사용하고 있는 기본적인 패턴들이나 코드에 대해서 왜 쓰는지 정확하게 생각해보지 않고 사용하는 모습을 보였던 것이 컸던 것 같다.

그런데 기대가 너무 컸던 탓일까? 탈락 이후로 2달 가량을 놀아버렸다.

개발이 재미가 없었고, 코드를 보기가 싫어졌다. 뭐가 이렇게 왔다갔다야?

그렇지만 속으로는 일시적인 현상이라고 믿고 있었다. 그냥 좀 내려놓고 좀 쉬다보면 괜찮아지겠지~ 하면서 원래하던 스터디 정도만 하면서 편하게 놀았다.

그런데 그 기간이 한달이되고 두달이 되어가면서 아니 언제 돌아오지? 하는 위기감이 슬슬 찾아오기 시작했다.

그러다 우연히 또발바닥 2사로에서 도한님이 사이드 프로젝트 팀원을 구하는 글이 올라왔고, 팀 프로젝트 경험이 없던 나한테는 너무나도 좋은 기회라고 생각해서 지체없이 지원했다.


개발자로써의 첫 협업, 팀 프로젝트

개발바닥에서 구하기도 했고, 팀플이기 때문에 내가 잘 안하거나 못하면 상대방에게 피해가 갈 수 있다는 강제적인 환경이 주어졌다.

프로젝트 자체도 재미있어서 적극적으로 의견도 내면서 처음엔 굉장히 열심히 참여했다.

다른 개발자와의 협업이 처음이어서 굉장히 낮선 부분이 많았는데, API 명세를 위한 스웨거나 데이터를 어떻게 내려주고 처리할지 또 내가 짠 코드 때문에 꼬이는 경우 등등 혼자할때는 굳이 고민하지 않았던 것들을 팀원들과 맞춰가야 했는데, 혼도 나면서 많이 배울 수 있었다.

무엇보다 서로가 중간에 이탈하지 않는다는 믿음이 있어서, 누가 의욕이 떨어져있어도 나머지 사람들이 으쌰으쌰하면서 서로를 기다려준게 가장 좋았던 것 같다.

(저 때문에 고생 많이하신 가은님, 도한님 감사합니다)

실시간 경매 팀짜기 서비스 소개 (마을주민 팀나눠)
https://blog.naver.com/PostView.naver?blogId=dododosa&Redirect=View&logNo=223487729987

도한님 - 백엔드, 팀장
https://github.com/nodohan

가은님 - 프론트, 팀원
https://www.linkedin.com/in/가은-이-a82a871aa/

그래도 이전만큼 의지가 돌아오지는 않았다. 그래서 피해를 최대한 안드리려고 어떻게든 개발했던 것 같다.

나빼고 다들 직장인이셨기 때문에 어느 정도 용인이 되는 선이 있었지만 그래도 뭔가 아니다 싶어서 도한님께 직접 연락드려 제가 지금 의지가 꺾여있어서 개발에 손이 잘 가지 않는다고 말씀 드리기도 했다.

그래서 다시 정신차리고 루틴을 만들자는 생각으로 하루, 일주일 단위의 계획을 세워 다시 불을 붙여보려고 했다.


환경 > 의지

하지만 그 계획은 번번히 실패했다.

월요일에 계획을 세우면 화요일까지는 열심히 하다가 수목금 안하고, 주말에 좀 깔짝이는 그런 생활을 계속 반복했다.

아무리 내가 카페를 가도, 타이머를 맞춰도, 앱 사용 블락을 걸어도 집중력은 돌아오지 않았다.

그 생활을 다시 한달,, 이건 뭔가 잘못되었다는 판단을 했다.

따뜻한 집에서 의식주 걱정 없이 100% 자유로운 환경에서는 내 의지가 들어가야 하는 일을 하는 것이 불가능하다고 생각했다.

이 시점 선택지는 3가지였다.

  1. 국비지원
  2. 부트캠프
  3. 회사

당장 들어갈 수 있는건 국비지원이었는데, 정말 고민을 많이 했다.

어짜피 환경만 필요한거니까 그냥 바로 들어갈까? 하다가 딱 한두달만 집중적으로 회사와 부트캠프에 지원해보고 안되면 그때 그냥 국비한다는 생각으로 그때부터 하루에 10개씩 지원하기 시작했다.

이 순간부터는 취업을 위한 일에 들이는 시간의 비중을 엄청 늘렸다.


취업 결과

결과적으로는 1달 간 약 300개 회사에 지원했고, 14곳에서 서류합격, 4곳에서 최종합격을 받았다. 서합률은 5% 정도?

부트캠프는 우테코, 소프티어는 1차에 떨어지고, LG DX SCHOOL 1기, 싸피 12기에서는 최종합격을 받았다.

내 지원 기준은 자사의 서비스를 하고 있는 회사, 자바 스프링, 5년차 공고까지였다. 거의 원티드에서만 지원했다.

서류 합격이 오면 그때 회사의 정보를 자세히 찾아보고 면접을 갈지 안갈지 결정했다.

처음에는 붙은 곳에는 모두 면접을 보러갔지만 보다보니 자연스레 나만의 기준이 생기게 되었고, 면접을 포기하는 회사도 생겼다.

그리고 신입인데 5년차 공고에 지원한다고? 할 수 있겠지만 어짜피 판단은 회사에서 하는거고 떨어지더라도 내가 원하는 곳 하나만 붙으면 되는거기 때문에 합격률 같은건 하나도 의미가 없다. 지원할 수 있는 만큼 하는게 지금 상황에서는 맞는 것 같다.

실제로 5년차 공고 2곳에서 서합을 받았는데 1곳은 내가 포기했고, 1곳은 최종합격까지 받았다.


면접은 나랑 너무 안맞아

모든 취준생이 그렇겠지만 나는 면접이 너무너무 싫었다.

보편적인 기술/컬처핏 예상 질문을 알고 있기는 했지만 그에 대한 답변과 생각도 사실 계속해서 바뀌고, 내 성향상 그런 답변들을 미리 하나하나 준비하는게 너무 스트레스였다. (그래서 잘 안했다)

그런데 막상 면접이 다가오면 준비 해야될 것 같긴하고 근데 또 잘안되고를 반복하니 면접날 아침에는 배가 아팠고, 저녁에는 머리가 아파서 그 날은 아무것도 할 수가 없었다.

그래서 나만의 전략을 가지게 되었는데, 면접 질문이 들어오면 그냥 그 자리에서 최대한 머리를 굴려서 답변하려고 했다.

기술 질문이던 컬처핏 질문이던 어짜피 예상한 질문이 들어오지도 않기 때문에 생각할 시간을 조금 요청드리고(이때 침묵...) 떠오른 생각들을 최대한 정리해서 말씀드리려고 했다.

그리고 기술 질문의 경우에 뭔가 알 것 같은데 아리까리하면 그냥 되물어가며 대화하듯이 풀어나갔다. 이때 스터디했던 경험이 참 도움이 되었는데, 마치 좀 빡센 스터디라고 생각하고 했던게 좋았던 것 같다.


어느 회사를 가야할까?

과제를 포기하고 기회를 얻다

서합이 된 회사들 중 괜찮아 보이는 회사가 총 3곳이 있었다.

A회사는 면접을 너무 못봐서 기대를 안했고, B회사는 기술 과제 통과 후 최종 면접을 보고 기다리는 상태였다.

C회사는 1차 면접 통과 후 기술 과제를 해야하는 상황이었는데, 그때 내가 거의 2주동안 매일 면접을 보고있었어서 도저히 코드를 쳐다볼 여유가 없었고, 컨디션이 엉망이었다.

그렇게 과제 제출 전날, 제출 시간 직전까지 괴로워했다. 거의 아무것도 못한 상태에서 시간을 더 달라고 할까? 그냥 포기할까?
계속 고민하다가 시간을 더 달라고 하는게 핑계 같아서 포기하겠다는 메일을 드렸다.

그렇게 다른 회사 면접을 보러 지하철을 타고 가고 있었는데, 모르는 번호로 전화가 왔다. 과제 포기 메일을 드렸던 C회사의 CTO님이셨다.

내가 잘못한 건 없었지만 죄를 지은 기분이었다. 그런데 그 분께서 혹시 왜 과제를 못했는지 무슨 일이 있었는지 여쭤봐 주셨고 시간을 더 주면 할 수 있는지 여쭤보셨다.

내 약점이 나의 힘든 상황을 주변에 잘 공유하지 못한다는 것이었는데, 여기서 그냥 기한만 늘려주는게 아니라 상황을 물어봐주면서 편하게 이야기할 수 있도록 도와주신 점이 크게 와닿았다.

나는 있는 그대로 말씀드리고 시간을 더 달라고 요청드렸고, 4일의 시간을 추가로 얻게 되었다.


첫 최종합격

그 전화를 받고 2시간 뒤, B회사에서 최종 합격 메일이 왔다. ???? 뭐야 이게 인생인가?

내 기준 규모도 크고, 안정적인 매우 만족하는 회사였다. C회사 과제 안해도되네? 개꿀!!

취업, 면접 스트레스가 너무 심했어서 그냥 세곳중에 빨리 붙은 곳을 갈 생각이었기 때문에 모든 걸 끝낼 수 있는 상황이었다.

그런데 그런데 C회사가 너무 궁금했다. 규모도 그리 크지 않지만 뭔가 느낌이 오는? 좋은 팀일 것 같다는? 그리고 채용 과정도

  1. 서류
  2. 커피챗 면접
  3. 기술 과제
  4. 기술 면접
  5. 임원 면접

이렇게 대기업 채용과정처럼 까다로웠다. 도대체 어떤 회사길래..? 궁금증을 유발했다.

기술 과제를 통과하더라도 2번의 면접이 남아있었기 때문에 합격 확률은 낮다고 생각했지만 그냥 한번 시원~하게 쏟아부어야 후회가 없을 것 같아서 좀 더 달려보기로 했다.


신입 지원자도 회사에 요구할 수 있습니다

그렇게 과제를 좀 하다보니 일단 기한내에 제출할 수 있겠다고 생각이 들었다.

문제는 최종 합격 받은 B회사에게 오퍼를 받고나서 최종 입사 결정을 해야하는 기한이 있었기 때문에, C회사에 붙더라도 깔끔하게 결정할 수 있도록 그 시기를 맞춰야했다.

그래서 C회사 CTO 님에게 전화를 걸었다. (나도 전화 받았으니)

'지금 다른 회사에 붙긴 했는데 저는 C회사에 대해서도 더 알고 싶습니다. 그러니 채용이 계속 진행된다면 최종 발표 기한을 땡겨주실 수 있을까요?'

CTO 님이 OK 하셨고, 이후 과제와 2번의 면접에 통과하여 최종 합격을 하게 되었다.


번외 - 협상 이론 BATNA

4학년 1학기때 '비즈니스 협상' 이라는 전공선택 과목을 들었었는데, 매주 교수님이 특정 시나리오와 역할을 주고 모의 협상을 진행하는 수업이었다.

이론적인 것들도 많이 배웠지만, 그 이론을 바탕으로 실제 협상을 하는게 정말 재밌었다.

중고차 구매 협상, 축구선수 계약 협상, 사업 관련 협상 등등 다양한 주제를 다루었는데 당연히 연봉 협상도 했었다.

협상에서 가장 중요한 요소는 협상 준비와 정보 그리고 BATNA 라고 하셨는데, (Best Alternative To a Negotiated Agreement)

BATNA는 한마디로 대체제가 있는지를 말한다. 즉, 협상이 결렬되었을 때 누가 더 아쉬울까? 그게 나일지 상대방일지를 파악하는 것이 협상에서 가장 중요하다는 것이다.

그리고 나는 실제로 이 상황에 놓이게 되었다.


두개의 선택지,, 내 선택은?

B회사는 스프링, C회사는 네스트, 규모는 B회사가 컸다. 처우는 비슷할 것이라 예상했다.

정말정말정말정말 행복한 고민이었지만 정말정말정말정말 선택하기 어려웠고 선택 직전까지 계속 생각이 바뀌어가며 괴로울 정도로 고민했다.

사실 C회사는 어떻게 보면 잘못 지원한 회사였다. 왜냐면 나는 어느 시점부터는 자바 스프링이 아닌 곳은 지원을 안했었는데 서합을 받고 보니 네스트여서 오잉?? 나를 왜뽑았을까 싶었었다.

그래서 컬처핏 면접에서 이와 관련하여 여쭤보니 기술 스택, 언어는 중요하지 않다. 도구에 불과하다. 라 생각하고, 문제 해결 능력을 더 중요하게 여긴다고 하셨다. 실제로 과제는 자바 스프링으로해서 냈었다.

나도 같은 생각을 가지고 있긴 했지만 현실적으로 현재 스타트업에서 이를 실천하는 회사는 그리 많지 않다고 느꼈는데, 초반에 지원했던 기술 스택이 다른 회사는 100% 떨어지면서 알게 되었었다. 이 회사가 처음이었다.

내가 낭만파여서 그런지 몰라도 이런 점들이 마음에 들었던 것 같다.

하지만 프로의 세계는 냉정한 법.

현실적인 조건, 처우, 오래다닐 수 있는지, BM은 괜찮은지, 대표는 어떤 사람인지, 팀원들은 어떤지, 서비스가 잘 만들어져 있는지 등등등 오만가지 질문들을 준비해서 최종 합격 후에도 두 회사 대표님과 CTO 님께 미팅을 따로 요청드려 한시간정도 궁금한 것들을 여쭤보았다.


프로그라운드 - 슈퍼워크

그렇게 지금의 회사, C회사, 프로그라운드로 결정했다.

협상 이론들을 잘 알고 있었고, 내가 유리한 위치에 있는 것도 알고 있었지만 별다른 잡기술은 쓰지 않았다.

이야기를 더 나누고 오퍼를 받은 후에 조정없이 바로 결정했다. 물론 돈이 정말 중요하지만 이미 만족스러웠고, 얼마 더 올리는 것보다 중요한 것들이 이미 충족되어서 피곤하게 왔다갔다 하는게 나에게도 별로 좋지 않다고 생각했다.

가장 큰 이유는 두 회사 모두 내 분에 넘쳤고 팀원분들도 너무 좋았지만 서비스가 현재 빠르게 성장하고 있고, 내가 좀 더 기여할 수 있는 부분이 크고, 채용과정에서 상대적으로 소통이 더 많이 되어 서로에 대해 더 잘 알게되었다고 생각이 든 회사인 프로그라운드로 결정했다.

프로그라운드는 블록체인기반 M2E 서비스 슈퍼워크 앱을 운영하고 있는 회사다.

슈퍼워크 홈페이지
https://superwalk.io/ko

안드로이드
https://play.google.com/store/apps/details?id=com.peak

IOS
https://apps.apple.com/kr/app/%EC%8A%88%ED%8D%BC%EC%9B%8C%ED%81%AC-superwalk/id1618557295

베이직 모드(무료)프로 모드(유료)프로 모드 운동중 화면

이렇게 무료버전 베이직 모드는 걸음 수마다 포인트를 얻을 수 있고, 유료 버전 프로 모드는 NFT 신발을 사면 이용할 수 있는데,

쉽게 말해서 무료버전보다 돈을 더 벌 수 있다. 그리고 보상을 직접적으로 현금화가 가능한 코인으로 지급한다.

해당 NFT 신발을 사려면 블록체인 지갑을 만들어서 빗썸 계정에서 코인을 구매하여 옮겨야 하는데 나도 이 생태계에 대해 거의 몰랐다보니 이 부분이 다소 복잡하게 느껴졌다.

그래서 처음엔 그냥 현금으로 신발을 살 수 있게 되어있긴 하지만, 이 진입장벽 부분은 앞으로 개선이 되지 않을까싶다.

아무튼 지금은 NFT 신발을 구매해서 프로모드를 이용하고 있는데, 이게 단순히 운동하면 코인도 주지만 얻은 코인으로 신발을 업그레이드해서 더 효율을 증가시킬 수 있다.

아직 많이 해보진 않았지만 진짜 무슨 RPG 게임하는 기분이었다. 몹 사냥이 여기선 운동인 느낌? 생각보다 즐길 컨텐츠도 많아서 놀랐다.

이 서비스에 내가 역할을 맡다니,,, 기대되기도 하고 걱정되기도 한다. 잘 할 수 있을지. 뭐 이제는 머리 박고 해야지 ㅋㅎㅋㅎ

혹시 관심이 조금 생긴다면 아래 지원 공고를 참고바란다!

프로그라운드 - 슈퍼워크 백엔드 개발 채용 공고
https://proground.notion.site/6bb5dace29b24d41838e9ddd94d94d75


끝으로

올해 2월에 졸업하고 나서 취준 생활을 6개월정도 밖에 안했지만, 취준 생활은 정말 지옥같았다.

세상이 너무 각박하다는 느낌? 열심히 하는 사람들은 너무나 많고, 문은 좁은 느낌이었다.

물론 내가 눈이 높아서 그럴수도 있겠지만, 좋은 회사 안가고 싶은 사람이 어디 있으랴.

내가 좋은 결과를 얻을 수 있었던 건 조급해하지 않고 어느 정도는 운에 맡겼기 때문인 것 같다.

채용이라는게 결국 그 회사에 있는 사람 마음이기 때문에 내가 통제할 수 없는 부분이 분명히 존재한다는 것을 인지하고 있어야한다. 그래야 내 마음이 덜 다칠 수 있다.

내가 글에 쓴 것 이외에도 직/간접적으로 도와주신 분들이 너무나 많지만 내 한계로 다 쓰지 못해서 죄송스럽다.

그래도 어찌되었든 취업 길의 끝을 맺게 되어서 기쁘다. 앞으로 나는 어떻게 될까? 모르겠지만 우선 1인분 하기위해 열심히 해야겠다!


취준생 여러분 화이팅입니다! 궁금하신 내용 있으면 언제든 댓글이나 메일, 링크드인으로 연락주세요.
크게 도움이 될지는 모르겠지만 저도 도움 받은 만큼 최대한 아는선에서 도움 드리겠습니다!

wjsdj2008@gmail.com
https://www.linkedin.com/in/jjp8789/

profile
과정 기록

43개의 댓글

comment-user-thumbnail
2024년 7월 6일

재밌게 읽었습니다. 기회가 올 때마다 잡으려고 노력하신 모습이 너무 멋있네요

1개의 답글
comment-user-thumbnail
2024년 7월 6일

아닛 반숙님 완전 몬스터이시네요.. 개발 이력이며 밀어붙이는 추진력하며 글들이 다 솔직해서 재미있게 읽었어요. 그래서 C회사 CTO 님에게 전화를 걸었다. (나도 전화 받았으니) -> 여기서 엄청 웃었네요 ㅋㅋㅋ 광기의 if문 하며...

제가 왜 이렇게 서류가 떨어지나 했더니 반숙님 이력서 보니까 알겠어요.. 😇 와중에 원티드 '불합격 255' 이거는 제 것도 아닌데 괜히 철렁하더라고요. 저는 지금 17개 쌓여서 엄청 스트레스였는데 이제 귀여워보이네요 ㅎㅎ...

글 잘 읽었어요 정리해주셔서 감사해요 ㅎㅎ 와중에 저랑 옆동네 다니셨더라고요!! 저는 지하철 타고 역 하나 지나면 있는 중앙대예요!!

1개의 답글
comment-user-thumbnail
2024년 7월 6일

현역 장병입니다.
잘 보고갑니다.

1개의 답글
comment-user-thumbnail
2024년 7월 6일

멋있으세요!! 실행력을 본받고 싶습니다

1개의 답글
comment-user-thumbnail
2024년 7월 6일

캬.. 진짜 잘읽고 가요.... 정말로 실행력이 뛰어나십니다! 저도 취준생인데 한번 용기를 얻고자 한번 얘기나눠 보고 싶은데 가능할까요?

1개의 답글

작년 크리스마스 이브 때 코딩이나 하자는걸 박제하시다니.. ㅠㅠ 아무튼 고생 많았고 축하해요!

1개의 답글
comment-user-thumbnail
2024년 7월 7일

재밌게 잘 읽었습니다. 앞으로도 응원해요!

1개의 답글
comment-user-thumbnail
2024년 7월 7일

안녕하세요 글 잘 읽었습니다. 저도 취준생 입장에서 회사가 요구하는 신입개발자의 역량과 제 괴리가 매우 크다고 느껴지는데, 글을 읽다가 제가 느끼기엔 갑자기 협업하시다가 취업이 가능한 상태로 점프(?) 한 것 같은 느낌이 드는데 이 과정을 어떻게 성장하셨는지 궁금합니다!

1개의 답글
comment-user-thumbnail
2024년 7월 7일

생략된 글들 사이에 얼마나 많은 고민과 이야기들이 있었을까요?
짧지 않은 글이었지만 몰입해서 읽고 역시나 노력하는 자에게 기회가 온다고
저도 또한번 마음을 다잡게 되네요.
그럼 조만간 연락드리겠습니다. (도움 주신다고 하였으니 ㅋㄷ)

1개의 답글
comment-user-thumbnail
2024년 7월 8일

쭉 읽으면서 '이런 분들이 개발자 하는 거구나..' 라는 생각도 들면서 '난 이렇게 까지는 못할 것 같은데.. 개발자의 자질이 없나..' 라는 생각까지 드네요 ㅋ ㅋ큐ㅠㅠ 정말 멋있으세요!! 👏👏👏 글도 너무 잘 쓰셔서 흡입력있게 읽고 갑니다 :)

1개의 답글
comment-user-thumbnail
2024년 7월 9일

글 정말 재밌게 읽었습니다! 많은 생각이 들게 하는 내용이 담겨있었습니다.
역시 주체적으로 움직이는 사람한테 기회는 오는군요!
앞으로도 좋은 일들만 있으시길 바랍니다 ㅎㅎ

1개의 답글
comment-user-thumbnail
2024년 7월 11일

말을 너무 재밌게하세요, 긴 글인데 시간가는지 모르고 술술 읽었습니다 ㅋㅋ
저도 탈락이후로 기운이 없어서 묘하게 시간만 축내고있었는데 모두가 겪는건가보네요.
위로도 얻고 자극도 받고 갑니닷 ㅎㅎ!!
쭉 건승하시길 바랍니다~!!

1개의 답글
comment-user-thumbnail
2024년 7월 11일

글 잘 읽고 갑니다 :)

1개의 답글
comment-user-thumbnail
2024년 7월 12일

글을 재밌게 잘쓰셔서 시간가는줄 모르고 집중해서 읽었습니다. 실행력이 대단하시네요! 회사생활도 화이팅 입니다^^

1개의 답글
comment-user-thumbnail
2024년 7월 13일

벨로그 팔로우 해 주셔서 감사합니다!!! 영광이에요!!
어제 저녁에 이 글을 발견했는데요. 읽으면서 '우와 대박!!'을 몇 번이나 외쳤는지 모르겠어요 ㅎㅎ 남편한테도 읽어 보라고 링크 보내줬는데 이미 읽었다고 하더라고요 ^^
필요를 바탕으로 아이디어를 떠올리고, 그걸 실체화하는 과정이 정말 멋집니다. 그리고 저도 이직을 준비하는 입장에서, 취준 과정과 그 속에서 느낀 감정들에 공감하며 읽었습니다.
앞으로 더 대박나실 거예요 ㅎㅎ 기대가 됩니다!! 벨로그 보며 계속 응원하겠습니다 ^^

1개의 답글
comment-user-thumbnail
2024년 7월 14일

군대에 있을때 나에겐 창대하지만 누군가에게는 관심없는 일이 있습니다. 그래도 꾸준히 개발에 결과를 만들어내는 것이 중요한 것 같습니다. 실패를 하더라고 거름이 되거든요

1개의 답글
comment-user-thumbnail
2024년 7월 15일

좋은 글 감사합니다

1개의 답글
comment-user-thumbnail
2024년 7월 15일

열정에 큰 동기부여 받고 갑니다. 감사합니다

1개의 답글
comment-user-thumbnail
2024년 7월 16일

기 받아 갑니다

1개의 답글
comment-user-thumbnail
2024년 7월 18일

축하드려요! 저도 최종합격 했던 곳에 개인적인 이유로 입사를 포기한 뒤로 다른 곳에 지원하면서 벌써 3~4달의 시간이 흐르고 스스로 자존감을 깎아내리고 사람도 잘 안 만나게 되고 하면서 나만 뒤쳐진 것 같은 기분도 들고 그랬는데 역시 취준때는 다들 겪어보는 어쩔 수 없는 현상(?)이라고 긍정적으로 생각하고 다시 힘내봐야겠어요!! 덕분에 동기부여 받고 갑니다! 다시 한 번 축하드려요!!

1개의 답글
comment-user-thumbnail
2024년 9월 13일

글을 엄청 맛깔나게 쓰셨습니다~ 반숙님의 광기와 열정에 감탄하고 취업의 고통에 공감하고 갑니다ㅎㅎ
취업 축하드립니다:)

1개의 답글