23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
안녕하세요, 데보션 영 2기 404 팀입니다.
저희 조는 이번에 전문가를 만나다라는 주제로 데보션 전문가이신 스카이님과 같이 이야기를 나누는 시간을 가졌습니다.
스카이님은 4년간 서버 개발자로 근무하신 후 2013년부터 지금까지 약 10년간 프론트엔드 개발을 하고 계십니다.
여러 회사들을 거쳐 지금은 에이닷에서 프론트엔드 개발 업무를 담당한다고 하셨어요.
제가 2000년도 초반에 개발할 때에는 프론트엔드나 모바일이라는 분야 자체가 없었어요.
제가 퇴사하고 SKT에 있는 T아카데미라는 곳을 다녔는데요, 그때 처음 프론트엔드 개발자를 만났어요.
그분이 모바일이나 프론트엔드 개발자가 대세가 될 거라는 얘기를 하셨어요.
그리고 프론트엔드 개발을 처음에는 웹 페이지에서 validation을 체크하는 정도로 생각을 했었는데,
웹뷰를 통해서 모바일에서 다양한 기능들을 구현할 수 있고, 또 생각보다 많은 기능들을 구현할 수 있다는 것을 그때 처음 알게되었어요.
저는 서버 개발을 할 때는 단순한 텍스트나 데이터 형태로만 보는 그런 화면을 많이 봤었는데,
프론트엔드는 직접 사용자가 볼 수 있는 화면을 개발하다 보니까 그것 자체가 흥미롭고 매력적으로 다가왔어요.
그래서 이러한 이유로 이참에 바꿔보자 해서 직무를 전환하게 되었어요.
제가 서버 개발을 한지 오래되긴 했지만, 그때 당시를 생각해보면 어떤 스펙에 맞는 데이터베이스 설계라든지 그런 것들이 완벽하게 됐다는 느낌을 받을 때,
그리고 API를 제공할 때 개발이 깔끔하게 됐을 때 좋은 느낌을 받았어요.
개인적으로 설계적인 면에서 잘 됐다라는 느낌을 받았을 때가 가장 좋았던 거 같아요.
프론트엔드 같은 경우에는 사용자가 직접적으로 바로 만날 수 있는 화면을 개발한다는 그런 매력이 있어요.
그리고 아무래도 데이터의 까만 글씨보다는 화려한 프론트엔드 화면이 저는 좋더라고요.
당시에 Microsoft에서 ASP.NET이라는 언어가 있었어요.
제가 2000년대 초반에 개발을 시작했기 때문에 그때는 자바와 ASP.NET이 양대산맥이었어요.
지금은 거의 자바를 많이 하고 있으니까 지금은 거의 사라진 언어가 되긴 했죠.
당시에 SK에서 운영하는 T 아카데미에서 모바일과 프론트엔드 분야에 관련해서 오프라인으로 스터디를 했었어요.
전문가 과정이라는 것인데 약 세 달 동안 기초부터 프로젝트까지 만드는 교육을 받았어요.
그때 안드로이드와 iOS를 해봤는데 개인적으로 웹 개발이 좋았어요.
그래서 모바일은 제쳐두게 됐고 JavaScript를 사용하면 모바일과 PC에서 실행이 가능하니까 그런 부분이 좀 좋게 보이더라고요.
그래서 웹 프론트엔드로 전환하는데에 계기가 됐던 거 같아요.
ChatGPT와 같은 LLM이나 이런 모델 자체를 개발하거나 빅데이터를 이용해서 모델을 개발하거나, 각종 AI 데이터를 다루는 분들도 많이 있는 것으로 알고 있어요.
사실 동료들에게도 무슨 학교를 나왔는지, 무슨 학위인지 묻지는 않아요.
그래서 이거는 알기가 어려울 거 같아요.
아무래도 최근 아이폰에 에이닷을 통한 통화 녹음 기능이 들어간 것이 가장 흥미로웠던 거 같아요.
저도 아이폰을 예전에 썼는데요, 통화 녹음 기능이 정말 꼭 필요하다고 생각을 했거든요.
원래는 애플에서 막았던 부분인데 에이닷에서 기능 런칭이 되면서 여러가지 바이럴도 되고, 사람들한테도 되게 유용하다고 느껴지고,
저 역시도 꼭 필요하다고 기능이었다고 생각해서 개인적으로는 이번에 런칭했을 때가 기뻤던 순간이었던 거 같아요.
물론 제가 그 업무랑은 직접적인 연관은 없지만, 서비스를 같이 하는 개발자의 입장으로서 되게 좋더라고요.
저는 Vue.js와 Nuxt를 많이 사용하고 있어요.
Vue나 React나 마찬가지로 공통되는 코드를 훅이나 여러가지 방법으로 분리해서 관심사를 분리해두면 여러군데 쓸 수 있어서 좋더라고요.
그리고 Props Drilling 현상이 일어나면 Props를 부모 컴포넌트까지 다시 전달하고, 디버깅 하기 어려워서 되게 고통이 따르잖아요, 그 부분을 훅으로 빼서 쓰다보면 저는 편리하더라고요.
물론 다른 방법으로 Teleporting 하는 방법이나 다른 방법도 있긴 하겠지만, 저는 개인적으로 훅으로 분리해서 개발하는 게 더 깔끔하다고 생각해요.
제가 SKT에 입사했을 때 여기는 Vue.js를 쓰고 있어서 Vue.js를 공부해서 쓰게 됐는데, 저는 지금은 Vue.js를 더 선호할 거 같아요.
리액트는 완전히 One-Way Binding 이지만 Vue.js는 Model Binding을 통해서 Two-Way Binding을 해주는 경우가 있어요.
그게 꽤나 유용하기도 하고 예전에는 훅 기능이라든지 이런 게 없었는데, 지금은 생태계가 리액트와 거의 비슷하게 가고 있어요.
Next.js처럼 Nuxt라는 프레임워크도 제공하고 있기 때문에 프로젝트를 해보면 쉽고 빠르게 만들 수 있다는 장점이 있어요.
또 React가 Meta에서 저작권 라이센스를 바꾼다는 그런 이슈가 있어서 Meta를 못믿겠다 그런 이유도 좀 있는 거 같아요.
아무래도 페이지가 가장 빨리 로딩될 수 있게 하는 게 가장 중요하잖아요,
웹 단에서의 최적화라면 사용자에게 가장 빨리 보여줄 수 있게 미리 보이는 화면이라든지 이런 것들을 해주면 좋을 거 같아요.
사실 최적화는 Chrome의 각종 개발자 도구를 사용하면 어디서 느려지고, 느려지게 하는 콜백이 어디서 많이 쌓이고 있는지 등의 느려지게 하는 요인을 다 짚어낼 수 있잖아요,
그런 것들을 하나하나 보면서 하다보면 성능이 좋아지는 거 같아요.
사람 성향마다 조금씩 다른 것 같아요.
백엔드가 재밌다고 생각하시는 분도 있고, 프론트엔드가 재밌다고 생각하시는 분도 있고, 모바일이 좋다고 생각하시는 분도 있기 때문에 자기 취향에 따라 선택하는 게 맞다고 생각해요.
해보지 않으면 모를 일이에요.
저라면 조금씩이라도 다양하게 경험을 해보는 게 좋을 것 같아요.
그래야 그 일에 맞는지 알 수 있기 때문이에요.
좋아하는 가수도 노래를 직접 들어봐야 알 수 있는 것처럼 자기에 맞는 일을 찾는 것도 직접 경험을 해봐야 된다고 생각해요.
저는 직접 일을 해본 경험이 많은 사람이 더 좋을 것 같아요.
왜냐하면 어쨌든 와서 바로 업무를 할 수 있으면 그게 좋은 거니까요.
대회 경험이 많은데 실제로 와서 일을 잘 못하면 그건 더 오히려 안 좋을 수 있다고 생각해요.
일을 잘하는 친구들을 봤을 때 자기에게 주어진 일이 아니어도 다른 선배들이 하는 일을 자기가 거들어 주려고 적극적으로 하려고 하는 모습이 좋더라고요.
그리고 아무래도 신입이다 보니까 잘 모르기도 하고 혼도 많이 날 수 있어 가장 자존감이 낮은 시간이잖아요, 그래도 조금 덜 주눅들고 좀 더 성장하려고 노력하는 그런 모습이 좋지 않을까 싶어요.
예를 들어서 코드 리뷰를 하는데 한 줄을 모른다고 하더라도 "제가 이 코드를 잘 모르겠는데,
제가 생각했을 때는 이런 식으로 작동한다고 생각했는데 맞을까요?" 라는 질문을 한다든지의 적극성을 말한 거에요.
저는 역시 개발을 더 잘하는 후배가 좋을 거 같아요.
같이 일해보시면 아시겠지만 신입 분들도 저희에게 배우는 게 많겠지만 저도 사실 신입 분들에게 배우는 게 많고 제가 모르는 것들을 아는 경우가 많아요.
그래서 그런 것들을 고려했을 때 실력이 더 있는 사람이 서로 얻어갈 수 있는 게 많다고 저는 생각해요.
전혀 서로 관심이 없고 그 기술에 전혀 관심이 없는 동료가 있으면 저 역시 성장하지 못하기 때문에 그런 동료가 필요한 거 같아요.
그렇기 때문에 이런 부분에 있어 학생 시절에도 팀이나 친구들과 코드 리뷰를 꾸준히 해보는 경험을 쌓으면서 서로 성장하는 경험을 쌓는 게 중요하다고 생각해요.
단순히 Pull Request를 올리고 나서 리뷰하는 것도 있지만 오프라인으로 만나서 왜 이렇게 설계했는지에 대해서 들으면 좋아요.
디테일하게 리뷰할수록 배울 게 많다고 생각해요.
코드 리뷰를 받는 사람도 배울 게 있지만 리뷰를 하는 사람도 배울 게 많은 것이죠.
주의를 드리고 싶은 건 코드 리뷰를 할 때 상대방이 나를 위해서 시간을 써주고 나 역시 리뷰를 해주는 상대방이 나를 위해서 시간을 써준다는 초점에 맞춰야지 이걸 공격으로 받아들이면 안돼요.
공격으로 받아들인다면 서로 상처받기 때문에 자신의 시간을 써서 나의 코드를 리뷰해주는 것은 감사한 일이다 라는 마음으로 대해야 된다고 생각해요.
즉, 조금 더 나를 위해 시간을 써주는 사람에게 고마워하는 마음을 갖자라는 것이죠.
또한 개발자 자신이 스스로 짠 코드이기 때문에 거기에 대한 집착이 있을 수 밖에 없긴 해요.
그렇지만 딱 내 거다라는 그 마음이 아닌 모두의 코드이고, 서로 공유를 하면서 내 코드가 상대방의 코드도 될 수 있고,
내가 없을 때에도 상대방이 이 코드를 수정할 수 있게 하기 위해서 리뷰가 필요한 것이라 공통의 코드라는 마음을 갖고 있으면 더 좋을 거 같아요.
저는 사실 굉장히 작은 기업부터 시작을 했어요.
정말 사수 한 명 있는 회사에서부터 시작을 해서 전에는 네이버, 지금은 SKT로 오게 됐고요.
물론 한 번에 대기업이나 다른 사람들이 가고 싶어하는 기업에 가면 좋긴 하겠죠.
그런데 그게 아니라 좀 더 자신의 경력이나 경험을 많이 쌓을 수 있는 회사에 가서 실력을 많이 쌓게 되면 자기가 원하는 회사는 반드시 갈 수 있다고 생각해요.
특히 개발자 같은 경우에는 자기가 하는 만큼 공부하고 실력을 쌓는 만큼 반드시 기회는 오는 것 같긴 하거든요.
저 역시 처음 개발자로 시작했을 때 꼭 가고 싶었던 회사들이 있었는데 과연 갈 수 있을까 라고 생각을 했고,
그래도 어쨌든 조금씩 좋은 회사로 이직을 하면서 결국에는 제가 원하는 회사로 이직을 할 수 있게 됐던 것 같아요.
당장 바로 못 가더라도 천천히 하면 언젠가는 갈 수 있다는 생각을 해주셨으면 좋겠어요.
사람마다 다르지만, 새로운 기술을 서비스로 만들면서 익히고 싶을 때, 나만의 서비스를 만들고 싶거나, 그게 잘 돼서 실제로 스타트업을 만들겠다 이런 마인드도 있는 거 같아요.
저 같은 경우에는 주로 새로운 기술을 익히고 싶을 때 했던 거 같아요.
단순 공부로 끝내는 것이 아니라 거창한게 아니어도 새로운 기술을 기반으로 한 작은 프로젝트를 만들어 보는 것이죠.
알고리즘을 해결하는 코딩 테스트의 경우에는 지원하는 분야가 있다면 그 언어로 하고, 그게 아니라면 편한 언어로 하면 될 거 같아요.
만약 스펙을 주면서 구현하라 하는 경우면 백엔드면 백엔드 언어로, 프론트엔드면 프론트엔드 언어로 하는 게 좋아요.
결국 코드를 어떻게 작성하는지 보려는 것이 목적이기 때문이죠.
인터뷰도 인터뷰지만 조원들 모두에게 도움이 너무 많이 되는 대화였던 거 같습니다!
귀한 시간 내주신 스카이 전문가님께 정말 감사합니다!
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.