GDE 커뮤니티 하이라이트: Nishu Goel

니슈 고엘은 인도의 저명한 웹 엔지니어이자 Angular 및 웹 기술 분야의 Google 개발자 전문가입니다. 커뮤니티 참여, 커리어 계획, 웹 개발을 배우는 가장 좋은 방법에 대해 이야기해 주었습니다.

Monika Janota
Monika Janota

무대에 있는 니슈

니슈 고엘은 인도의 저명한 웹 엔지니어이자 Angular 및 웹 기술 분야의 Google 개발자 전문가, Microsoft Most Valuable Professional입니다. Step by Step Angular Routing (BPB, 2019), A Hands-on Guide to Angular (Educative, 2021)의 저자이자 Web Almanac 2021 JavaScript 챕터의 저자입니다. 니슈는 현재 epilot GmbH에서 풀 스택 엔지니어로 근무하고 있습니다. 커뮤니티 참여, 커리어 계획, 웹 개발을 배우는 가장 좋은 방법에 대해 이야기해 주었습니다.

Monika: 먼저 고객님의 이야기를 들려주세요. 개발자가 되어 개발자 커뮤니티에서 적극적인 역할을 하게 된 계기는 무엇인가요?

니슈: 컴퓨터 공학 학사 학위를 받았습니다. 데이터 구조를 공부하면서 프로그래밍에 관심을 갖게 되었습니다. 3학년 때 Microsoft Imagine Cup Nationals 대회에 참가하여 코드를 통해 솔루션을 발표하면서 개발자 커뮤니티와 소통하게 되었습니다. 이 애플리케이션은 현지 학생, 특히 여학생에게 교육 기회를 제공하기 위해 개발되었습니다. 이 여정에서 참가자와 주최자 모두 매우 고무적인 사람들을 만났습니다.

2018년에 전문적인 경력이 시작되었고 Angular로 작업하기 시작했습니다. Angular는 저를 GDE 프로그램에 연결해 준 기본 기술이 되었습니다. 그 무렵에 저는 공부하고 있는 주제에 관한 블로그 게시물을 작성하고 콘텐츠를 만들기 시작했습니다 . Dhananjay Kumar님이 이 여정을 시작하는 데 도움을 주고 계속해서 궤도에 맞춰 주었습니다. 첫 번째 기사에서는 Angular의 기본사항을 다뤘습니다. 얼마 후부터 행사에서 강연을 시작했습니다. 첫 번째 행사는 네팔의 Angular 컨퍼런스인 ngNepal이었습니다. 그 결과 Angular 및 웹 기술에 관한 강연 초대가 늘어났습니다.

니슈님과 ng-india의 다른 사용자

Monika: 기술 관련 전문 경험이 있으신가요?

Nishu: 처음 2년 동안은 Angular와 웹 구성요소에 관한 내용이었습니다. 웹을 빌드하는 데 Angular를 사용하고 있었지만 곧 그 이상으로 나아가 다른 분야를 탐색하기로 결정했습니다. 프로젝트를 전환해야 할 경우를 대비해 제 자신을 제한하고 싶지 않았습니다. 그래서 다른 프레임워크에서 사용할 웹 구성요소를 Angular에서 만들기 시작했습니다.

먼저 Angular를 사용하여 웹 구성요소를 만들었습니다. npm에 게시하고 React 프로젝트에서 데모로 사용했습니다. 이 내용은 나중에 몇몇 강의와 프레젠테이션에서 다루었습니다. 다음 작업에서는 React와 Typescript를 사용해야 했습니다. 이제 React를 사용하고 있었기 때문에 더 이상 하나의 프레임워크만 사용하는 것이 아니라 웹 전체를 사용하고 있었습니다. 그때 웹, 특히 웹 성능에 대해 많은 것을 배웠습니다. 이때 애플리케이션을 로드하는 데 걸리는 시간 또는 페이지가 렌더링되는 데 걸리는 최대 시간을 나타내는 최대 콘텐츠 렌더링 시간 (LCP) 또는 최초 콘텐츠 렌더링 시간 (FCP)에 대해 생각해야 했습니다. 권장사항을 선택하고 애플리케이션의 성능을 개선하기 위해 노력하고 있습니다.

웹 성능에 대한 관심으로 인해 웹 연감에 참여하여 JavaScript 챕터를 작성했습니다. 웹 연감은 전반적인 웹 상태에 관한 연례 보고서로, 사용자가 다양한 기능을 사용하는 방식을 알려줍니다. 작년에 860만 개의 웹사이트를 선별하여 데이터를 분석하고 보고서에 제시했습니다. 보고서에는 <script> 요소의 asyncdefer 속성 사용과 같은 통계가 포함됩니다. 올바르게 사용 중인 웹사이트 수, 전혀 사용하지 않는 웹사이트 수, 2020년 대비 개선된 웹사이트 수를 확인할 수 있습니다. 지난 웹 연감 보고서에 따르면 웹사이트의 약 35% 가 동일한 스크립트에 두 개의 속성을 사용했으며, 이는 성능을 저하시키는 역패턴이었습니다. 이 문제는 작년에 지적되었으며 올해는 상황이 개선되었는지 확인해 보았습니다. ngConf 및 Reliable Dev Summit에서도 웹 성능에 중점을 두고 발표했습니다.

웹 연감의 인쇄판입니다.

Monika: 지역사회에 기여하는 활동에도 적극적으로 참여하고 계신 것으로 알고 있습니다. 최근에 우간다 NGO YIYA에서 자원봉사를 하고 계신데, 어떻게 시작되었으며 협업의 주요 내용은 무엇인가요?

니슈: GDE팀에서 YIYA와 함께하는 자원봉사 기회를 알려주면서 시작되었습니다. 우간다 NGO는 콘텐츠 준비 또는 기술적 기능을 지원해 줄 엔지니어를 찾고 있었습니다. 이 프로그램은 우간다의 학교에 다니는 아동에게 힘을 실어주고 컴퓨터나 교과서가 아닌 기본 키패드 전화와 라디오와 같은 현지에서 사용 가능한 기술을 활용한 교육 기회를 제공하는 것을 목표로 합니다. 아이들은 특정 번호를 누르고 일련의 정보를 받은 후 더 많은 정보를 얻기 위해 다른 번호를 누르고, 이런 식으로 계속 진행합니다. 팬데믹 기간 동안에는 더욱 유용했습니다.

저는 항상 지역사회와 지속 가능한 개발 목표에 참여해 왔기 때문에 연락을 드렸습니다. YIYA팀과 회의한 후 Python 스크립트 또는 포털과 관련된 문제나 버그와 관련하여 도움을 제공했습니다. 잠시 동안 함께 일했습니다.

Monika: 2022년 계획은 무엇인가요? 특별히 중점을 두고 있는 부분이 있나요?

니슈: 직장을 옮기고 다른 국가로 이사합니다. 저는 웹 전반에서 사이트 성능을 개선하고 Golang을 사용하여 백엔드에서 작업할 예정입니다. 웹 성능은 매우 흥미롭고 복잡하며 이해하고 최적화할 부분이 많으므로 계속해서 이 분야에 집중할 예정입니다. 많은 시간을 할애했지만 아직 배워야 할 것이 많습니다. 예를 들어 이미지 리소스에 CDN을 사용하면 앱을 더 빠르게 만드는 데 어떻게 도움이 되는지 알고 싶습니다. 웹 성능 전문가가 되고 싶습니다. 점점 그 목표에 가까워지고 있다고 생각합니다. :)

Monika: 전문가가 아니었을 때 글을 쓰기 시작했고, 배운 내용을 그저 글로 옮겼다고 하셨습니다. 공유할 것이 없다고 생각하는 신규 개발자에게 어떤 조언을 하시겠어요?

니슈: 저도 글을 쓰기 시작했을 때 똑같은 기분이었습니다. 이 내용을 게시하지 말아야 할까요? 잘못된 정보일 수도 있나요? 제 글이 독자에게 도움이 되지 않을까 걱정했습니다. 하지만 중요한 것은 글쓰기가 도움이 되었다는 점입니다. 시간이 지나면 내용을 잊어버리곤 했는데, 이전에 쓴 내용을 다시 살펴보곤 했습니다. 생각을 적어두는 것이 좋습니다.

테이블에 놓인 Angular 라우팅 책

따라서 모든 단계에서 글을 쓰는 것이 좋습니다. 수강 중인 과정의 일부만 완료했더라도 필기하면서 학습할 수 있습니다. 내가 알고 있는 정보가 아직 모르는 다른 사용자에게 유용할 수 있습니다. 전문가가 아니어도 됩니다. 글을 쓰면 도움이 됩니다. 그리고 경력의 어느 단계에 있든 누구나

Monika: 방금 무언가를 배운 사람을 팔로우하는 것이 가장 좋습니다. 알아야 할 모든 것을 알고 있기 때문입니다. 전문가가 되면 초보 시절을 기억하기가 어렵습니다. 웹 개발을 막 시작하는 사람에게 조언을 해주실 수 있을까요?

니슈: 많은 사람들이 시작할 때 어떤 프레임워크를 선택해야 하는지 묻지만, 저는 이것이 올바른 질문이 아니라고 생각합니다. 어느 시점에서든 배우는 내용은 나중에도 유용해야 합니다. 제한사항을 잊고 HTML 또는 JavaScript로 시작하는 것이 좋습니다. 향후 수익을 올릴 수 있을 것입니다.

그리고 기회가 있을 때마다 잡으세요. 저자를 찾다가 웹 연감에 대한 정보를 우연히 발견한 적이 있습니다. '이거 흥미롭네. 성능 측면에서 모든 사람에게 도움이 될 수 있겠어'라고 생각했습니다. 그렇게 해서 JavaScript 챕터의 콘텐츠 책임자가 되었고 6개월 동안 챕터를 작성했습니다. 기회를 잡고 열심히 일하는 것이 중요하다고 생각합니다.

Monika: 웹 기술의 미래에 관한 예측이나 아이디어가 있으신가요? 다음으로 인기 있는 주제는 무엇일까요? 어떤 분야가 빠르게 성장할까요?

니슈: 이제 브라우저 내에서 서버를 실행할 수 있다는 점이 마음에 듭니다. 큰 발전입니다. 예를 들어 최근에는 브라우저에서 Node.js를 실행할 수 있게 되었습니다. 이전에는 시스템에 Node.js가 설치되어 있지 않으면 아무것도 실행할 수 없었습니다. 이제 브라우저에서 무엇이든 할 수 있습니다. 이는 웹 생태계의 큰 발전입니다. 그리고 OMT(기본 스레드 외부)가 있습니다. 스레드 작업도 훨씬 개선될 예정입니다. 웹 어셈블리는 개발자가 이를 실행할 수 있도록 지원하며, 이것이 웹 생태계의 미래라고 생각합니다.