- 프론트엔드 신입의 5개월간 회사 생활, 그리고 얻은 것들2025년 01월 06일
- 주사위 clice
- 작성자
- 2025.01.06.:29
반응형0. 내가 일했던 회사
나는 솔루션 회사에서 5개월간 일하고, 지난주 퇴사했다.
내가 다녔던 회사는 설립된 지 20년이 넘은 중견 기업으로, 자체 솔루션을 보유하고 있었다. 내가 입사할 당시, 회사는 기존 솔루션을 다른 형태로 발전시키고 새로운 기능을 추가해 더 많은 고객을 유치하려는 프로젝트를 진행 중이었다. 나는 그 프로젝트에 투입되어 5개월 동안 개발 업무를 맡았다.
솔루션회사, SI, SM의 차이가 궁금하다면? https://www.youtube.com/watch?v=GG6JVpqpFfM&t=332s&ab_channel=%EA%B2%BD%EC%95%84KyungA1. Vue와의 첫 만남
Vue의 SFC(Single File Component) 구조 처음 회사에 입사했을 때 가장 먼저 마주한 것은 Vue라는 라이브러리였다. Vue를 써본 적이 없었던 나는 처음에 막막함과 동시에 불만으로 가득했다.
"왜 대세인 React 대신 오래된 Vue를 쓰는 거지?" 라며 불만을 가지기도 했다.하지만 프로젝트가 진행되면서, "프레임워크나 라이브러리에 상관없이 실력은 쌓인다" 라는 사실을 깨달았다.
정말 좋았던 점은, Vue는 jsx와 다르게 명시적으로 HTML, JS, CSS 영역이 철저히 구분되어있어서 오히려 개발이 리액트때보다 더 쉬웠다.
또한 Vue도 React처럼 컴포넌트 기반이었기 때문에 기존 경험을 활용할 수 있었고, 시간이 지날수록 많이 익숙해졌다.결국 도구가 아닌, 얼마나 유연하게 사고하고 배우느냐가 중요하다는 점을 알게 되었다. 앞으로는 특정 도구만 고집하기보다, 새로운 도구를 배우는 데 두려움을 느끼지 않으려고 한다.
2. 내가 회사에서 배운 교훈들
2-1. 마감 기한 예측의 중요성
처음 업무를 받았을 때"이틀이면 끝나겠는데?" 라고 자신 있게 말했다. 하지만 실제로 2주가 걸렸다. 예상과 실제가 크게 어긋나면서 일정이 지연되었고, 다른 작업에도 차질이 생겼다.
이 경험을 통해 마감 기한을 예측할 때는 반드시 여유를 두고 계획해야 한다는 점을 배웠다.2-2. 삭제는 신중히
"이건 필요 없겠지? 거슬리니까 삭제하자." 라고 가볍게 판단했던 코드가 나중에 꼭 필요해져서 다시 복구했던 적이 많았다. 다행히 Git 덕분에 살렸지만, 이런 경험을 통해 애매하면 지우지 말고 코멘트와 함께 주석 처리라도 하는 습관을 들이게 되었다.
3. 커뮤니케이션과 협업
3-1. 팀원들과의 소통
내가 속했던 곳은 솔루션 회사라 고객사 요구사항이 수시로 바뀌었다. 그런데 요구사항이 일괄적으로 전달되지 않고, 개발 이사와 1:다 소통 위주로만 이루어지다 보니 각자 받은 WBS가 제각각이 되기도 했다.
이런 상황에서 소통이 원활하지 않아 어려움을 겪었다. 예를 들어백엔드 개발이 늦어지면서 프론트엔드에서는 실제 데이터를 붙이지 못했고, 그 결과 화면 완성도가 떨어져 보였다. 프론트는 결과물이 직접 보이는 파트라서 "오늘 하루종일 고작 이거 한거야?" 와 같은 지적이 더 많았는데, 그때마다 억울함을 느끼기도 했다.
3-2. 커뮤니케이션의 중요성
백엔드가 3년 전 레거시 코드를 재활용하면서, 현재 코드와 맞지 않는 문제가 자주 발생했다. 문제점을 파악하고 백엔드에 명확히 전달하면서 필요한 코드를 받을 수 있었다.
이 과정에서 프론트 개발자도 백엔드 구조를 이해해야 한다는 점을 느꼈다. 실제로 백엔드가 바빴기 때문에 직접 백엔드 코드를 뜯어보며 오류의 원인을 찾아야 했다.
"괜히 학교에서 데이터베이스와 SQL 등을 가르치는 게 아니었구나!" 라는 생각이 들었다.시간이 지나고 업무에 적응해나가자 내 스스로가 커뮤니케이션 스킬이 많이 올라갔다는 점을 느낄 수 있었다.
몇달전 프론트엔드 파이트 클럽에서 '실력이 정말 폐급인데 커뮤니케이션이 잘 되는 동료' VS '실력이 좋은데 커뮤니케이션이 안 되는 동료'에 대해 토론을 한 적이 있다.
그 당시에 나는 당연히 실력이 뛰어난 쪽을 선택했다
하지만 실제로 경험을 하고 나니 커뮤니케이션이 훨~~~~~~~씬 중요하다는 것을 깨달았다.
아무리 실력이 뛰어나도 누구나 못하는 점, 모르는 점이 있는데, 그 점을 어떻게 해결할지는 커뮤니케이션 역량에 달렸다. 주변에 도움을 요청하고 끊임없이 물어봐야 문제를 해결하고 실력이 성장한다.
4. 남의 코드 읽기, 그리고 성장
남이 짠 코드를 읽는 건 재미없는 일이다. 가끔 잘 짜인 코드를 볼 때면 기분이 좋았지만, 그런 순간은 많지 않았다.
잘 짠 코드라 하더라도 끝도 없이 이어지는 코드 타래를 따라가며 작성자의 의도를 파악하는 과정은 고통 그 자체였다. 결국, 내가 코딩할 때만 재미를 느낄 수 있었다.그럼에도 불구하고, 남의 코드를 많이 읽어야 실력이 빨리 향상된다는 말에는 동의한다. 남의 코드에서 문제 해결 방법이나 구조를 배우는 과정은 개발자로서 반드시 필요한 훈련임을 깨달았다.
5. 좋았던 점
현직 디자이너와 함께 일할 수 있었던 점이 가장 좋았다.
이전 프로젝트에서는 피그마(Figma) 파일 관리가 제대로 되지 않아 dev mode에서 스타일을 가져와도 실제와 맞지 않는 경우가 많았다. 하지만 이번 프로젝트에서는 디자이너가 꼼꼼하게 디자인하고 컴포넌트를 잘 활용해주었다.
그 덕분에 CSS를 가져오면 피그마와 99% 일치했으며, 작업 효율이 크게 올라갔다.정말 편했고 신세계였다!!!!
6. 업무 외적인 성장
6-1. 스트레스 관리
재택과 대면이 혼합된 근무 체계와 수시로 바뀌는 업무 내용에 적응하는 것이 쉽지 않았다. 특히 매일 대면 회의가 있었는데, 일부 회의 내용이 전달되지 않아 변경 사항을 놓치기도 했다. 이런 상황에서 종종 번아웃을 겪었지만, 이를 잘 극복하지 못한 채 지나가기도 했다.
6-2. 균형 있는 삶
건강이 악화되는 것이 싫어서 꾸준히 헬스장에 다니려고 노력했다. 회사에서 야근을 마친 뒤 12시쯤 헬스장에 가는 생활 패턴을 유지하려 했지만, 결국 시간 부족으로 충분한 수면을 놓치게 되었다.
18학점의 대학 생활, 동아리 운영진, 대외활동 2개를 함께 하면서 정말 지쳤다. 너무 많은 활동을 동시에 하다 보니 다른 활동들이 우선순위 밑으로 내려가서, 다른 사람들에게 피해를 준 것 같아 미안한 마음이 컸다.
7. 회사 문화에 대한 경험
7-1. 조직 문화⭐️⭐️⭐️
학생이었던 나는, 네카라쿠배당토처럼 모든 개발자가 ‘끊임없이 성장’하고, 최신 기술을 도입하며 더 나은 환경을 만들어 갈 줄 알았다. 하지만 현실은 달랐다.
솔루션 회사 특성상 마감 일정이 촉박하다 보니 새로운 기술을 공부하고 적용하는 데 시간을 투자하기 어려웠다. 게다가 현재 상태에 만족하며 더 이상 성장하지 않으려는 사람들도 많았다. 불필요한 도전을 싫어하고, 이미 했던 방법과 성공한 기술만 사용한다.이걸 출근 첫날 느꼈는데, 내가 처음으로 살펴봐야 했던 코드는 5000줄이 넘었고, Vue가 처음이었던 나는 해당 코드를 이해하는데만 꼬박 2일 걸렸다.
이걸 어떤 식으로 개선할 수 있을까 고민하고, 모듈화를 하고 싶어 다른 사람한테 제안 해보았는데 컷 당했다... 그걸 개발할 시간에 다른걸 하는게 더 낫겠다고 답변이 와서 이 파일은 결국 개선하지 못 했다... 내가 나갈 때 쯤에는 7000줄로 늘어났던것 같다.
나중에 대기업이나 유명 스타트업에서도 비슷한 상황이라는 이야기를 듣고 문제는 회사가 아닌 개인의 태도에 있다는 것을 깨달았다.
그래서 나는 안주하지 않고 성장하려는 초심을 잃지 않겠다고 다짐했다.7-2. 리더와의 관계
내 능력보다 버거운 업무를 맡게 되었지만, 혼자 해결하려고 계속 붙잡고 있었다. 결국 일정이 지연되었고, 4일간 한 기능만 붙들고 있었던 나는 그제야 사수에게 도움을 요청했다.
사수는 1시간 만에 문제를 해결했으며, 나는 소통과 협업의 중요성을 크게 느꼈다.
"내가 못하는 일을 억지로 붙들고 시간을 허비하기보다, 빨리 상황을 공유하고 도움을 받는 것이 모두에게 이롭다." 라는 교훈을 얻었다.
8. 후회
매일 매일 TIL(Today I Learned)을 작성할걸...
배운 것이 많았지만 기록한 것은 많지 않았다. 그때그때 배운 내용을 기록했다면 더 큰 도움이 되었을 것이다. 앞으로는 작은 것이라도 꾸준히 기록하는 습관을 들이려고 한다.
9. 성과와 도전
내가 만든 서비스는 약 만이천 가구가 실제로 사용한 서비스였다. 학생 시절에는 경험하지 못했던 유저 수였고, 이 규모에 맞는 개발을 직접 진행했다는 점에서 큰 보람을 느꼈다.
또한, 이 서비스를 시연하며 대표님이 국내 컨퍼런스와 미국 컨퍼런스에서 발표를 성공적으로 마치고 투자까지 받았다는 소식을 들었을 때 정말 기뻤다.
10. 앞으로의 다짐
5개월 동안 나는 여러 시행착오를 겪으며 많은 것을 배웠다.
- 도구보다 중요한 것은 사고방식과 적응력이었다.
- Vue를 배우며 프레임워크와 도구는 바뀔 수 있지만, 문제 해결 능력은 여전히 중요하다는 점을 깨달았다.
- 소통과 협업의 중요성을 절실히 느꼈다.
- 문제가 생겼을 때 빨리 공유하고 도움을 요청하는 것이 생산성을 높인다는 것을 배웠다.
- 안주하지 않고 성장하려는 태도를 잃지 않기로 했다.
- 내가 속한 환경에 휩쓸리지 않고, 꾸준히 배우고 성장하려는 개발자가 되기로 다짐했다.
- 남의 코드를 읽는 데 더 익숙해지려고 노력할 것이다.
- 재미없고 고통스럽더라도, 남의 코드를 통해 성장할 수 있다는 점을 명심할 것이다.
- 좋은 협업을 위해 디자이너와의 커뮤니케이션도 지속적으로 개선해 나갈 것이다.
- 이번 경험처럼 좋은 협업이 작업 효율과 완성도를 얼마나 높이는지 배웠다.
- 작은 것이라도 꾸준히 기록하는 습관을 들이겠다.
- 배운 것을 놓치지 않기 위해 TIL을 작성하며 성장 과정을 기록할 것이다.
앞으로도 더 많은 도전을 통해 성장하는 개발자가 되고 싶다. 회사에 처음 지원했을때 포트폴리오 작성하고, 면접 준비하고, 떨리는 마음으로 사무실 찾아가고, 열심히 야근하던 그런 나날들이 나에게 많은 것을 알려줬고, 이 회고가 그 배움의 흔적으로 남길 바란다.
퇴사날 깔끔해진 내 자리!
11. 도움이 되었던 유튜브 영상들
내가 정말 좋아하는 경아님 영상들이다.
이 유튜버 분 영상이 진짜 찐이다. 링크드인에서 보는 개발자들의 성공기, 컨퍼런스에서 듣는 네카라쿠베 개발자들의 성장기는 정말 희망편이고 개발자 상위 1 %의 이야기이다.
이 분이 개발자 현실을 정말 솔직하게 담아주신다.
요약: 신입이라면 무조건 하는 실수에 대해 언급하고, 왜 그런 실수를 저지르는지, 또 그에 대한 해결책을 알려주신다
https://www.youtube.com/watch?v=uftqSRfaj7Y&t=303s&ab_channel=%EA%B2%BD%EC%95%84KyungA
요약: 개발에서 실이 되는 업무는 없다. 환경에 투덜거리지 않고, 어떤 상황에서도 득이 되게 하는 나의 역량이 중요하다.
'내가 있던 곳에서 나는 거기까지밖에 못 했어. 나한테는 더 할 수 있는 권한이 없었어' 라고 말하면 안 된다. 우선 신뢰를 쌓은 뒤에 조금씩 내가 원하는 것을 요구하면서 일하는 모든것을 내 커리어에 녹여야 한다.
https://youtu.be/Kexd9ToKMyw?si=zZNJjCDEixbNQM7v
반응형'경험, 활동' 카테고리의 다른 글
좋은 프로젝트를 진행하기 위해서 지켜야 할 것 (0) 2024.02.17 다음글이전글이전 글이 없습니다.댓글