Nishu Goel은 인도 출신의 저명한 웹 엔지니어이자 Angular 및 웹 기술 분야의 Google Developer Expert입니다. 그녀는 커뮤니티 참여, 경력 계획, 웹 개발을 배울 수 있는 가장 좋은 방법에 관해 이야기해 주었습니다.
Nishu Goel은 인도 출신의 저명한 웹 엔지니어이자 Angular 및 웹 기술 분야의 Google Developer Expert이자 Microsoft Most Valuable Professional입니다. Step Angular Routing (BPB, 2019)과 A Hands-on Guide to Angular (Educative, 2021)의 저자이자 Web Almanac 2021 JavaScript 챕터의 저자입니다. 니슈는 현재 epilot GmbH에서 풀 스택 엔지니어로 일하고 있습니다. 그녀는 커뮤니티 참여, 경력 계획, 웹 개발을 배울 수 있는 가장 좋은 방법에 관해 이야기해 주었습니다.
Monika: 먼저 이야기부터 시작하겠습니다. 개발자가 되어 개발자 커뮤니티에서 적극적으로 활동하게 된 계기는 무엇이었나요?
니슈: 저는 컴퓨터 공학 학사 학위를 취득하고 데이터 구조를 공부했습니다. 그때부터 프로그래밍에 관심을 갖게 되었습니다. 엔지니어링 3년 차에 코드를 통해 솔루션을 제시하는 Microsoft 이미지 컵 내셔널스 경연대회에 참여함으로써 개발자 커뮤니티와의 유대감을 형성할 수 있었습니다. 이 애플리케이션의 아이디어는 지역 학생들, 특히 여학생들에게 교육 기회를 제공하는 것이었습니다. 이 여정에서 참가자와 주최자 등 매우 영감을 주는 사람들을 만났습니다.
2018년에 제 전문 경력이 시작되었고 Angular와 함께 일하기 시작했습니다. Angular는 저를 GDE 프로그램에 연결해 주는 주요 기술이 되었습니다. 이와 동시에 블로그 게시물을 작성하고 공부하고 배우고 있는 주제와 관련된 콘텐츠를 만들기 시작했습니다 . 다난제이 쿠마르는 이 여정을 시작하는 데 도움을 주었고 순조로운 진행을 돕는 데 도움을 주었습니다. 저의 첫 번째 기사에서는 Angular의 기본에 대해 다뤘습니다. 이벤트에서 강연을 시작한 지 얼마 안 되어 첫 번째는 네팔의 Angular 컨퍼런스인 ngNepal이었습니다. 이로 인해 Angular 및 웹 기술에 대해 더 많은 강연이 참여하게 되었습니다.
Monika: 기술적으로 어떤 전문 경력을 쌓으셨나요?
니슈: 처음 2년 동안은 Angular 및 웹 구성요소에 관한 것이었습니다. 웹 빌드에 Angular를 사용 중이었는데 곧 그 이상을 넘어 다른 분야를 탐색하기로 마음먹었습니다. 프로젝트를 전환해야 할 경우를 대비해 제 자신을 제한하고 싶지 않았습니다. 그래서 Angular에서 다른 프레임워크에서 사용할 웹 구성 요소를 만들기 시작했습니다.
가장 먼저 한 일은 Angular를 사용하여 웹 구성 요소를 만드는 것이었습니다. npm에 게시하고 React 프로젝트에서 데모로 사용했습니다. 나중에 몇 번의 대담과 프레젠테이션을 통해 이 주제에 대해 논의했습니다. 다음 작업으로는 React와 Typescript가 필요했습니다. 이제 React로 작업했기 때문에 이제 하나의 프레임워크만 사용하는 것이 아니라 일반적으로 웹을 사용하게 되었습니다. 그 당시 저는 웹, 특히 웹 성능에 대해 많은 것을 배웠습니다. 이때 최대 콘텐풀 페인트 (LCP) 또는 콘텐츠가 포함된 첫 페인트 (FCP)에 대해 생각해야 했습니다. 즉, 애플리케이션을 로드하는 데 걸리는 시간이나 페이지를 렌더링하는 최대 시간을 의미합니다. 저는 권장사항을 선택하고 애플리케이션의 성능을 개선하기 위해 노력해 왔습니다.
웹 성능에 관심이 많아서 Web Almanac에 참여하여 JavaScript 챕터를 작성했습니다. 웹 연감은 일반적인 웹 상태에 대한 연례 보고서로, 사람들이 다양한 기능을 어떻게 사용하고 있는지 알려줍니다. 작년에는 860만 개의 웹사이트가 검사되었고 데이터를 분석하여 보고서에 제시했습니다. 보고서에는 <script>
요소의 async
및 defer
속성 사용과 같은 통계가 포함됩니다. 2020년 대비 올바르게 사용하고 있는 웹사이트 수, 아예 사용하지 않는 웹사이트 수, 개선한 웹사이트 수 지난 Web Almanac 보고서에서는 웹사이트의 약 35% 가 동일한 스크립트에 두 가지 속성을 사용했으며 이는 안티패턴이므로 성능이 저하되었다고 언급했습니다. 작년에 지적된 사항 중 올해는 상황이 개선되었는지 확인하려고 노력했습니다. 또한 ngConf와 Reliable Dev Summit에서 강연을 하기도 했고, 이 자리에서는 웹 성능에 초점을 맞췄습니다.
Monika: 커뮤니티 사회 환원에도 많은 노력을 기울입니다. 최근 우간다 NGO YIYA와 자원봉사를 하신 적이 있습니다. 어떻게 시작하게 되었으며 이 협력의 주요 목적은 무엇이었나요?
니슈: 먼저 GDE팀에서 YIYA의 자원봉사 기회에 관해 알렸습니다. 우간다 NGO는 콘텐츠 준비나 기술 기능에 도움을 줄 엔지니어를 찾고 있었습니다. 이 프로그램은 우간다의 학령기 아동을 지원하고 컴퓨터 또는 교과서가 아닌 기본적인 키패드 전화기와 라디오가 아닌 현지에서 사용할 수 있는 기술을 사용하여 교육 기회를 제공하는 것을 목표로 합니다. 자녀들은 특정 번호로 전화를 걸고 정보를 받고, 더 자세한 정보를 얻기 위해 다른 번호로 전화를 거는 등의 작업을 수행합니다. 이러한 기술은 팬데믹 기간에 더욱 유용해졌습니다.
저는 항상 지역 사회와 지속 가능한 개발 목표에 동참해 왔기 때문에 다시 연락드리기로 했습니다. YIYA팀과 회의한 후 Python 스크립트나 그들이 제기한 버그, 포털 관련 문제에 대한 지원을 제공했습니다. 저희는 짧은 시간 동안 함께 일했습니다.
Monika: 2022년의 계획은 무엇인가요? 특별히 중점을 두고 있는 것이 있나요?
니슈: 이직을 하고 다른 나라로 이주하려고 해요. Golang을 사용해 웹 작업을 전반적으로 수행하면서 사이트 성능을 개선하고 백엔드 작업도 할 것입니다. 웹 성능 영역은 매우 흥미롭고 복잡하며 이해하고 최적화할 것이 많기 때문에 계속해서 자세히 설명하겠습니다. 그렇게 많은 시간을 투자한 지금도 여전히 배울 점이 많습니다. 예를 들어 이미지 리소스에 CDN을 사용하면 앱을 더 빠르게 만드는 데 어떤 도움이 되는지 알고 싶습니다. 웹 성능의 전문가가 되고 싶습니다. 얼마 남지 않았습니다.
Monika: 전문가가 아니었을 때부터 글을 쓰기 시작했다고 말씀하셨는데, 그냥 배운 내용을 쓰고 있다고 하셨죠. 새로 와서 공유할 내용이 없다고 느끼는 개발자에게 어떤 조언을 하고 싶으신가요?
니슈: 글을 쓰기 시작할 때 그렇게 느꼈어요. 이거 내놓으면 안 될 줄 알았는데? 잘못된 것 같은데? 제 글이 독자에게 도움이 되지 않을까 봐 걱정이 되었어요. 하지만 중요한 것은 제 글이 도움이 된다는 점이었어요. 얼마간의 내용을 잊고 다시 전에 쓴 글로 되돌아오곤 합니다. 내용을 적어두는 것은 좋은 생각입니다.
따라서 아무 단계에서나 그냥 쓰도록 하는 것이 좋습니다. 진행 중인 과정의 한 부분만 완료했더라도 적으면서 배울 수 있습니다. 언젠가 알게 된 정보는 아직 모르고 있는 사람들에게도 유용할 수 있습니다. 전문가가 될 필요는 없습니다. 글을 쓰면 도움이 됩니다. 커리어의 어떤 단계에서든 누구나 그렇게 할 수 있습니다.
Monika: 알아야 할 것들을 모두 알고 있기 때문에 방금 무언가를 배운 사람들을 팔로우하는 것이 가장 좋습니다. 전문가가 되면 처음 일 때 어땠는지 기억하기가 어렵습니다. 이제 막 웹 개발을 시작하는 사람에게 도움이 될 만한 조언이 있나요?
니슈: 시작할 때 어떤 프레임워크를 선택해야 할지 묻는 사람이 많지만 저는 정답이 아닌 것 같습니다. 지금 무엇을 배우든 이후 단계에서도 유용하게 쓰일 것입니다. 누구에게나 제한을 버리고 HTML 또는 JavaScript로 시작하라고 권하고 싶습니다. 이렇게 하면 앞으로 수익을 창출할 수 있을 것입니다.
그리고 다가오는 기회를 활용하세요. 저자를 찾는 웹 연감에 대한 정보를 우연히 발견했을 때 이런 일이 일어났어요. 저는 이런 생각이 들었습니다. '흥미로워요. 이게 성능 측면의 모두에게 도움이 될 거야'라고 생각했죠. 그렇게 자바스크립트 챕터의 콘텐츠 책임자가 되었고 6개월 동안 이 장을 작성했습니다. 따라서 기회를 포착하고 열심히 노력하는 것이 중요합니다.
Monika: 일반적인 웹 기술의 미래에 대한 예측이나 아이디어가 있나요? 다음 화제는 무엇일까요? 앞으로 무엇이 빠르게 성장할까요?
니슈: 이제 브라우저 내에서 서버를 실행할 수 있다는 점이 마음에 듭니다. 이것은 큰 발전입니다. 예를 들어, 최근 브라우저에서 Node.js를 실행하는 기능이 도입되었지만, 과거에는 시스템에 Node.js를 설치하지 않고는 아무것도 실행할 수 없었습니다. 이제 브라우저에서 뭐든지 할 수 있습니다. 이는 웹 생태계에서 커다란 진전을 이루는 것입니다. 그리고 OMT—기본 스레드를 해제합니다. 스레드 관련 작업도 크게 개선될 것입니다. 웹 어셈블리는 발전하고 개발자가 그렇게 할 수 있도록 해주며, 이것이 웹 생태계의 미래라고 생각합니다.