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

니슈 고엘은 인도의 유명 웹 엔지니어이자 Angular 및 웹 기술 분야의 Google Developer Expert입니다. 지역 사회 참여, 진로 계획, 웹 개발을 배울 수 있는 최고의 방법에 대해 이야기해 주셨습니다.

모니카 야노타
모니카 자노타

니슈가 무대에 섰습니다.

니슈 고엘은 인도의 유명 웹 엔지니어, Angular 관련 Google Developer Expert 및 웹 기술, Microsoft Most Valuable Professional입니다. Step by Step Angular Routing (BPB, 2019)과 A Hands-on Guide to Angular (교육, 2021)의 저자이자 Web Almanac 2021 JavaScript 챕터의 저자입니다. 니슈는 현재 epilot GmbH에서 풀 스택 엔지니어로 일하고 있습니다. 지역 사회 참여, 진로 계획, 웹 개발을 배울 수 있는 최고의 방법에 대해 이야기해 주셨습니다.

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

니슈: 저는 컴퓨터 공학 학사 학위를 받고 데이터 구조를 연구했습니다. 그때부터 프로그래밍에 관심이 생겼죠. 엔지니어링 일을 시작한 지 3년째 되는 해에는 코드를 통해 솔루션을 발표한 Microsoft imagine 컵 내셔널스 대회에 참가하여 개발자 커뮤니티와 유대감을 쌓았습니다. 이 애플리케이션의 아이디어는 지역 학생, 특히 여학생들에게 교육 기회를 제공하는 것이었습니다. 이 여정을 함께 하는 참가자이자 조직자 등 정말 영감을 주는 사람들을 만났습니다.

2018년에 제 전문 경력이 시작되었고 Angular를 사용하기 시작했습니다. Angular는 저를 GDE 프로그램에 연결시켜 주는 주요 기술이 되었습니다. 이와 동시에 블로그 게시물을 작성하고 학습하고 있는 주제를 중심으로 콘텐츠를 만들기 시작했습니다 . Dhananjay Kumar는 제가 이 여정을 시작하는 데 도움을 주었고 따라 할 수 있도록 도와주었습니다. 저의 첫 번째 기사에서는 Angular의 기본사항을 다루었습니다. 이벤트에서 연설을 시작한 지 얼마 지나지 않아 첫 번째는 네팔의 Angular 컨퍼런스인 ngNepal이었습니다. 이를 통해 Angular와 웹 기술에 대해 더 많은 발표가 필요하게 되었습니다.

Nishu와 ng-india의 다른 사람들입니다.

모니카: 기술 측면에서 어떤 경험을 하셨나요?

Nishu: 처음 2년은 Angular와 웹 구성요소에 관한 것이었습니다. 저는 웹 빌드를 위해 Angular를 사용하고 있었지만, 곧 그 이상을 넘어 다른 분야를 살펴보기로 결정했습니다. 프로젝트를 전환해야 할 경우를 대비하여 제한하고 싶지 않았습니다. 그래서 Angular에서 다른 프레임워크에서 사용할 웹 구성 요소를 만들기 시작했습니다.

가장 먼저 한 일은 Angular를 사용하여 웹 구성 요소를 생성하는 것이었습니다. npm에 게시하고 React 프로젝트에서 데모로 사용했습니다. 이후에 몇몇 강연과 프레젠테이션에서 이에 대해 논의한 바 있습니다. 다음 작업은 React와 Typescript를 사용해야 합니다. React로 작업하고 있었기 때문에 더 이상 하나의 프레임워크만 사용하는 것이 아니라 전반적인 웹을 사용하게 되었습니다. 그때 저는 웹, 특히 웹 성능에 대해 많은 것을 배웠습니다. 이때 최대 연속 페인트 (LCP) 또는 콘텐츠가 포함된 첫 페인트 (FCP)에 대해 생각해야 했습니다. 즉, 애플리케이션을 로드하는 데 걸리는 시간 또는 페이지 렌더링에 걸리는 최대 시간을 뜻합니다. 권장사항을 선택하고 애플리케이션 성능을 개선하기 위해 노력해 왔습니다.

웹 성능에 대한 관심이 높아짐에 따라 웹 연감(Web Almanac)에 참여하게 되었고 JavaScript 챕터를 작성하게 되었습니다. 웹 연감은 전반적인 웹 상태에 대한 연례 보고서로, 사람들이 다양한 기능을 어떻게 사용하고 있는지 알려줍니다. 작년에 860만 개의 웹사이트가 검증되었으며, 그 데이터가 분석되어 보고서에 제공되었습니다. 보고서에는 <script> 요소 내 asyncdefer 속성 사용과 같은 통계가 포함됩니다. 2020년과 비교하여 얼마나 많은 웹사이트가 이를 올바르게 사용하고 있는지, 얼마나 많은 웹사이트를 전혀 사용하지 않고 있는지, 얼마나 많은 웹사이트가 개선되었는지에 관한 데이터입니다. 이전 웹 연감 보고서에서는 웹사이트의 약 35% 가 동일한 스크립트에서 두 가지 속성을 사용했는데 이는 피해야 할 패턴으로, 성능이 저하되었다고 언급했습니다. 이 점은 작년에 지적된 바 있으며 올해에는 상황이 개선되는지 확인하려고 노력했습니다. 또한 웹 성능에 초점을 맞춘 ngConf 및 Reliable Dev Summit에서 강연을 했습니다.

웹 연감 인쇄판.

모니카: 지역 사회에 공헌하는 데도 적극적으로 참여하셨습니다. 최근에는 우간다 NGO YIYA에서 자원봉사를 했습니다. 어떻게 시작하게 되었으며 이 협력의 핵심은 무엇이었나요?

니슈: GDE팀에서 YIYA의 자원봉사 기회를 알려준 것으로 시작되었습니다. 우간다 NGO는 콘텐츠 준비나 기술적 기능을 지원할 엔지니어를 찾고 있었습니다. 이 프로그램의 목표는 우간다의 취학 연령 아동에게 컴퓨터 또는 교과서가 아닌 기본적인 키패드 전화와 라디오가 아닌 현지에서 사용할 수 있는 기술을 사용하여 교육 기회를 제공하는 것입니다. 아이들은 특정 번호로 전화를 걸어 일련의 정보를 받고, 더 많은 정보를 얻기 위해 다른 번호로 전화를 거는 식입니다. 팬데믹 기간에 이 기능은 더욱 유용해졌습니다.

항상 커뮤니티와 지속 가능한 개발 목표에 참여해 왔기 때문에 크리에이터님에게 연락하기로 했습니다. YIYA팀과의 회의 후 Python 스크립트나 발생하는 버그, 포털 관련 문제에 대한 도움을 주었습니다. 함께 짧은 시간 동안 함께 작업했습니다.

모니카: 2022년을 어떻게 계획하시나요? 특히 중점을 두고 있는 부분이 있나요?

니슈: 직업을 바꾸어 다른 나라로 이사할 예정입니다. 저는 전반적인 웹에서 사이트 성능을 개선하고, 백엔드에서도 Golang을 사용해 작업할 예정입니다. 웹 성능 영역은 매우 흥미롭고 복잡하며 이해하고 최적화할 사항이 많기 때문에 계속해서 중점을 두겠습니다. 많은 시간을 투자했는데도 아직도 배워야 할 내용이 많습니다. 예를 들어 이미지 리소스에 CDN을 사용하면 앱을 더 빠르게 만드는 데 어떻게 도움이 되는지 알고 싶습니다. 저는 웹 성능의 전문가가 되고 싶어요. 점차 그 수준에 가까워지고 있습니다. :)

모니카: 전문가가 아니었을 때 글쓰기를 시작했다고 말씀하셨는데, 그냥 배우는 내용일 뿐이라고 말씀하셨습니다. 새로 진입하여 공유할 것이 없다고 느끼는 신규 개발자에게 어떤 조언을 하고 싶으신가요?

니슈: 글을 쓰기 시작했을 때 제가 느끼는 감정이 바로 그런 느낌이었습니다. 이렇게 하면 안 될까? 어쩌면 틀린 것일 수도 있습니다. 제 글이 독자들에게 도움이 되지 않을까 걱정했습니다. 하지만 중요한 것은 저의 글이 저에게 도움이 되었다는 사실입니다. 시간이 지나면 잊어버리고 앞서 쓴 글로 되돌아갈 것 같습니다. 내용을 적는 것은 좋은 생각입니다.

테이블 위에 Angular Routing이라는 책입니다.

어떤 단계에서든지 글을 쓰시길 권해 드립니다. 과정의 한 부분만 완료했다고 해도 적혀서 배우는 것입니다. 언젠가 알게 된 정보가 아직 모르는 사람들에게도 유용할 수 있습니다. 전문가가 될 필요는 없습니다. 글쓰기가 도움이 될 것입니다. 그리고 커리어의 모든 단계에서 누구나.

모니카: 알아야 할 모든 것을 알고 있으므로 방금 무언가를 배운 사람들을 팔로우하는 것이 가장 좋습니다. 전문가가 되면 어렸을 때 어땠는지 기억하기가 어렵습니다. 이제 막 웹 개발을 시작한 사람에게 조언이 있으세요?

니슈: 시작할 때 어떤 프레임워크를 선택해야 하는지 궁금해 하시는 분들이 많지만 제 생각에는 정답이 아닙니다. 어떤 시점에서든 학습한 내용은 이후 단계에서도 유용합니다. 이러한 제한을 없애고 앞으로 수익을 올릴 수 있는 HTML이나 자바스크립트로 시작하는 것이 좋습니다.

그런 다음 오는 기회를 잡으세요. 저자를 찾는 웹 연감에 관한 정보를 우연히 발견하게 되었습니다. '흥미롭군요. 성능 면에서 모두에게 도움이 될 것 같네요.'라는 생각이 들었습니다. 그래서 JavaScript 챕터의 콘텐츠 리드가 되었고, 6개월 동안 이 챕터를 집필했습니다. 기회를 잡고 열심히 일하는 것이 중요하다고 생각합니다.

모니카: 웹 기술의 미래에 대해 전반적으로 예상하거나 아이디어가 있나요? 다음으로 화제가 될 주제는 무엇인가? 무엇이 빠르게 성장할 것인가?

니슈: 이제 브라우저 내에서 서버를 실행할 수 있다는 점이 마음에 듭니다. 이는 큰 발전입니다. 예를 들어, 브라우저에서 Node.js를 실행하는 기능이 최근에 도입되었지만, 과거에는 시스템에 Node.js를 설치하지 않으면 아무것도 실행할 수 없었습니다. 이제 브라우저에서 모든 작업을 할 수 있습니다. 이는 웹 생태계에서 큰 발전을 이룬 것입니다. OMT는 메인 스레드를 벗어납니다. 스레드 작업도 크게 개선될 것입니다. Web Assembly는 발전하고 있고 개발자는 이를 가능하게 하는데, 이는 웹 생태계의 미래라고 생각합니다.