나는 22년도에 약 8개월 동안 중소기업에서 프론트엔드 개발자로 일한 적이 있다. 학교에서 진행하는 현장실습 프로그램이 있는데 지원을 하게 되었고 운이 좋게 합격되어 일하게 되었다.
처음에 합격했을 때는 무척이나 기뻤다. 그냥 이력서 경험사항에 한 줄 채울 수 있게 되었구나 라는 생각에 기뻤던 것 같다. 인턴으로 일하는 것이기 때문에 내가 코드를 짤 일은 없겠지?
라는 생각으로 들어가게 되었는데 알고보니 기업의 모든 개발자가 나와 같은 대학생들이었고, 그렇기 때문에 나도 내가 맡은 바를 다 해야했다.
그 당시 리액트에 대한 경험이 전무했던 코드 한줄 짜는 것도 어려웠지만 내가 맡은 바를 다해야했기 때문에 밤새서 공부하며 코드를 짰었던 것 같다.
초반 3개월 동안의 성장은 매우 컸던 것 같다. 코드 한 줄 못치던 내가 스스로 코드를 칠 수 있게 되었다는 것이 가장 큰 성장이라고 할 수 있다.
하지만 되돌아 보았을 때 아쉬운 것이 너무 많다.
우리는 모두 대학생으로 이루어져있었기 때문에 어떤 식으로 코드를 짜야 더 깔끔하고 가독성이 있게 짤 수 있는 지 고민이 많았다. 우리 모두 코드 질 개선을 위해 코드 리뷰를 하고 기술 스터디도 진행해 보았지만, 조금 더 경력있는 개발자가 회사에 있거나 경력자가 짜놓은 코드가 있었다면 우리가 고민이 많을 때 '이런식으로 짜면 안된다.' 라든지 '이런식으로 짜면 좋을 것 같다'라든지 알려줄 수 있었을텐데
라는 아쉬움이 든다.
우리 나름의 컨벤션을 정하기 위해 노력을 했지만 완전히 준수하지는 못한 것 같다. 코딩 컨벤션에 대해 문서로 정리를 해놓고 그 문서를 따랐으면 조금 더 통일성있게 코드를 짤 수 있었을 것 같다.
특히 당시에는 eslint의 존재를 아예 몰랐고, node 버전도 맞춰야한다는 사실을 몰랐다.
개발을 하면서 굉장히 많은 어려움을 겪었는데 그 점에 대해서 문서화를 아예 하지 못했던 점이 아쉽다. 그저 주어진 마감기한에 맞춰 개발을 하는데 급급하여 문서화를 하지 못해
현재 남아있는 것이 그 당시 코드 밖에 없다. 조금만 시간 내서 블로그에 작성했다면 나에게 큰 자산이 되었을 텐데 굉장히 아쉽다.
말 그대로다. 코드를 칠 줄 알게 되어 기고만장해져서 더 이상 공부를 하지 않게 되었다. 더러운 스파게티 코드를 짜고서도 돌아가니깐 됐겠지
라는 생각을 갖게 되었다. 더 이상 유지보수나
8개월 간 일하며 되돌아 보았을 때 아쉬운 점도 많았지만, 나만의 강점은 여러 직무의 팀원들과 소통해 본 경험이 있다는 것이다. 나는 백엔드/프론트엔드 개발자, 디자이너와 모두 일해 본 경험이 있고 그 과정 속에서 얻은 것이 있다.
일단 백엔드 팀원과 소통할 때는 api 통신에 문제가 생겼을 때 얘기를 많이 하는 것 같다. 처음 내가 예상한 것과 같이 응답이 오지 않을 때 내 코드에는 문제가 없는데? 이건 백프로 백엔드 문제다
라고 생각할 때가 많았다. 그래서 내 문제인지 백엔드의 문제인지 확인하지 않고 바로 백엔드 팀원에게 가서 이 api에 문제가 있는 것 같다라고 말할 때가 많았다.
어쩌면 이렇게 말할 수 있었던 이유는 우리는 모두 대학생 개발자이고 정말 친했기 때문에 가능했을지도 모른다.
API 스펙을 잘 봐야한다는 것을 명심하자
Network Tab
을 확인하는 것이 좋다. console로 찍는 것보다 Network Tab을 열어서 Header나 body에 필요한 것이 잘 들어갔는지 확인해야한다.이거 안되는데요?
이렇게 말하지 말아야한다. 설명을 잘하는 것도 굉장히 중요하다.
나는 말을 잘 못하는 편이라서 처음에 팀원들과 말할 때 내 얘기를 못알아듣겠다는 경우가 종종 있었다. 그래서 팀원분께 가기전에 어떤 API가 안되고, 이런식으로 요청을 보냈고, 이런식으로 응답이 왔다. 이런식으로 해결해봤는데도 안된다.
라는 것을 정갈하게 정리해서 말씀드려야한다는 것을 알게 되었고 그런식으로 말씀 드렸을 때 문제 해결 속도가 높아졌다.프론트엔드 팀원과 작업할 때 중요한 것은 많은 것이 있지만 깃과 깃허브
를 잘 쓰는 것이 굉장히 중요한 것 같다.
merge conflict나면 conflict난 당사자와 꼭 같이 해결하기 (내 마음대로 코드를 지워버리면 절대 안된다)
마지막으로 디자이너와 작업할 때이다.
하드코딩을 하지 말자
이다. 디자이너님이 주신 시안대로 글씨 크기를 맞췄는데 글씨 크기가 전체적으로 작은 것 같다고 2px씩 키워달라고 요구를 받은 적이 있었다. 그런데 내가 글씨 크기를 변수로 빼지 않고 하드 코딩해서 모든 font size를 찾아 수정해야 했던 적이 있었다. 그래서 하드 코딩하지 않고
CSS 변수로 꼭 빼서 코딩하는 것을 추천한다.내 마음대로 디자인을 상상하지 말자
라는 것이다. 예를 들면 소셜네트워크 웹사이트를 만든다고 치면 웹사이트에 글이 없을 때는 어떤 식으로 디자인 될 지 디자인 시안에 없다면 디자이너님에게 직접 여쭤봐야한다. 내 마음대로 이런식으로 코딩하면 되겠지라고 생각하고 코딩했다가 싹 다 엎어야 했던 적이 있다.이상으로 글을 마치며 작년에 다녔던 회사에서 느꼈던 점을 올해들어서야 쓰게 되었다. 조금 더 빨리 썼으면 더 많은 기억을 살려 잘 쓸 수 있었을 까 하는 아쉬움이 들지만 늦기전에 써보았다.
추후에 내가 다른 회사에 취업하여 읽어보면 팀원들과 더 좋은 서비스를 만들 수 있지 않을까 싶다.