신입개발자의 우당탕탕 회고

endmoseung·2023년 4월 23일
44
post-thumbnail

2023/4/9 월요일부터 출근해서 글을 작성하는 날짜 4/23기준 약 한달동안 느꼈던 감정과 앞으로 해야할것들 위주로 글을 쓰려고한다.

1 . 신입 프론트엔드 개발자

필자는 약 1년간 공부해서 최근에 회사 프론트엔드 개발자로 입사했다.
글을 작성하는 날짜 4/23기준 약 한달정도 됐고 그동안에 느꼈던 감정과 앞으로 해야할것들 위주로 글을 쓰려고한다.

어떻게 취업했는지 취업 회고글
비전공 독학 백수에서 취업하기

IT직군으로써 취업도 처음이지만 인생 첫 취업이기에 기대반 걱정반으로 회사에 출근했다.
우선 첫 출근이 10시반이었던게 매우 인상깊었다.
첫날은 인사팀과 함께 회사를 알아가는 OJT가 진행됐고 나와 함께할 팀원들에 대해서 알아갔다.

2 . 찐 실무 투입

처음 느꼈던건 맞은편 백엔드팀에서 DB, 데이터 설계를 하는것 보고 이게 진짜 실무구나 하는 느낌을 받았다.
그리고 프론트는 정말 많은분과 협업하는 것 같았다.
팀 선임 프론트개발자님을 봤을때 개발직군과도 정말 많이 협업했고, QA, 백엔드, 다자인, 기획, 마케팅같은 비즈팀과도 소통 할 일이 잦으며 회의또한 많았다.

내가 정말 원하던 것이었다.
주어진 프론트엔드 개발만 하는게 아니라 다양한 직군과 소통하면서 일하기를 원했던 나여서 매우 좋았다.

첫주에 회사 업무에 바로 투입되다.

회사가 바빠서 첫주에 바로 실무에 투입됐고 회사 QA에서 발생한것들을 픽스하는 업무를 받았다.
사실 첫 3일동안은 아무것도 안하고 회사코드를 익히는데만 시간 투자했는데 직접 코드를 변경하는게 아니라 전체적인 코드를 익히는건 쉽지 않았고 바로 코드를 쓰면서 고민 할 수 있는 기회를 부여받아서 오히려 좋았다.

근데 그 과정이 쉽지는 않았다.
1. 우선 회사 비즈에 대한 이해도가 절대적으로 부족하다.
2. 내가 보수해야할 코드에 대한 이해도 또한 절대적으로 부족하다.
3. 내가 보수해야할 코드가 기존 코드에 대한 사이드이펙트가 발생해서는 안된다.

그래서 나는 회사 비즈에 대한 절대적인 이해를 하기 위해서 정리했고, 이해하지 못한 다양한 용어(개발 용어나, 업무 용어)를 개인 노션에 정리했다.

특히 용어가 생소한 부분이 많았는데 이 부분은 따로 팀원들한테 물어보고 정리하면서 해소됐다.
회사 비즈에 대한 부분을 이해하기 위해 회사 서비스를 사용자 입장에서 경험해보고 이해되지 않는 부분에 대해서 우리 팀원분들께 물어보면서 정리하고 해결했다.

그리고 실제로 코드를 작성할때도 해당 기능이 작동하기 위한 플로우를 먼저 확인했다.
예를들어 C라는 기능을 픽스하기 위해서 B라는 조건이 선행되고 해당 B라는 조건이 A에 포함되있으면 A라는 코드부터 읽으면서 위에서 아래로 코드를 읽으면서 이해하려 했다.

회사 개발 방식에 적응하기

기존에는 하나의 레포지토리를 클론해서 깃 브랜치 전략에 따라 적용했다.

참고사진

하지만 현재 회사 개발방식은 기존의 레포지토리를 Fork해서 upstream과 origin을 분리해서 upstream에 잘못된 코드가 올라가지 않도록 개발했고 깃 브랜치 전략도 기존에 하던 방식과 달랐다.
처음에는 내가 하던 방식과는 달라서 어색했지만, 최대한 방식을 따르려고 했고 결과적으로 왜 이렇게 적용했는지 알게 됐다.
따로 관리하기에 기존에 문제가 있는 코드를 upstream에 병합되기 힘들고 기존에 문제있던 코드를 관리하기에도 훨씬 편했다.

내가 알던게 진짜 팀으로써 도움이 되는가

기존 입력 폼에서 Validation을 추가하는 작업을 맡게 됐다.
기존에 Validation은 자바스크립트 정규식을 이용해서 관리했기에 당연히 정규식을 쓰는게 관례지 않을까 사용해서 코드를 작성하고 팀 백엔드 개발자분께 자문을 구했다.
왜냐하면 Validation을 조건문을 통해서 개발하면 코드가 더 길어져서 가독성을 해칠거라 생각했기 때문이다.

근데 생각하지도 못한 답변을 들었다.
그 코드가 우리팀 컨벤션에 맞게 적용한것이 맞냐는 질문을 받았다.
나는 이부분을 전혀 생각하지 못했다. (물론 운좋게 기존에도 정규식을 이용해서 개발했기에 다행이지만.)
앞으로는 내가 편한 개발보다는 팀원들이 하던 방식에 맞춰서 하는게 중요할거란 생각을 했고 그런 부분이 정리가 되지 않았다면 꼭 정리해서 팀원간에 맞추는 작업이 클린코드보다 더 중요할거란 생각을 했다.

효율적으로 소통하기

나는 무조건 오프라인소통>>>온라인소통 이라는 이상한 확신을 가지고 있었다.
그래서 모르는걸 물어볼때나 업무적으로 얘기해야할때 오프라인으로 진행하는 편이었는데 굳이 모든걸 오프라인으로 소통할 필요 없다고 느꼈다.
예를들어 간단한 정보를 물어볼때는 오프라인보다는 Slack으로 정하는게 좋았고 모두가 알아야할 필요가 있는건 오프라인 회의도 좋지만 Slack에 공지해서 글로 남기는게 좋을것 같다는 생각을 했다.

3. 느낀점

개발은 재밌어.

저번주 잘 풀리지 않는 문제가 있었다.
어떤 페이지가 있었는데 해당 페이지내에 많은 기능으로 인해 코드가 2천줄 가량되는 페이지였고 많은 useEffect로 인해 이 기능의 간섭으로 저 기능의 간섭이 일어나는 코드였다.
이부분에서 내가 특정 기능의 버그를 픽스하는 개발을 맡았는데 단순한 기능임에도 5시간정도 걸려서 문제를 해결했다.
이때 정말 기분이 좋았다.
풀리지 않는 문제를 해결할 수 있는 즐거움이 내가 개발을 시작한 이유기도 한데 이때 내가 개발을 좋아하는 이유에 대해서 다시 확인할 수 있었다.

가져야할 마음가짐

회사에 입사하기전에 코드를 더 작성하기보다는 어떤 마음가짐을 가질것인가, 회사비즈에 대해서 먼저 파악해야겠다는 마음가짐으로 입사했지만 잘 지켜지진 않았다.

회사 입사하기전 팔로V님의 브런치글을 자주 읽었다.
스타트업 신입 가이드

그래서 좀 더 프로같이 일하자고 다시 마음먹었다.

난 신입인가 2년차 개발자인가

회사에 신입 프론트엔드 개발자로 입사한건 맞지만 회사 JD에서는 2년차 이상이거나 이에 준하는 개발자를 모집했기에 내가 취해야할 태도에 대한 정리를 아직 못했다.
애초에 2년차 개발자를 모집했기에 신입 개발자의 스탠스를 취해야해선 안되지만 모르는건 적극적으로 물어보고 해결하며 신입티가 안나는 프로 개발자처럼 행동하자는 결론을 내렸다.

수평적인게 적응이 안돼요?

기존에 필자가 사는 울산은 대부분 제조업 회사가 많고, 주 전공이었던 전기로 취업하는 회사들을 포함해서 수직적인 분위기를 가진 회사들이 많았다.
그래서 주변에서 들었던 회사생활도 수직적인 회사들이 많았기에 회사를 3주동안 다녔던 생활과는 너무나도 달랐다.
우선 유튜브에서만 보던 에어팟을 끼고 슬리퍼를 신고 회사에 출근하는 지금 회사 문화가 어색했다.
근데 이런 문화가 너무 좋았다:)

시간을 내지 않으면 바뀌는건 없다.

원래 처음에 회사에 오더라도 꾸준히 공부해서 개인 깃허브에 잔디를 심으려 했으나 제대로 되지 못했다.
그래서 내가 느낀건 내가 시간을 내지 않으면 바뀌는게 없을거란 결론을 내렸다.
집에 오면 피곤하다는 핑계로 아무것도 하지 않게 되는것 같다.
그래서 앞으로 이런저런 핑계에 사로잡히지 않기 위해 스터디를 한다던가 하는 방안을 마련하고 최대한 집에 있지 않기로 했다.

하고싶은것과 할수 있는것 분리하기

회사에 입사하면 하고싶은것들이 너무 많았다.
예를들면 내가 작성한 코드과 프론트엔드 동료가 작성한 코드를 서로 리뷰하고 싶었고 코드는 항상 클린하게 작성하고 싶었다.
회사에 레거시 코드가 있으면 깔끔하게 리팩토링 하고싶었고 이런 부분을 어떻게하면 좋을지 다양하게 얘기해보고 싶었다.
근데 스타트업에서는 그럴 시간과 여력이 충분하진 않은것 같다.

그래서 내가 하고싶은것들을 할수 있는것과 없는것을 분리해서 실제 적용할 수 있는 부분을 내가 먼저 해서 보여주기로 했다.
코드 리뷰를 남기고 싶으면 내가 먼저 해서 보여주고, 클린하게 코드를 작성하고 싶으면 내가먼저 클린하게 적용했다.
회사 내에 시간이 나지 않기에 퇴근하고 시간을 내서 회사 레포지토리 closed된 Pull Request에 코드 리뷰를 남기고, 코드를 작성할때도 클린하게 작성하려고 노력했다.(이부분은 아직 명확한 답은 모르겠다. 클린하게 작성할수록 시간이 많이 걸리고 빠르게 작성할수록 코드는 클린하지 못하기 때문에 어느정도 합의점을 내려야 할지.)

4. 끝으로

이러나 저러나 결국 내가 하는 업무가 재밌다.
아직 프론트엔드에 대한 성숙도가 절대적으로 부족하다고 생각한다.
내가 부족한건 앞으로 계속 채워나가고 회사에서 부족한것도 채워나가고 싶다.
내가 부족한건 퇴근 이외에 시간내서 위에서 말했던것처럼 계속 채워나가면 된다고 생각한다.
아직 회사에 개발 문서가 부족하고 정해진 방식이 없다면 나는 이런것들을 구축해서 만들어보고 유지해본 경험을 할 수 있는거고, 내가 관여할 부분이 많다면 나는 개발 프로세스에서 여러가지를 관여할 수 있는 경험이 생기는거라고 생각한다.

이런저런 핑계를 대면서 비관적으로 바라보지말고 낙관적으로 좋은 경험을 할 수 있는 방향을 생각하기로 했다.

다만 내가 어떻게 성장해야 회사와 나에게 둘다 도움이 될까를 고민하면서 앞으로 다양한 방법을 고민해야할 것 같다.
그리고 프론트엔드 개발자로써 연차가 쌓임에 따라 개발자로써 성숙함을 어떻게 만들것인가를 더 고민해야할 것 같다.
마지막으로 내가 위에서 말했던것들에 대해 떳떳할 수 있는 사람이 되고자 한다.

혹시나 제가 고민하는것들에 대한 의견이 있다면 편하게 댓글을 남겨주시길 바랍니다:)

그리고 궁금한것들도 언제든지 댓글로 질문하셔도 좋습니다:)

profile
Walk with me

10개의 댓글

comment-user-thumbnail
2023년 4월 23일

저도 2달전에 스타트업에 입사한 신입입니다! 저또한 업무에 곧바로 투입되어 일을 하면서 배우고 있는데 재밌네요. 공감가는 부분이 많습니다! 좋은글 감사합니다!

1개의 답글
comment-user-thumbnail
2023년 4월 26일

신입인지 n년차인지에 대한 걱정은 조금 덜으셔도 괜찮지 않을까 싶어요! 승모님의 여러 경험, 실력 등이 인정받아 팀에 합류를 해서 일을 하는 지금 이미 프로라고 생각됩니다! 👍

1개의 답글
comment-user-thumbnail
2023년 4월 27일

모승의 열정이 여기까지 전달되는 거 같네요! 덕분에 같이 힘나서 더 열심히 할 수 있을 거 같습니다ㅎㅎ 좋은 글 감사합니다!

1개의 답글
comment-user-thumbnail
2023년 5월 3일

Great information.
Waffle House App

답글 달기
comment-user-thumbnail
2023년 6월 29일

화이팅!! 2천줄짜리 코드라니 후덜덜하군요.

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

We offer our Vasant Kunj Call Girl Service direct whatsapp number to the clients for better experience. Don't hesitate to ask if you have any doubts about them. We are here to help you. We are dealing only with independent girls. They are not associated with any other escort agency. Most of them are very pure and hygienic. Before and after the meeting, they always take a bath. They provide the best casual dating service with full of love and care.

답글 달기