개발자
안녕하세요 현재 신규회사에 취업했는데 ts 없이 js로만 코드를 짜셨더라구요. ts보단 js의 유연함이 좋아서 그렇게 하셨다는데 생각이 확고하셔서 앞으로 프로젝트 들어가기가 두렵습니다 저는 ts가 버그예방과 오류잡기 협업시 코드가독성 증가등등 더 유리하다고 생각하거든요 상사분께 말했더니 그러면 코드를 네가 마이그레이션 해보라고 하시는데 솔직히 두렵고 그러네요 상사분을 설득할지 코드를 마이그레이션할지 퇴사할지 조언부탁드립니다..
•'보충이 필요해요' 피드백을 5개 이상 받은 질문은 내용을 보충하기 전까지 새로운 답변을 받을 수 없어요.
•질문에 문제 상황과 현재 상태, 문제를 해결하기 위해 했던 노력을 자세히 작성해 보세요.
•
답변 8
인기 답변
굉장히 좋은 의도로 TypeScript를 쓰자고 말씀하셨는데 상사분의 반응 때문에 속상하셨을 것 같습니다. 사실 이러한 제안을 해주는 팀원이 있다는 것은 참 축복이에요. 상사분께서 좀 우호적으로 들어주셨으면 좋았을텐데 좀 아쉽네요. 우선 아직 퇴사를 고려하실 정도의 사안은 아닌 것 같고요... 😅 레거시 코드베이스를 TypeScript로 마이그레이션하는 프로젝트를 리딩한 경험이 좀 있어서 몇 가지 고려하실 부분을 알려드리겠습니다. JavaScript 프로젝트에 TypeScript를 도입할 때는 Babel, ESLint, Webpack 등과 같은 기존 개발 도구와 통합 작업이 필요합니다. 또한 빌드/배포 과정에서 TypeScript 컴파일러를 통해 타임 검사를 수행하도록 CI/CD 파이프라인을 조정해주는 작업이 수반되야하죠. 따라서 팀 내 이러한 부분을 잘 알고 있는 시니어 개발자가 있다면 한번 대화를 나누어 보시면 어떨까요? 팀 내 그런 분이 없다면 DevOps 조직에 문의를 해보실 수도 있겠습니다. JavaScript로 작성된 코드베이스를 TypeScript로 마이그레이션하는 것은 생각보다 비용이 많이 들어가는 작업이기 때문에 일반적으로 팀 차원에서 이뤄져야합니다. 또한 잘 돌아가는 코드를 건드리는데 위험 부담이 따르기 때문에 리스크 관리를 위해서 모듈 단위로 점진적으로 진행되는 경우가 많습니다. 따라서 현재 팀에 현실적으로 이러한 여력이 있는지를 파악해보셔야할 것 같습니다. 그리고 현재 다른 팀원들이 TypeScript에 대해 어느 정도 지식과 경험이 있는지와 얼마나 TypeScript를 쓰는데 호의적인지도 매우 중요하겠습니다. 만약에 아직 TypeScript를 쓰는데 어려움이 있는 팀원이 있다면 섣부른 TypeScript의 도입이 오히려 개발 생산성의 악화라는 부작용으로 이어질 수 있거든요. 숙련된 JavaScript 개발자 분들도 TypeScript를 배우시는데는 어느 정도 학습 곡선이 있기 때문에 적절한 교육의 기회가 주어져야 할 것입니다. 마지막으로 한 가지 더 조언을 드리면, 업계에서 TypeScript로 많이 넘어가는 추세이긴 하지만 꼭 TypeScript를 쓰셔야한다는 강박관념을 가지실 필요는 없을 것 같습니다. 예를 들어 Svelte의 창시자 Rich Harris는 최근 Svelte 코드를 TypeScript에서 JavaScript 및 JSDoc으로 마이그레이션할 것이라고 발표해서 많은 개발자들을 놀라게 했거든요. (관련 기사: https://devclass.com/2023/05/11/typescript-is-not-worth-it-for-developing-libraries-says-svelte-author-as-team-switches-to-javascript-and-jsdoc/) TypeScript가 타입 안전성을 제공하지만 빌드 시간과 코드 복잡성을 증가시키는 부분이 있죠. 반면에 JavaScript는 TypeScript보다 배우고 사용하기 쉬워서 여전히 그 나름대로의 이점이 있다고 생각합니다. 많은 분들이 TypeScript만 쓰면 자동으로 코드 품질이 좋아질 거라고 생각하시지만 현장에서 보면 TypeScript로도 얼마든지 버그 투성이에 읽기 힘든 코드를 짤 수 있더라고요... 혹여 상사님을 설득하는데 실패하시더라도 너무 좌절하지 마시고 좋은 자바스크립트 개발자가 되도록 노력하셨으면 좋겠습니다. 자바스크립트 실력이 탄탄한 개발자는 금방 좋은 타입스크립트 개발자가 되시더라고요 🙂
익명
작성자
2023년 06월 28일
정성스러운 답변 정말감사합니다. 사실 많이 속상했거든요ㅜㅜ 올려주신 스벨트의 사례를 보고나서야 상사분의 말도 일리가 있다는 생각이 드니 제가 상사께 기본적인 신뢰가 없었나 싶고 반성하게 되네요ㅎㅎ.. 말씀을 들어보니 개발자가 적어서 당장 저혼자 하는건 무리같아요 하지만 언젠가는 해보고 싶은데 저는 항상 CRA로만 프로젝트를 만들어서 방향잡기가 어렵네요 이제 취업한 신입이거든요.. 혼자라도 환경설정을 연습하고싶은데 혹시 관련자료가 있으시다면 첨부해주실 수 있나요? 물론 저도 따로 더 찾아볼거지만 잘 알고 계실거라는 생각이 들어서요! 다시한번 답변 정말 감사드립니다
달레
Apollo GraphQL Software Engineer • 2023년 07월 01일
제 답변이 도움이 되어서 다행입니다. 개발 도구를 셋업하는 게 프로젝트마다 워낙 달라서 빠른 시간에 습득하고 싶으시다면 팀 내 이러한 부분을 잘 알고 있는 개발자에게 배우는 게 제일 효과적이고요. CRA는 기본적으로 이러한 개발 도구 설정에 대해서 신경쓰지 않고 바로 개발을 시작할 수 있도록 해주는데 아무래도 공부하시는 분들에게는 양날의 검이 될 수 있습니다. 혼자서 연습하시기 전에 각 개발 도구에 대한 기본적인 개념을 먼저 잡으시면 도움이 되실 것 같아요. 관련해서 제 블로그에 올려놓은 포스팅을 공유드리겠습니다. - Prettier: https://www.daleseo.com/js-prettier/ - ESLint: https://www.daleseo.com/js-eslint/ - Babel: https://www.daleseo.com/js-babel/ - Webpack: https://www.daleseo.com/webpack-basics/ - TSC: https://www.daleseo.com/tsc/ 그럼 화이팅하세요! 💪
익명
작성자
2023년 07월 03일
셋업 열심히 연습해보겠습니다 감사합니다!
인기 답변
일단 제 의견은 글쓴이 분과 동일하게 저 또한 신규개발 할 때는 TS를 쓰는게 무조건 유리하다고 생각합니다. 그러나, 이미 JS로 개발된 시스템에 TS를 도입하는건 다른분 의견과 동일한 생각으로 비용이 많이 듭니다. 즉, 인력소모가 많은 작업이에요. JS로 돌아가는 작업 TS로 돌리는 순간, 수천 수만 혹은 사이즈에 따라 수십만의 에러 코드가 기다리고 있을텐데, 이를 수정하는 작업은 물론 수정작업이 들어간 소스에 일괄 테스트가 들어갑니다. 이렇게 되면 시스템 전체 테스트가 필요한데, 운영 측면에서는 저도 굉장히 회의적이네요. 이런 부분에 있어서 글쓴이 분께 "네가 마이그레이션 해볼거냐"라는 식으로 말씀하신 것 같은데 복잡하게 생각할 것 없이 이 말 듣고 글쓴이 분이 느낀 두렵고 그런 감정. 그 감정을 선임개발자도 느껴서 그런겁니다. 글쓴이 분께서도 상사분께 가이드라인 한 부분이 성능상의 개선이 아닌 버그예방과 오류잡기 협업시 코드가독성 증가를 말씀하셨잖아요. 이는 이미 개발되어 있는 시스템들은 이미 수 많은 버그가 수정된 코드일 것이고 기존 개발자들에게는 JS가 본인들의 가독성에 더 좋을 수도 있습니다. TS라고 무조건 가독성이 좋아지지 않습니다.
익명
작성자
2023년 07월 03일
답변 감사합니다 선임분도 똑같이 느끼셨을거란 생각은 못했네요 협업시 신규프로젝트가 어느정도 진행됐는지 몰라서 그런말을 했는데 답변덕분에 이해할 수 있게되었습니다 ! 답변 정말 감사드립니다
인기 답변
현재 질문 작성자분은 일을 하는 노동자의 시선만 존재해서 그렇습니다. 이 질문을 관리자의 측면에서 바라보면 이미 기존에 JS로 짜여진 코드들과 그것에 대한 연관성 및 유지보수 시간 대비 인건비를 계산을 해봤을때 나온 운영 형태일텐데 그걸 지적을하셧으니 당연히 너가 바꿔봐라 라는 말이 나오죠 "상사분께 말했더니 그러면 코드를 네가 마이그레이션 해보라고 하시는데 솔직히 두렵고 그러네요" 두렵고 그러면 질문을 왜하셧어요?.... 질문이 엄청 이기적인거예요.. 정리하면 난 이 회사코드가 맘에안들어 내말대로 회사에서 단체로 TS로 마이그레이션 안하면 나 퇴사할꺼야 이말 이잖아요? 찍힌거 같아요........
익명
작성자
2023년 07월 03일
저는 지원공고의 타입스크립트를 보고 들어왔고 막상 들어와보니 js였으니 당황스러웠습니다 저도 속은기분이지 않았을까요? 기술스택이 맞지않으니 퇴사를 고려한거고, 그 전에 프로젝트가 시작된지 얼마안되신건가 라는 생각에 ts 를 말씀드린거구요 상사분과 잘 이야기되서 찍히진 않은것 같네요
암소메애
이제는 고객지원 • 2023년 07월 03일
취업공고가 그랬다면 물어보고 왜 채용공고와 다르냐며 말할수있죠. 질문이 5일 전 이긴 하나 그 이후에 대화로 협의점을 찾은 거라면 좋은 케이스네요. 열려있는 상사분이라 다행이네요. 중요한건. TS냐 JS냐를 두고 퇴사를 하냐 마냐를 선택할 상황이 아니라는거예요. 그거 고집이예요.. C#이냐 Java냐 이런게 퇴사고려사항이죠....
익명
작성자
2023년 07월 03일
저는 애초에 입사지원 할 때부터 최우선 조건이 ts였습니다 세상에 다양한 사람이 있듯이 저도 제가 원하는 조건의 회사에 들어갈 자격이 있구요 고집이라면 고집이죠 저도 개발자니까요. 기술스택은 개발자라면 누구나 하는 고민입니다. 제겐 심각한 고려사항인데요.. 그리고 저는 상사분께 이거아니면 퇴사한다고 한적 없답니다. 의견제시와 토론분위기 였어요. 자신의 의견 하나 말하면 찍히는 곳에서 일하시나보네요 모쪼록 힘내세요
암소메애
이제는 고객지원 • 2023년 07월 03일
먼저 설득할지, 마이그레이션할지, 퇴사할지 에 대한 내용에 조언을 요청하셨잖아요 "저는 상사분께 이거아니면 퇴사한다고 한적 없답니다." 그건 Q&A 내용에 없는 내용이잖아요? 질문에 공백이 많아서 추론적인 내용밖에 담을 수가 없는데 조언을 해주는 사람들도 겉할기로 밖에 말을 못해줘요. 똑같은 글을 읽어도 사람마다 느끼는게 다릅니다. 조언을 요청한 내용에 맞게 관리자 측면에서 바라본 내용을 말씀 드린거란건 취업도 하신 성인이시니 문맥은 잘 읽으시죠? 본인이 작성한 질문 까먹고 댓글쓰는거 아니죠? 팀내 분위기 망치는 이상한사람 골라서 내보내는 일도 포함되있으니 항상 찍혀있겠죠 저는 주륵.... --원본-- 안녕하세요 현재 신규회사에 취업했는데 ts 없이 js로만 코드를 짜셨더라구요. ts보단 js의 유연함이 좋아서 그렇게 하셨다는데 생각이 확고하셔서 앞으로 프로젝트 들어가기가 두렵습니다 저는 ts가 버그예방과 오류잡기 협업시 코드가독성 증가등등 더 유리하다고 생각하거든요 상사분께 말했더니 그러면 코드를 네가 마이그레이션 해보라고 하시는데 솔직히 두렵고 그러네요 상사분을 설득할지 코드를 마이그레이션할지 퇴사할지 조언부탁드립니다..
익명
작성자
2023년 07월 03일
제글 읽어보긴 하셨나 모르겠네요. 왜 자꾸 본인 생각과 다르다고 부분부분만 꼬집어서 비꼬듯이 말하는지요. 본인도 취업도 하신 성인이시니 맥락은 이해하시죠? 제가 질문한거에 겉핥기로라도 제대로 대답을 해주셨나요? 위의 분들은 제 질문에 똑같이 관리자측면으로 대답해주셨지만 제게 이기적이라느니, 찍혔다느니, 고집이라느니 하신분은 단 한분도 없습니다. 하지만 본인은 그 짧은글 속에서 저를 마음대로 재단하시고 평가하셨네요, 앞으로 듣는이가 어떻게 받아들일지 생각하시고 답변 달아주세요. 본인이 어떤식으로 말하는진 잘 알고 계시죠? 애초에 원본을 수정할 일도 없는데 원본 박제는 왜하시는지 모르겠네요
삭제된 사용자
2023년 08월 31일
마이그레이션 규모가 얼마나 클진 모르겠으나.. 혹시나 잘못 건드려서 일이 커지거나 장애를 수반하게 되는건 아닌가 하는 두려움이 당연이 있으실것 같습니다. 더 좋은 방향으로 가기 위한 고민과 의견을 내는 직원이 있다는건 참 고마운 일입니다. 기회가 생겼으니 마이그레이션을 단계적으로 해보시고, 과정을 잘 기록하셔서 본인의 자산으로 삼을수 있기를 바랍니다. 마이그레이션 이전/이후의 효과를 잘 포장할 수 있다면, 본인의 승진에도 큰 도움이 될 겁니다.
기술에 매몰되는 건 사실 장기적으로 봤을 때 좋지 않습니다. 어차피 개선된 기술들은 계속 나올 것인데 그때 님도 지금 상사분 입장이 되어야 할 때가 올 것이고 여러 요인들을 생각해야 할 것입니다. 또한 포지션 (FE 개발자)에서 여러 경험을 쌓고 개발 환경의 변화에도 잘 적응하는 사람이 목표여야하지 내가 원하는 기술스택을 반드시 해야하고 그것을 만족시키지 못한다고 무리하게 마이그레이션을 하거나 퇴사를 한다면 나와 꼭 맞는 회사를 찾지 않는 이상 같은 일이 반복될꺼에요.. 그리고 js보다 ts가 개선된 점이 많을 것도 사실입니다. 그 사실을 다른 개발자가 공감하길 바란다면 레거시와 분리된 신규 서비스나 커플링이 거의 없는 서비스를 개발할 때 개발해보겠다고 하고 ts에 대한 러닝커브도 팀원들이 잘 극복할 수 있는 방법 등을 대안으로 제시해야 본인 의견이 먹히지 않을까 싶습니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!