{"id":2142,"date":"2018-11-16T09:33:20","date_gmt":"2018-11-16T09:33:20","guid":{"rendered":"https:\/\/developer.microsoft.com\/en-us\/office\/blogs\/?p=2142"},"modified":"2025-02-25T10:27:29","modified_gmt":"2025-02-25T18:27:29","slug":"mvp-article-how-i-joined-the-pnp-core-team","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/mvp-article-how-i-joined-the-pnp-core-team\/","title":{"rendered":"MVP Article &#8211; How I joined the PnP Core Team?"},"content":{"rendered":"<p>Two years ago I decided to be more active in the PnP community and set new goals at least one contribution a month to get to the <a href=\"https:\/\/developer.microsoft.com\/en-us\/sharepoint\/blogs\/sharepoint-development-community-pnp-november-2018-update\/\">SharePoint Dev community monthly contributors list<\/a>, also I wanted to share my knowledge in my own words the way I\u2019d like to present it. One contribution a month was the initial plan, but I realized that this makes me very satisfied and I increased the contributions from one to four or more for the next few months. Whether is an answer to a question on <a href=\"https:\/\/github.com\/SharePoint\/sp-dev-docs\/issues\">GitHub issue<\/a>, a new <a href=\"https:\/\/github.com\/SharePoint\">PnP sample<\/a> or just fixing a typo in a function description, every drop counts. I enjoy when I answer a question because someone might have spent days in research how to do it as I did of the beginning of my career, but now after years of experience I know the answer and can give him that in seconds. Should that be the purpose of the community?<\/p>\n<p><strong>Do not be afraid to share your ideas the people will like them<\/strong><\/p>\n<p>After few months, I had the confidence to start creating <a href=\"https:\/\/github.com\/SharePoint\/sp-dev-fx-webparts\/tree\/master\/samples\">PnP samples<\/a> with my ideas like \u201c<a href=\"https:\/\/github.com\/SharePoint\/sp-dev-fx-webparts\/tree\/master\/samples\/react-rxjs-event-emitter\">SPFx ReactiveX (RxJs) Event Emitter<\/a>\u201d sample and the \u201c<a href=\"https:\/\/github.com\/SharePoint\/sp-dev-fx-webparts\/tree\/master\/samples\/react-slide-swiper\">SPFx React Slide Swiper<\/a>\u201d sample and I was happy to see that the community founds my samples useful, they ask questions, request new features and improvements. That is very rewarding and keeps you in a good mood.<\/p>\n<p><strong>Doing PnP demos is like a talk with folks in the coffee shop<\/strong><\/p>\n<p>Well, to be honest, I speak a lot and not always the right thing for the context, but I was never very stressed when I had to speak. I have experience and I know that I would not disappoint dramatically, might not be brilliant, but it is not the end of the world. Here is that guy <a href=\"https:\/\/twitter.com\/mediocrebowler\">Patrick Rogers<\/a>, he opens the <a href=\"https:\/\/docs.microsoft.com\/en-us\/sharepoint\/dev\/community\/community#community-calls\">PnP JS SIG call<\/a> and he is always so relaxed, tries to be funny and it creates such a friendly atmosphere like you are on a talk with folks in the coffee shop\u2026 why should I be stressed then? I\u2019d like to be well prepared, so the previous day I did a few dry runs and tried to fit in 15 minutes. Now, time for my demo \u201cHey guys, my name is Velin \u2026\u201d. At this moment the stress is gone and I am focused on my content.<\/p>\n<p><strong>I got even more confidence so I wanted to share my view on code quality<\/strong><\/p>\n<p>In our work we occasionally have to make compromises of the product quality in favors of the deadlines, but the patterns and practices is not a workplace and I realized that is exactly the right place where I can do proper software the way I understand that and show the community how they can improve their web parts using unit tests for example. I read a blog about SPFx unit testing from <a href=\"https:\/\/twitter.com\/eliostruyf\">Elio Struyf<\/a>, another PnP Core team member. Then I started promoting unit tests in every web part. It turned that the people are interested and I got over thirty questions. This opened another door where I can contribute heavily because I have experience in both JavaScript and .NET unit testing. Then I created the \u201c<a href=\"https:\/\/github.com\/SharePoint\/sp-dev-fx-webparts\/tree\/master\/samples\/react-jest-testing\">React Jest Testing<\/a>\u201d sample and it was very well accepted from the community.<\/p>\n<p><strong>The BIG DEAL, the PnP Office 365 CLI and the real power of the community<\/strong><\/p>\n<p>&#8220;<em>The more you know, the more you know you do not know<\/em>&#8221; \u2013 Aristotle<\/p>\n<p>November 2017, <a href=\"https:\/\/twitter.com\/waldekm\">Waldek Mastykarz<\/a> and PnP community introduced the <a href=\"https:\/\/aka.ms\/o365cli\">Office 365 CLI<\/a>. I was impressed with the idea to have one tool for managing Office 365 that runs on Windows, Linux, and MAC. After I reviewed the contribution guidelines, I thought that would be a project of a high quality and lots of potential so I committed my first commands. What happened next is that learned so much from all the contributors that I realized no matter how experienced and professional you are trying to be, in the PnP community there is always an idea or suggestion that gives you a different point of view. That is the meaning of the collective knowledge and for me, this is the real power of the community.<\/p>\n<p><strong>Few hours of contributions a week, every week, resulted in invite from the PnP core team<\/strong><\/p>\n<p>I am not a sprinter, I am a walker I got here with small persistent steps. I have not sacrificed my personal life or family time. For me was a matter of contributions a few hours a week, every week. Those few hours gave me the satisfaction of being helpful and the eager for learning something new. Nearly two years later, I became a Microsoft MVP and that was a great opportunity to be part of the PnP Core Team.<\/p>\n<p><em>Learn, Share, Reuse<\/em><\/p>\n<h2>About the Author<\/h2>\n<p><img decoding=\"async\" class=\"alignnone wp-image-2143 size-full\" style=\"float: left; margin: 10px;\" src=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2018\/11\/velin.jpg\" alt=\"\" width=\"200\" height=\"200\" srcset=\"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2018\/11\/velin.jpg 200w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2018\/11\/velin-150x150.jpg 150w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2018\/11\/velin-24x24.jpg 24w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2018\/11\/velin-48x48.jpg 48w, https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-content\/uploads\/sites\/73\/2018\/11\/velin-96x96.jpg 96w\" sizes=\"(max-width: 200px) 100vw, 200px\" \/><\/p>\n<p><a href=\"https:\/\/twitter.com\/VelinGeorgiev\">Velin<\/a> is a Microsoft Office Development MVP, currently working as a technical architect with a focus on designing SharePoint Online and Office 365 applications. He is a frequent contributor to <a href=\"https:\/\/docs.microsoft.com\/en-us\/sharepoint\/dev\/community\/community\">SharePoint Patterns and Practices (PnP)<\/a> and a member of the SharePoint PnP Core Team where is especially focused on the Office 365 CLI and the SharePoint Framework. He is passionate about good coding practices, automation and in a search of better ways for teamwork that could improve the team collaboration.<\/p>\n<p>You will see him speaking on SharePoint conferences and events. He posts regularly to his blog, <a href=\"https:\/\/blog.velingeorgiev.com\">blog.velingeorgiev.com<\/a>. Tweets from <a href=\"https:\/\/twitter.com\/VelinGeorgiev\">@VelinGeorgiev<\/a> and works on multiple <a href=\"https:\/\/github.com\/VelinGeorgiev\">GitHub<\/a> projects.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<hr \/>\n<p><i>SharePoint Team, Microsoft &#8211; 16th of November 2018<\/i><\/p>\n","protected":false},"excerpt":{"rendered":"<p>MVP Article &#8211; Journey on how contributions for the community will result in different opportunities for anyone who is willing to share their knowledge.<\/p>\n","protected":false},"author":69078,"featured_media":25159,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-2142","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microsoft-365-developer"],"acf":[],"blog_post_summary":"<p>MVP Article &#8211; Journey on how contributions for the community will result in different opportunities for anyone who is willing to share their knowledge.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/2142","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/users\/69078"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/comments?post=2142"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/posts\/2142\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media\/25159"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/media?parent=2142"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/categories?post=2142"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/microsoft365dev\/wp-json\/wp\/v2\/tags?post=2142"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}