Codong's Development Diary RSS 태그 관리 글쓰기 방명록
개발자1년차 (1)
2022-01-10 15:51:19

📢 개요


⚠️ 주의사항

지극히 1000% 주관적인 생각이고 멋모르는 사회초년생의 귀여운 생각이니 불편한 부분이 있으셔도 감안하고 읽어주시면 감사하겠습니다 😅

들어가는 글

작년 2월부터 취업을 해서 개발자로서 일을 시작한 지 약 1년째 그동안 나름대로 느낀 점을 적어보고 나를 되돌아보는 시간을 가지려고 한다. 추가로 내가 느낀 것 중에서 혹시나 개발자를 꿈꾸시는 분이나 취업하신 지 얼마 되지 않은 분들께 조금이나마 도움이 될까 싶어서 포스팅을 시작하였다.

나의 상황

본론에 들어가기에 앞서 나는 어떤 환경에서 근무를 했고, 어떤 일을 했는지를 기록하는 것이 먼저라고 생각이 들었다.

나는 지방에 있는 4년제 대학교 정보통신공학과를 다녔다. 4학년 2학기 때에 광주 인공지능 사관학교(이후 광인사)라는 머신러닝/딥러닝/웹개발 + 이것저것 패키지로 짜인 국비지원 교육을 수료했다. 그 이후 졸업(2월 졸업) 하자마자 서울에 이력서를 써봤다. 운이 좋게도 광인사에서 했던 프로젝트가 자연어처리 위주로 했었어서 이사님께서 좋게 봐주셔서 개발자가 5명 안팎의 스타트업에 자칭 데이터 엔지니어(사실 잡부임)로 취업했다.

회사의 인프라는 aws 기반으로 돌아가고 있었고, 이후 약 7개월가량은 자연어처리 관련 데이터 전처리나 크롤링, Flask로 간단한 API를 만드는 일을 위주로 했다. 그러다 서비스 개발을 하시던 분들이 대거 퇴사를 하면서 내가 python FastAPI로 웹 서비스 backend 개발을 맡게 되었다.

간략하게 이 정도로만 나의 상황을 정리하고 넘어가도록 하겠다. 자세한 것들은 이후 내용에서 중간중간 녹여낼 것이다.

...

📝 느낀점들


방향을 바꾸다.

나는 사실 대학교 3학년 때까지 개발에 관심이 1도 없다가, 4학년 때 머신러닝/딥러닝에 흥미를 가지고 python으로 개발을 시작했다. 그러다 광인사를 다니면서 더욱 흥미를 가지고 프로젝트를 진행하며 재미를 봤다. 하지만 항상 사람이 재밌는 것만 할 순 없지...

이미지 출처 : MBC 마리텔 캡쳐

사실 이 분야가 연구 분야라 활용하여 만드는 것을 좋아하는 나와 맞지 않기도 하고, 취준 기간 공고들을 보면서 데이터 분석 관련 직무는 석사가 default인 세상이 되어가는 것을 보고 나의 길이 아니라고 생각이 들었다. (하지만 머신러닝/딥러닝 모델을 이용한 사이드 프로젝트와 같이 취미(?)로는 하면서 놓고 싶진 않다.)

그러다 회사에서 python으로 Backend 개발을 할 기회가 생기면서 옳다구나 하고 도전을 했는데 너무 재밌어서 Backend 쪽으로 커리어를 성장시켜나가기로 결정했다.

나대지 말자(아는 척하지 말자).

개발자로 일을 하면서 다른 사람들과 협업을 하게 된다. 취준 할 때의 뿜뿜하는 자신감으로 입사한 나는 내가 아는 것이 전부인양 말을 했던 적이 있다. 그러다 피본적이 한두 번이 아니다.

가만히 있으면 반이라도 간다는 말이 있다. 확실하게 아는 것이 아니면 차라리 말을 하지 않는 것이 나을 수도 있다. 사실 나는 이것보다 더 좋은 것은 확실한 논리나 근거를 바탕으로 말을 하는 것이 중요하단 말을 하고 싶다.

나를 너무 믿지 말자.

어떤 작업을 할 때 '이렇게 하면 더 편할 거 같은데..' 또는 '그냥 이렇게만 하면 끝나는 거 아닌가?'와 같은 생각으로 side effect를 고려하지 않고 단편적으로만 생각하여 작업을 진행하면 대부분 내가 고려하지 못한 측면의 문제가 발생한다. 진짜 여기서 경력의 차이가 느껴졌다. 나는 기껏해야 한 수 앞까지 밖에 생각 못하는데, 경력이 있으신 분들은 몇 수 앞을 내다보셨다. 아는 만큼 보인다는 말이 있다. 가뜩에나 드러날 밑천도 없는데 항상 겸손하자.

그렇기에 자연스럽게 따라오는 중요한 것이 있다...

이미지 출처 : http://www.quickmeme.com/meme/3p69y3

바로 TEST 코드의 중요성이었다. 짤처럼 나는 코드를 짜고 '어~ 잘되네 푸시해야지~' 하고 문제가 일어났을 때나 코드를 본 적이 많았다. 이건 진짜 에러 금방 난다. 나를 너무 믿지 말자. TEST case를 작성해두면 오히려 장기적으로 봤을 때 좋다고 생각한다. 매번 작업한 것을 일일이 검사하는 것도 일이기 때문이다.

끊임없이 배우자

국비교육을 마치고 했던 프로젝트들을 통해 얻은 경험과 지식으로만 개발이 별거 없다는 생각을 가진 적이 있었다. 하지만 입사한 지 얼마 지나지 않아 깨달았다. 실제 사람들에게 제공되는 서비스를 만들 때는 신경 써야 할 부분이 정말 많다는 것과, 내가 모르는 것들이 어마무시하게 많다는 것을.. 마치 이 짤처럼..

1걸음 다가가면 2걸음? 어림없지 5걸음 이상 멀어지는 것이 개발 공부인 것 같다. 그래도 내가 모르는 것이 많지만 그만큼 배울 것이 많고, 알아가는 재미를 얻을 기회가 많다는 것이다(내 멘탈과 열정, 시간이 허락한다면..). 괜히 개발자는 평생 공부해야 한다는 말이 있는 것이 아닌 것 같다. 또 특정 개념을 얕게 알기만 하기보다는 왜 이런 것이 나오게 되었고, 사용하는 상황 등 좀 더 깊이 알도록 노력해보자.

이에 그치지 않고 꼭 기록을 남기자. 기록의 방법이 많지만 내가 블로그를 쓰는 이유는 내가 반드시 이해를 해야 설명을 적을 수 있기 때문이다. 난 멍청해서인지 이렇게 블로그를 쓰지 않으면 생각이라는 것을 잘 안 하게 되고 기억도 안나더라. 내 머리를 너무 믿으면 아무것도 남지 않는다.

스타트업의 장단점

나는 규모가 작은 스타트업을 다니면서 좋은 점도 있지만, 안 좋은 점도 명확하다는 것을 알게 되었다. 물론 회사마다 많이 다르겠지만, 내가 다닌 회사 기준으로 주니어의 입장인 내가 느낀 장점과 단점에 대해 적어보겠다.

장점

  1. 내가 직접 하나부터 열까지 개발하여 서비스에 적용시켜볼 수 있다.
  2. 개발하고 반영하는데 까다로운 절차가 없다.

단점

  1. 모두가 바쁘기 때문에 피드백받기가 어려워서 내가 개발을 잘하고 있는지 알 수가 없다.
  2. 업무 프로세스가 구체적으로 잡히지 않았기 때문에 비효율적인 경우가 생긴다.

모든 스타트업이 다 이렇다는 것이 아니다. 분명 작은 규모여도 체계적으로 할 수도 있고, 조직원들이 잘 성장하는 경우도 있을 것이다. 나는 어떠한 것이 좋은지 아닌지를 판단하기 위해서라면 좋은 것을 본 적이 있어야 판단이 가능하다고 생각이 든다. 즉 주니어 시절에 어떤 환경에서 시작하냐에 따라 그 둘의 성장 차이는 꽤 심할 수 있다고 생각이 든다. 그렇기에 이미 잘 갖추어진 서비스가 있는 큰 기업에서 주니어 시절을 보내는 것이 좋다고 생각한다.

그렇다고 스타트업에서 얻어갈 것이 없는 것은 아니다. 이것저것 시도해보면서 실패를 겪고 직접 코드를 짜면서 체득하는 것들이 많다. 또 front/back 상관없이 모두 다 해보고 배포 자동화 등 다양하게 해 볼 수도 있다. 결국엔 성장은 본인이 하기 나름인 것 같다.

소통의 중요성

나는 서울에 올라와서 아는 사람이 많지 않다. 하지만 커뮤니티나 다른 사람들의 블로그의 글처럼 다른 개발자들은 회사에서 어떤 일을 하고 있는지 이런 것들을 알 수 있다. 이런 정보들을 통해 내가 개발자로서 어떤 위치인지, 지금 회사에서 안주하여 도태되고 있진 않는지를 점검하게 되는 것 같다. 다시 말해 안주하고 나태해지는 것을 방지할 수 있다. 또한 주변 자극을 통해 우물 밖을 나오게 하는 원동력이 되는 것 같다. 그리고 회사에서 만나게 되는 사람들도 좋은 관계를 가지고 소통한다면 서로 많은 도움을 얻거나 줄 수 있다고 생각한다.

최근 향로님의 CTO 회고 글에서 동시대를 살아가는 개발자들의 흐름을 놓치지 말아야 한다는 말은 본 적이 있다. 정말 감명 깊게 봤기 때문에 공유하고 싶다. 열심히 연습하는 자신을 놔두고 동시대가 휙 지나가버렸다는 걸 깨달을 때의 허망함이란 말로 표현할 수 없을 것이다. 나는 과연 동시대를 살고 있을까 라는 생각이 들었다. 그렇기에 이런 동시대를 살아가기 위해선 다른 개발자들과의 소통이 중요하다는 것을 강조하고 싶다.

...

👋 마무리


이미지 출처 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=hyeeun0415&logNo=221431940439

마지막으로 하고 싶은 말은 회사에 불만을 가지기 이전에 불편함을 개선하기 위해 어떤 노력을 했는가? 라는 생각을 해보자. 나는 이런 점이 아쉽고 후회됐던 것 같다. 시킨 것만 하기 바빴고, 뭔가 이상해도 그냥 따라 했다. 그러다 나중에 그런 부분이 문제가 생겨서 다시 고생하고 반복이었다. 이러한 것들을 개선하려고 노력하지 않았다. 그렇기 때문에 내가 크게 이룬 성과가 없다는 생각이 들었다.

그 결과 "그 회사에서 어떤 것을 하셨나요?" 라는 간단해 보이는 질문에 답을 하기엔 나는 했다고 하기도 부끄러운 지식을 가지고 있지는 않는가? 생각해보자. 시켜서 했다? 그냥 구글링 해보니까 이렇게 구현되어있어서? 이렇게 답하는 것은 남 탓 밖에 더 되지 않겠는가. 항상 뭔갈 할 때에 이유(또는 근거)를 가지고 움직일 수 있도록 하자.

즉, 환경 탓만 하기보다는 내가 할 수 있는 노력은 해보자는 것이다. 불편한 것이 있으면 어떻게 하면 편하게 할 수 있을지 고민해보고, 비효율적인 것이 있으면 효율적으로 할 수 있도록 바꿔보자는 것이다.

2021년을 되돌아보면 일밖에 안 했던 것 같다. 코로나 때문이라고 하긴 애매하지만 놀러 가지도 않고 그러다 보니 자연스럽게 추억이라 할만한 것이 없다.

하지만 회사에서 6시에 퇴근을 하고 거의 매일 남아서 내가 부족했던 것, 더 알아보고 싶었던 것들을 공부하면서 나름 배움의 즐거움이랄까? 재미있었다. 알고리즘 문제를 풀면서 막혀서 화가 머리끝까지 난 상태로 집에 가는 경우도 있었지만 이러한 것들 모두 추억이라면 추억이라 할 수 있지 않을까?

앞으로 이런 열정을 잃지 않고 성장할 수 있길 바라며, 모든 개발자 분들 롱런합시다~🤞

'사는얘기' 카테고리의 다른 글

간만에 적는 회고글  (0) 2023.07.06