Category Archives: Google Developers Blog

News and insights on Google platforms, tools and events

Google OAuth incremental authorization improvement

Posted by Vikrant Rana, Product Manager, and Badi Azad, Group Product Manager

Summary

Google Identity strives to be the best stewards for Google Account users who entrust us to protect their data. At the same time, we want to help our developer community build apps that give users amazing experiences. Together, Google and developers can provide users three important ways to manage sharing their data:

  1. Give users control in deciding who has access to their account data
  2. Make it easier and safer for users to share their Google Account data with your app when they choose to do so
  3. Make it clear to users the specific data they are sharing with apps

What we are doing today

In service of that stewardship, today we are announcing an OAuth consent experience that simplifies how users can share data with apps. This experience also improves the consent conversion for apps that use incremental authorization, which requests only one scope. Users can now easily share this kind of request with a single tap.

Screenshot compares the previous screen and the new screen you see when Example app wants to access your account

Previous Screen                                               New Screen

A quick recap

Let’s summarize a few past improvements so you have a full picture of the work we have been doing on the OAuth consent flow.

In mid-2019, we significantly overhauled the consent screen to give users fine-grained control over the account data they chose to share with a given app. In that flow, when an app requested access to multiple Google resources, the user would see one screen for each scope.

In July 2021, we consolidated these multiple-permission requests into a single screen, while still allowing granular data sharing control for users. Our change today represents a continuation of improvements on that experience.

Screenshot that shows the option to select what Example app can access

The Identity team will continue to gather feedback and further enhance the overall user experience around Google Identity Services and sharing account data.

What do developers need to do?

There is no change you need to make to your app. However, we recommend using incremental authorization and requesting only one resource at the time your app needs it. We believe that doing this will make your account data request more relevant to the user and therefore improve the consent conversion. Read more about incremental authorization in our developer guides.

If your app requires multiple resources at once, make sure it can handle partial consent gracefully and reduce its functionality appropriately as per the OAuth 2.0 policy.

Related content

What is Google’s Dev Library––a new open-source platform for developers

Banner showing the DevLibrary logo

Developers worldwide are creating open-source tools and tutorials; however, they have difficulty getting them discovered. The content published often spanned on many different sites—from GitHub to Medium. Therefore Google decided to create a space where the best projects related to Google technologies can be highlighted in one place—introducing the Dev Library, a curated archive of projects and articles built specifically using Google technologies.

Dev Library as a platform showcases blog posts and open source tools with easy-to-use navigation for these product areas: Machine Learning, Flutter, Firebase, Angular, Cloud, and Android.

What makes the Dev Library unique?

Not all the articles or projects submitted by you, get on the site! A team of Google experts look for accuracy and relevancy in each featured piece, so you know when you view the content on the site, it has the stamp of approval from Google.

How does it help me?

Visibility. Developers can have a hard time promoting and publicizing their learnings, despite extensive expertise. Dev Library is one such way to reach out to the world and say, "Hey! I have created this amazing project. Would you like to check it out"?

In addition, you also get to network with fellow contributors who are also using the Dev Library to showcase their projects.

To celebrate the efforts of our contributors, we created dedicated author pages for each person, allowing them to collate their projects in one place.

What content can I expect to see on the Dev Library?
To demonstrate the breadth of content on the site, here are some examples of published content pieces and video interviews with the developers who authored these posts:

What is the end goal?

Developers who know how to write well. Often we have witnessed developers with an entire portfolio of projects and knowledge bombs, still struggling to get it out there. But we need more developers writing about their work. Their struggles. Their code blocks. How their project was built up. And much more.

With the Dev Library, we somehow want to bring in that difference.

Upskill more developers to write well, market better, and reach out to a global audience waiting for long-form answers!

How can I support the Dev Library?
There are two ways you can help us grow the Developer Library:

  1. If you have great content that you would like to see published on the Dev Library, please submit it for review here.
  2. The team welcomes feedback, so if you have anything you’d like to see added or changed on the Dev Library site, please complete this short feedback form or file an issue on GitHub.

We can’t wait to receive your submissions and feedback!

Let Dev Library bring to you an amazing place to submit your open-source work.

Next ‘21: Must-see Google Workspace sessions for developers and creators

Posted by Charles Maxson, Developer Advocate

Banner image that shows the Google Workspace logo

Google Workspace offers a broad set of tools and capabilities that empowers creators and developers of all experience levels to build a wide range of custom productivity solutions. For professional developers looking to integrate their own app experiences into Workspace, the platform enables deep integrations with frameworks like Google Workspace Add-ons and Chat apps, as well as deep access to the full suite of Google Workspace apps via numerous REST APIs. And for citizen developers on the business side or developers looking to build solutions quickly and easily, tools like Apps Script and AppSheet make it simple to customize, extend, and automate workflows directly within Google Workspace.

At Next ‘21 we have 7 sessions you won’t want to miss that cover the breadth of the platform. From no-code and low-code solutions to content for developers looking to publish in the Google Workspace Marketplace and reach the more than 3 billion users in Workspace, Next ‘21 has something for everyone.

1. See what’s new in Google Workspace

Matthew Izatt, Product Manager, Google Cloud

Erika Trautman, Director Product Management, Google Cloud

Join us for an interactive demo and see the latest Google Workspace innovations in action. As the needs of our users shifted over the past year, we’ve delivered entirely new experiences to help people connect, create, and collaborate—across Gmail, Drive, Meet, Docs, and the rest of the apps. You’ll see how Google Workspace meets the needs of different types of users with thoughtfully designed experiences that are easy to use and easy to love, Then, we’ll go under the hood to show you the range of ways to build powerful integrations and apps for Google Workspace using tools that span from no-code to professional grade.

2. Developer Platform State of the Union: Google Workspace

Charles Maxson, Developer Advocate, Google Cloud

Steven Bazyl, Developer Relations Engineer, Google Cloud

Google Workspace offers a comprehensive developer platform to support every developer who’s on a journey to customize and enhance Google Workspace. In this session, take a deeper dive into the new tools, technologies, and advances across the Google Workspace developer platform that can help you create even better integrations, extensions, and workflows. We’ll focus on updates for Google Apps Script, Google Workspace Add-ons, Chat apps, APIs, AppSheet, and Google Workspace Marketplace.

3. How Miro, Docusign, Adobe and Atlassian are helping organizations centralize their work

Matt Izatt, Group Product Manager, Google Cloud

David Grabner, Product Lead, Apps & Integrations, Miro

Integrations make Google Workspace the hub for your work and give users more value by bringing all their tools into one space. Our ecosystem allows users to connect industry-leading software and custom-built applications with Google Workspace to centralize important information from the tools you use every day. And integrations are not limited to Gmail, Docs, or your favorite Google apps – they’re also available for Chat. With Chat apps, users can seamlessly blend conversations with automation and timely information to accelerate teamwork directly from within a core communication tool.

In this session, we’ll briefly review the Google Workspace platform and how Miro and Atlassian are helping organizations centralize their work and keep important information a mouse click or a tap away.

4. Learn how customers are empowering their workforce to customize Google Workspace

Charles Maxson, Developer Advocate, Google Cloud

Aspi Havewala, Global Head of Digital Workplace, Verizon

Organizations small and large are seeing their needs grow increasingly diverse as they pursue digital transformation projects. Many of our customers are empowering their workforces by allowing them to build advanced workflows and customizations using Google Apps Script. It’s a powerful low-code development platform included with Google Workspace that makes it fast and easy to build custom business solutions for your favorite Google Workspace applications – from macro automations to custom functions and menus. In this session, we’ll do a quick overview of the Apps Script platform and hear from customers who are using it to enable their organizations.

5. Transform your business operations with no-code apps

Arthur Rallu, Product Manager, Google Cloud

Paula Bell, Business Process Analyst, Kentucky Power Company, American Electric Power

Building business apps has become something anyone can do. Don’t believe us? Join this session to learn how Paula Bell, who self describes as a person with “zero coding experience” built a series of mission-critical apps on AppSheet that revolutionized how Kentucky Power, a branch of American Electric Power, runs their field operations.

6. How AppSheet helps you work smarter with Google Workspace

Mike Procopio, Senior Staff Software Engineer, Google Cloud

Millions of Google Workspace users are looking for new ways to reclaim time and work smarter within Google Workspace. AppSheet, Google Workspace’s first-party extensibility platform, will be announcing several new features that will allow people to automate and customize their work within their Google Workspace environment – all without having to write a line of code.

Join this session to learn how you can use these new features to work smarter in Google Workspace.

7. How to govern an innovative workforce and reduce Shadow IT

Kamila Klimek, Product Manager, Google Cloud

Jacinto Pelayo, Chief Executive Officer, Evenbytes

For organizations focused on growth, finding new ways that employees can use technology to work smarter and innovate is key to their success. But enabling employees to create their own solutions comes at a cost that IT is keenly aware of. The threats of external hacks, data leaks, and shadow IT make it difficult for IT to find a solution that gives them the control and visibility they need, while still empowering their workforce. AppSheet was built with these challenges in mind.

Join our session to learn how you can use AppSheet to effectively govern your workforce and reduce security threats, all while giving employees the tools to make robust, enterprise-grade applications.

To learn more about these sessions and to register, visit the Next ‘21 website and also check out my playlist of Next ‘21 content.

Introducing the Flutter Meetup Network!

Posted by Sarah Fullmer, Program Manager

Image of three blue Flutter birds

The Flutter Meetup Network (FMN) is an international network of Meetup groups united by their enthusiasm for Flutter. The FMN program mission is to foster a thriving worldwide community of Flutter developers by empowering community organizers to educate and inspire local communities with engaging events.

Meetups – and similar developer community groups - are a great resource. As Flutter has grown in popularity over the past few years, over 100 Meetup groups have sprung up organically around the world to celebrate and educate their members about Flutter. The volunteers who run these groups have hosted many awesome events and workshops.

Image of world map showing Flutter Meetup opportunities. Shows 102 groups across 52 countries

We, in the Flutter team, see and appreciate these amazing communities. ? The Flutter Meetup Network (FMN) is now being launched to support these groups officially. Network members will have access to various resources (more details available soon!), making it easier to plan and host Flutter-themed events.

Meetups have many benefits, aside from networking. When stuck on an issue in your current Flutter project, chances are good that you can find a developer in your local Flutter Meetup who has solved a similar problem. Or, maybe they know the perfect package for your needs.

We are thrilled to support our amazing and passionate organizers and can’t wait to see what the Flutter Meetup Network does moving forward.

Join a Meetup near you! https://www.meetup.com/pro/flutter

You’re invited to the Google Smart Home Developer Summit

Posted by Toni Klopfenstein, Developer Relations Engineer

Google Smart Home Developer Summit

Today there are over 276 million smart home households globally, and the industry continues to see rapid growth every year. Users have never been more comfortable bringing home new smart home devices — but they also continue to expect more from their devices, and their smart homes. To meet and exceed these expectations, we want to make sure developers have the tools and support to build their best experience across the Google Home app, Nest, Android, and Assistant.

That’s why we’re excited to announce the return of the Google Smart Home Developer Summit on October 21, 2021! This year’s event is free to join, fully virtual and will be hosted on our website with broadcast times available for our developer communities in the AMER, EMEA, and APAC regions.

To kick things off, Michele Turner, Senior Director of Product for Google’s Smart Home Ecosystem, will share our vision for the home and preview upcoming tools and features to build your next devices and apps using Matter and Thread — technologies transforming the industry. This will be followed by a developer keynote to dig deeper into announcements, and a round of technical sessions, workshops, and more, hosted by Google's smart home leaders.

Building the best smart home platform means using trusted technology and intelligence to develop your integrations faster, provide tools to drive your innovation, and allow you new paths to growth. We can’t wait to engage with you and share more about how we can lead and grow the smart home together.

You can register for the Google Smart Home Developer Summit 2021 here, and follow along with the event using the tag #GoogleHomeSummit on social media. We hope to see you there!

Mark your calendars: Android Dev Summit, Chrome Dev Summit and Firebase Summit are coming your way in a few weeks!

Posted by the Google Developer Team

Developers: it’s time to start marking your calendars, we’re hard at work on a busy slate of summits coming your way in just a few weeks. Here’s a quick rundown of three summits we just announced this week:

  • Android Dev Summit: October 27-28
  • Chrome Dev Summit: November 3
  • Firebase Summit: November 10

Android Dev Summit is back, October 27-28

Directly from the team who builds Android, the Android Dev Summit returns this year on October 27-28. Join us to hear about the latest updates in Android development, centered on this year’s theme: excellent apps, across devices. We have over 30 sessions on a range of technical Android development topics. Plus, we’ve assembled the team that builds Android to get your burning #AskAndroid questions answered live. Interested in learning more? Be sure to sign up for updates through our Android newsletter here.

Discover, Connect, Inspire at Chrome Dev Summit 2021

The countdown to Chrome Dev Summit 2021 is on — and we can’t wait to share what we have in store. We’ll kick things off on November 3 by sharing the latest product updates in our keynote and hosting a live ask me anything (AMA) with Chrome leaders. You’ll also have the chance to chat live with Googlers and developers around the world, participate in workshops with industry experts, attend interactive learning lounges to consult with engineers in a group setting, and receive personalized support during one-on-one office hours. Everyone can tune into the keynote and AMA, but space is limited for the workshops, office hours, and learning lounges. Request an invite to secure your spot — we’ll see you on November 3!

And follow the Firebase Twitter channel for more updates on Firebase Summit, which will be coming to you on November 10!

How to use App Engine push queues in Flask apps

Posted by Wesley Chun (@wescpy), Developer Advocate, Google Cloud

Banner image that shows the Cloud Task logo

Introduction

Since its original launch in 2008, many of the core Google App Engine services such as Datastore, Memcache, and Blobstore, have matured to become their own standalone products: for example, Cloud Datastore, Cloud Memorystore, and Cloud Storage, respectively. The same is true for App Engine Task Queues with Cloud Tasks. Today's Module 7 episode of Serverless Migration Station reviews how App Engine push tasks work, by adding this feature to an existing App Engine ndb Flask app.

App Engine push queues in Flask apps video

That app is where we left off at the end of Module 1, migrating its web framework from App Engine webapp2 to Flask. The app registers web page visits, creating a Datastore Entity for each. After a new record is created, the ten most recent visits are displayed to the end-user. If the app only shows the latest visits, there is no reason to keep older visits, so the Module 7 exercise adds a push task that deletes all visits older than the oldest one shown. Tasks execute asynchronously outside the normal application flow.

Key updates

The following are the changes being made to the application:

  1. Add use of App Engine Task Queues (taskqueue) API
  2. Determine oldest visit displayed, logging and saving that timestamp
  3. Create task to delete old visits
  4. Update web page template to display timestamp threshold
  5. Log how many and which visits (by Entity ID) are deleted

Except for #4 which occurs in the HTML template file, these updates are reflected in the "diff"s for the main application file:

Screenshot of App Engine push tasks application source code differences

Adding App Engine push tasks application source code differences

With these changes implemented, the web app now shows the end-user which visits will be deleted by the new push task:

Screenshot of VisitMe example showing last ten site visits. A red circle around older visits being deleted

Sample application output

Next steps

To do this exercise yourself, check out our corresponding codelab which leads you step-by-step through the process. You can use this in addition to the video, which can provide guidance. You can also review the push queue documentation for more information. Arriving at a fully-functioning Module 7 app featuring App Engine push tasks sets the stage for migrating it to Cloud Tasks (and Cloud NDB) ahead in Module 8.

All migration modules, their videos (when available), codelab tutorials, and source code, can be found in the migration repo. While the content focuses initially on Python users, we will cover other legacy runtimes soon so stay tuned.

Exploring serverless with a nebulous app: Deploy the same app to App Engine, Cloud Functions, or Cloud Run

Posted by Wesley Chun (@wescpy), Developer Advocate, Google Cloud

Banner image that shows the App Engine, Cloud Functions, and Cloud Run logos

Introduction

Google Cloud offers three distinct ways of running your code or application in a serverless way, each serving different use cases. Google App Engine, our first Cloud product, was created to give users the ability to deploy source-based web applications or mobile backends directly to the cloud without the need of thinking about servers or scaling. Cloud Functions came later for scenarios where you may not have an entire app, great for one-off utility functions or event-driven microservices. Cloud Run is our latest fully-managed serverless product that gives developers the flexibility of containers along with the convenience of serverless.

As all are serverless compute platforms, users recognize they share some similarities along with clear differences, and often, they ask:

  1. How different is deploying code to App Engine, Cloud Functions, or Cloud Run?
  2. Is it challenging to move from one to another if I feel the other may better fit my needs?

We're going to answer these questions today by sharing a unique application with you, one that can be deployed to all three platforms without changing any application code. All of the necessary changes are done in configuration.

More motivation

Another challenge for developers can be trying to learn how to use another Cloud product, such as this request, paraphrased from a user:

  1. I have a Google App Engine app
  2. I want to call the Cloud Translation API from that app

Sounds simple enough. This user went straight to the App Engine and Translation API documentation where they were able to get started with the App Engine Quickstart to get their app up and going, then found the Translation API setup page and started looking into permissions needed to access the API. However, they got stuck at the Identity and Access Management (IAM) page on roles, being overwhelmed at all the options but no clear path forward. In light of this, let's add a third question to preceding pair outlined earlier:

  1. How do you access Cloud APIs from a Cloud serverless platform?
Without knowing what that user was going to build, let's just implement a barebones translator, an "MVP" (minimally viable product) version of a simple "My Google Translate" Python Flask app using the Translation API, one of Google Cloud's AI/ML "building block" APIs. These APIs are backed by pre-trained machine learning models, giving developers with little or no background in AI/ML the ability to leverage the benefits of machine learning with only API calls.

The application

The app consists of a simple web page prompting the user for a phrase to translate from English to Spanish. The translated results along with the original phrase are presented along with an empty form for a follow-up translation if desired. While the majority of this app's deployments are in Python 3, there are still many users working on upgrading from Python 2, so some of those deployments are available to help with migration planning. Taking this into account, this app can be deployed (at least) eight different ways:
  1. Local (or hosted) Flask server (Python 2)
  2. Local (or hosted) Flask server (Python 3)
  3. Google App Engine (Python 2)
  4. Google App Engine (Python 3)
  5. Google Cloud Functions (Python 3)
  6. Google Cloud Run (Python 2 via Docker)
  7. Google Cloud Run (Python 3 via Docker)
  8. Google Cloud Run (Python 3 via Cloud Buildpacks)
The following is a brief glance at the files and which configurations they're for: Screenshot of Nebulous serverless sample app files

Nebulous serverless sample app files

Diving straight into the application, let's look at its primary function, translate():
@app.route('/', methods=['GET', 'POST'])
def translate(gcf_request=None):
local_request = gcf_request if gcf_request else request
text = translated = None
if local_request.method == 'POST':
text = local_request.form['text'].strip()
if text:
data = {
'contents': [text],
'parent': PARENT,
'target_language_code': TARGET[0],
}
rsp = TRANSLATE.translate_text(request=data)
translated = rsp.translations[0].translated_text
context = {
'orig': {'text': text, 'lc': SOURCE},
'trans': {'text': translated, 'lc': TARGET},
}
return render_template('index.html', **context)

Core component (translate()) of sample application


Some key app components:
  • Upon an initial request (GET), an HTML template is rendered featuring a simple form with an empty text field for the text to translate.
  • The form POSTs back to the app, and in this case, grabs the text to translate, sends the request to the Translation API, receives and displays the results to the user along with an empty form for another translation.
  • There is a special "ifdef" for Cloud Functions near the top to receive a request object because a web framework isn't used like you'd have with App Engine or Cloud Run, so Cloud Functions provides one for this reason.
The app runs identically whether running locally or deployed to App Engine, Cloud Functions, or Cloud Run. The magic is all in the configuration. The requirements.txt file* is used in all configurations, whether to install third-party packages locally, or to direct the Cloud Build system to automatically install those libraries during deployment. Beyond requirements.txt, things start to differ:
  1. App Engine has an app.yaml file and possibly an appengine_config.py file.
  2. Cloud Run has either a Dockerfile (Docker) or Procfile (Cloud Buildpacks), and possibly a service.yaml file.
  3. Cloud Functions, the "simplest" of the three, has no configuration outside of a package requirements file (requirements.txt, package.json, etc.).
The following is what you should expect to see after completing one translation request: Screenshot of My Google Translate (1990s Edition) in Incognito Window

"My Google Translate" MVP app (Cloud Run edition)

Next steps

The sample app can be run locally or on your own hosting server, but now you also know how to deploy it to each of Cloud's serverless platforms and what those subtle differences are. You also have a sense of the differences between each platform as well as what it takes to switch from one to another. For example, if your organization is moving to implement containerization into your software development workflow, you can migrate your existing App Engine apps to Cloud Run using Docker or using Cloud Buildpacks if you don't want to think about containers or Dockerfiles. Lastly, you now know how to access Cloud APIs from these platforms. Lastly, you now know how to access Cloud APIs from these platforms.

The user described earlier was overwhelmed at all the IAM roles and options available because this type of detail is required to provide the most security options for accessing Cloud services, but when prototyping, the fastest on-ramp is to use the default service account that comes with Cloud serverless platforms. These help you get that prototype working while allowing you to learn more about IAM roles and required permissions. Once you've progressed far enough to consider deploying to production, you can then follow the best practice of "least privileges" and create your own (user-managed) service accounts with the minimal permissions required so your application functions properly.

To dive in, the code and codelabs (free, self-paced, hands-on tutorials) for each deployment are available in its open source repository. An active Google Cloud billing account is required to deploy this application to each of our serverless platforms even though you can do all of them without incurring charges. More information can be found in the "Cost" section of the repo's README. We hope this sample app teaches you more about the similarities and differences between our plaforms, shows you how you can "shift" applications comfortably between them, and provides a light introduction to another Cloud API. Also check out my colleague's post featuring similar content for Node.js.

GDG NYC members apply their skills to help a local nonprofit reach higher

Posted by Kübra Zengin, Program Manager, Developer Relations

Image of Anna Nerezova and GDG NYC meetup on blog header image that reads GDG NYC members apply their skills to help a local nonprofit reach higher

Google Developer Group (GDG) chapters are in a unique position to help make an impact during a time where many companies and businesses are trying to shift to a digital first world. Perhaps no one knows this better than GDG NYC Lead, Anna Nerezova. Over the past year, she’s seen firsthand just how powerful the GDG NYC community can be when the right opportunity presents itself.

GDG NYC levels up their Google Cloud skills

In the past few years, Anna and other GDG NYC organizers have hosted a number of events focused on learning and sharing Cloud technologies with community members, including Cloud Study Jams and in-person workshops on Machine Learning Cloud-Speech-to-Text, Natural Language Processing, and more. Last year, GDG NYC took Google Cloud learning to the next level with a series of virtual Google Cloud tech talks on understanding BigQuery, Serverless best practices, and Anthos, with speakers from the Google Cloud team.

Image of GDG NYC members watching a speaker give a talk

A GDG NYC speaker session

Thanks to these hands-on workshops, speaker sessions, and technical resources provided by Google, GDG NYC community members are able to upskill in a wide variety of technologies at an accelerated pace, all the while gaining the confidence to put those skills into practice. Beyond gaining new skills, Google Developer Group members are often able to unlock opportunities to make positive impacts in ways they never thought possible. As a GDG Lead, Anna is always on the lookout for opportunities that give community members the chance to apply their skills for a higher purpose.

Building a Positive Planet

Anna identified one such opportunity for her community via Positive Planet US, a local nonprofit dedicated to alleviating global and local poverty through positive entrepreneurship. Positive Planet International, originally formed in France, has helped 11 million people escape poverty across 42 countries in Europe, the Middle East, and Africa since its inception in 1998. Just last year, Positive Planet US was launched in New York City, with a mission to create local and global economic growth in underprivileged communities in the wake of the pandemic.

Anna recognized how the past few years' emphasis on learning and leveraging Google Cloud technology in her GDG chapter could help make a transformative impact on the nonprofit. A partnership wouldn’t just benefit Positive Planet US, it would give community members a chance to apply what they’ve learned, build experience, and give back. Anna and fellow GDG NYC Lead, Ralph Yozzo, worked with Positive Planet US to identify areas of opportunity where GDG NYC members could best apply their skills. With Positive Planet US still needing to build the infrastructure necessary to get up and running, it seemed that there were limitless opportunities for GDG NYC community members to step in and help out.

Volunteers from GDG NYC quickly got to work, building Positive Planet US’ website from the ground up. Google Cloud Platform was used to build out the site’s infrastructure, set up secure payments for donations, launch email campaigns, and more. Applying learnings from a series of AMP Study Jams held by GDG NYC, volunteers implemented the AMP plugin for WordPress to improve user experience and keep the website optimized, all according to Google’s Core Web Vitals and page experience guidelines. Volunteers from GDG NYC have also helped with program management, video creation, social media, and more. No matter the job, the work that volunteers put in makes a real impact and helps drive Positive Planet US’ efforts to make a difference in marginalized communities.

Positive Planet drives community impact

Positive Planet US volunteers are currently working hard to support the nonprofit’s flagship project, the Accelerator Hub for Minority Women Entrepreneurs, launched last year. As part of the program, participants receive personalized coaching from senior executives at Genpact and Capgemini, helping them turn their amazing ideas into thriving businesses. From learning how to grow a business to applying for a business loan, participating women from disadvantaged communities get the tools they need to flourish as entrepreneurs. The 10-week program is running its second cohort now, and aims to support 1,000 women by next year.

Screenshot of participants of Positive Planet US’ second Accelerator Hub Program in a virtual meeting

Some participants of Positive Planet US’ second Accelerator Hub Program

With Positive Planet US’ next cohort for 50 women entrepreneurs starting soon, Anna is working to find coaches of all different skill levels directly from the GDG community. If you’re interested in volunteering with Positive Planet US, click here.

Anna is excited about the ongoing collaboration between Positive Planet US and GDG NYC, and is continuing to identify opportunities for GDG members to give back. And with a new series of Android and Cloud Study Jams on the horizon and DevFest 2021 right around the corner, GDG NYC organizers hope to welcome even more developers into the Google Developer Group community. For more info about GDG NYC’s upcoming events, click here.

Join a Google Developer Group chapter near you here.

From Beginner to Machine Learning Instructor In A Year

Posted by Salim Abid, MENA Regional Lead, Developer Relations

Banner that reads Google Developer Student Clubs, Misr University for Science and Technology (MUST). Includes overhead image of person coding on a laptop

Yara Elkady, Google Developer Student Club (GDSC) Lead, can trace her passion for tech all the way back to a single moment. She was sitting in computer class when her middle school teacher posed a question to the class:

“Did you know that you can create apps and games like the ones that you spend so much time on?”

It was a simple question, but it was enough to plant the seed that would define the trajectory of Yara’s career. Following in the footsteps of so many beginners before her, Yara did a Google search to find out more about creating apps. She didn’t realize it at the time, but Yara had just taken her first steps down the path to becoming a developer.

Knowing that she wanted to pursue tech further, Yara went to college at Misr University for Science and Technology (MUST) in Giza, Egypt to study computer science. In her second year, she had begun reading more about artificial intelligence. Yara was blown away by the potential of training a machine to make decisions on its own. With machine learning, she could pursue more creative ideas that went beyond what was possible with traditional programming. As Yara explains, “It felt like magic”. Still, she felt lost like any beginner interested in AI.

Enter Google Developer Student Clubs

Yara first discovered the GDSC chapter at MUST through her school’s social media page. For the entirety of her second year, Yara attended workshops and saw firsthand how GDSC events could leave an impact on students aspiring to become developers. With help from Google Developer Student Clubs, Yara was able to grow her skills as a developer and connect with peers who shared her interests. At the end of the year, Yara applied to be a Lead so that she could help more students engage with the community. Not too long after, Yara was accepted as a GDSC Lead for the 2020-2021 season!

A classroom of people attend a GDSC MUST speaker session

A GDSC MUST speaker session

As part of becoming a GDSC Lead, Yara enrolled in the MENA DSC Leads Academy to receive hands-on training in various Google technologies. Despite being only the first time the Academy had ever been hosted (both in person and virtually), 100+ Leads from 150 GDSC chapters attended over the course of six weeks. Yara applied to the Machine Learning track and was chosen for the program. During the course, Yara mastered advanced machine learning concepts, including classical ML models, deep learning, data manipulation, and TensorFlow training. She also got to work with other Leads on advanced machine learning projects, helping her gain even more confidence in her ML knowledge.

Soon after passing the program, Yara collaborated with the GDSC Leads she met during the course to host a one-month ML track to pass on the knowledge they had learned to the GDSC community. Through the sessions she hosted, Yara was contacted by BambooGeeks, a startup that creates training opportunities for local tech aspirants to help them become industry-ready. Yara was offered a job as a machine learning instructor, and could now create sessions for the largest audience of trainees she’d ever worked with.

The road to certification

Yara didn’t realize it yet, but even more opportunities were headed her way. She learned from the GDSC MENA program manager that GDSC Leads would have the opportunity to take the TensorFlow Certification exam, if they wished to take it. It wouldn’t be easy, but Yara knew she had all the resources she needed to succeed. She wasted no time and created a study group with other GDSC Leads working to get certified. Together, Yara and her fellow Leads pulled endless all-nighters over the next few months so that they could skill up for the exam and support each other through the arduous study process. They also worked with Elyes Manai, a ML Google Developer Expert, who gave them an overview of the exam and recommended resources that would help them pass.

Thanks to those resources, support from her peers, and tons of hard work, Yara passed the exam and received her TensorFlow certification! And she wasn’t the only one. 11 other MENA GDSC Leads also passed the exam to receive their certifications. Yara and her study partners were the first women in Egypt to be featured in the TensorFlow Certificate Network, and Yara became one of 27 people in Africa to receive the TensorFlow Developer Certificate!

Image of Yara Elkady's TensorFlow Developer Certificate

Yara’s TensorFlow Developer Certificate

When Yara looks back at how she was able to fast track from beginner to certified machine learning developer in just a year, she credits Google Developer Student Clubs with:

  • Offering advanced Machine Learning training
  • Fostering connections with other Leads to host study jams
  • Providing guidance from machine learning GDEs
  • TensorFlow certification exam prep
  • Exposure to opportunities that enabled her to inspire others
  • Endless community support

The truth is, students like Yara make Google Developer Student Clubs special by sharing their knowledge with the community and building a support system with their peers that extends far beyond the classroom.

On the importance of community, Yara says it best:

“Reaching your goals is a much more enjoyable process when you have someone with you on the same journey, to share your ups and downs, and push you to do more when you feel like quitting. Your success becomes their success and that gives more meaning to your accomplishments.”

If you’re a student who is ready to join your own Google Developer Student Club community, find one near you here.