Tag Archives: Google Developers

Celebrate Google’s Coding Competitions with a final round of programming fun

Google’s Coding Competitions at g/co.codingcompetitions.

After 20 years, Google's Coding Competitions come to a close with a final round.

By: The Coding Competitions Team

Remember 2003? Before Chrome, Google Calendar, Android, and YouTube? When we carefully cleaned up our saved emails because GMail and its gigabyte of storage hadn't arrived? Two decades ago – Google launched a global coding competition called Code Jam, which challenged programmers of all levels to test and hone their skills by racing to solve algorithmic problems.

From there, our coding competition lineup continued to grow. Kick Start began as a contest for recent graduates in China and quickly spread around the world. Hash Code, Google's first team-based challenge, started in Europe. And a first-in-class Distributed Code Jam asked participants to build solutions that could scale when run on multiple machines.

Throughout our coding competitions' 20-year history, you've generated billions of lines of code across millions of submissions. You've gone through hundreds of rounds for thousands of problems and put in millions of hours of code execution and testing. Over a million of you from almost every country worldwide have participated — from experienced programmers to students and everyone in between. And now, just as we invited you to our very first round in 2003, we're asking you to join us for one final event as the competitions come to an end.

Join us on Saturday, April 15, 2023 at 2 p.m. UTC as we host four simultaneous online rounds of competition at varying levels of difficulty. Register now to get in on the action.

And to those who've taken part over the years: It's been an honor to learn, succeed, fail, and have fun coding with you. Through the conceptual art, the slides, the gophers, and the absurd number of pancakes, we did it – and we did it together. Thanks for going on this journey with us.

Machine Learning Communities: Q4 ‘22 highlights and achievements

Posted by Nari Yoon, Hee Jung, DevRel Community Manager / Soonson Kwon, DevRel Program Manager

Let’s explore highlights and accomplishments of vast Google Machine Learning communities over the last quarter of 2022. We are enthusiastic and grateful about all the activities by the global network of ML communities. Here are the highlights!


ML at DevFest 2022

A group of ML Developers attending DevFest 2022

A large number of members of ML GDE, TFUG, and 3P ML communities participated in DevFests 2022 worldwide covering various ML topics with Google products. Machine Learning with Jax: Zero to Hero (DevFest Conakry) by ML GDE Yannick Serge Obam Akou (Cameroon) and Easy ML on Google Cloud (DevFest Med) by ML GDE Nathaly Alarcon Torrico (Bolivia) hosted great sessions.

ML Community Summit 2022

A group of ML Developers attending ML Community Summit

ML Community Summit 2022 was hosted on Oct 22-23, 2022, in Bangkok, Thailand. Twenty-five most active community members (ML GDE or TFUG organizer) were invited and shared their past activities and thoughts on Google’s ML products. A video sketch from ML Developer Programs team and a blog posting by ML GDE Margaret Maynard-Reid (United States) help us revisit the moments.

TensorFlow

MAXIM in TensorFlow by ML GDE Sayak Paul (India) shows his implementation of the MAXIM family of models in TensorFlow.

Diagram of gMLP block

gMLP: What it is and how to use it in practice with Tensorflow and Keras? by ML GDE Radostin Cholakov (Bulgaria) demonstrates the state-of-the-art results on NLP and computer vision tasks using a lot less trainable parameters than corresponding Transformer models. He also wrote Differentiable discrete sampling in TensorFlow.

Building Computer Vision Model using TensorFlow: Part 2 by TFUG Pune for the developers who want to deep dive into training an object detection model on Google Colab, inspecting the TF Lite model, and deploying the model on an Android application. ML GDE Nitin Tiwari (India) covered detailed aspects for end-to-end training and deployment of object model detection.

Advent of Code 2022 in pure TensorFlow (days 1-5) by ML GDE Paolo Galeone (Italy) solving the Advent of Code (AoC) puzzles using only TensorFlow. The articles contain a description of the solutions of the Advent of Code puzzles 1-5, in pure TensorFlow.

tf.keras.metrics / tf.keras.optimizers by TFUG Taipei helped people learn the TF libraries. They shared basic concepts and how to use them using Colab.

Screen shot of TensorFlow Lite on Android Project Practical Course
A hands-on course on TensorFlow Lite projects on Android by ML GDE Xiaoxing Wang (China) is the book mainly introducing the application of TensorFlow Lite in Android development. The content focuses on applying three typical ML applications in Android development.

Build tensorflow-lite-select-tf-ops.aar and tensorflow-lite.aar files with Colab by ML GDE George Soloupis (Greece) guides how you can shrink the final size of your Android application’s .apk by building tensorflow-lite-select-tf-ops.aar and tensorflow-lite.aar files without the need of Docker or personal PC environment.

TensorFlow Lite and MediaPipe Application by ML GDE XuHua Hu (China) explains how to use TFLite to deploy an ML model into an application on devices. He shared experiences with developing a motion sensing game with MediaPipe, and how to solve problems that we may meet usually.

Train and Deploy TensorFlow models in Go by ML GDE Paolo Galeone (Italy) delivered the basics of the TensorFlow Go bindings, the limitations, and how the tfgo library simplifies their usage.

Keras

Diagram of feature maps concatenated together and flattened

Complete Guide on Deep Learning Architectures, Chapter 1 on ConvNets by ML GDE Merve Noyan (France) brings you into the theory of ConvNets and shows how it works with Keras.

Hazy Image Restoration Using Keras by ML GDE Soumik Rakshit (India) provides an introduction to building an image restoration model using TensorFlow, Keras, and Weights & Biases. He also shared an article Improving Generative Images with Instructions: Prompt-to-Prompt Image Editing with Cross Attention Control.

Mixed precision in Keras based Stable Diffusion
Let’s Generate Images with Keras based Stable Diffusion by ML GDE Chansung Park (Korea) delivered how to generate images with given text and what stable diffusion is. He also talked about Keras-based stable diffusion, basic building blocks, and the advantages of using Keras-based stable diffusion.

A Deep Dive into Transformers with TensorFlow and Keras: Part 1, Part 2, Part3 by ML GDE Aritra Roy Gosthipaty (India) covered the journey from the intuition of attention to formulating the multi-head self-attention. And TensorFlow port of GroupViT in 🤗 transformers library was his contribution to Hugging Face transformers library.

TFX

Digits + TFX banner

How startups can benefit from TFX by ML GDE Hannes Hapke (United States) explains how the San Francisco-based FinTech startup Digits has benefitted from applying TFX early, how TFX helps Digits grow, and how other startups can benefit from TFX too.

Usha Rengaraju (India) shared TensorFlow Extended (TFX) Tutorials (Part 1, Part 2, Part 3) and the following TF projects: TensorFlow Decision Forests Tutorial and FT Transformer TensorFlow Implementation.

Hyperparameter Tuning and ML Pipeline by ML GDE Chansung Park (Korea) explained hyperparam tuning, why it is important; Introduction to KerasTuner, basic usage; how to visualize hyperparam tuning results with TensorBoard; and integration within ML pipeline with TFX.

JAX/Flax

JAX High-performance ML Research by TFUG Taipei and ML GDE Jerry Wu (Taiwan) introduced JAX and how to start using JAX to solve machine learning problems.

[TensorFlow + TPU] GatedTabTransformer[W&B] and its JAX/Flax counterpart GatedTabTransformer-FLAX[W&B] by Usha Rengaraju (India) are tutorial series containing the implementation of GatedTabTransformer paper in both TensorFlow (TPU) and FLAX.

Putting NeRF on a diet: Semantically consistent Few-Shot View Synthesis Implementation
JAX implementation of Diet NeRf by ML GDE Wan Hong Lau (Singapore) implemented the paper “Putting NeRF on a Diet (DietNeRF)” in JAX/Flax. And he also implemented a JAX-and-Flax training pipeline with the ResNet model in his Kaggle notebook, 🐳HappyWhale🔥Flax/JAX⚡TPU&GPU - ResNet Baseline.

Introduction to JAX with Flax (slides) by ML GDE Phillip Lippe (Netherlands) reviewed from the basics of the requirements we have on a DL framework to what JAX has to offer. Further, he focused on the powerful function-oriented view JAX offers and how Flax allows you to use them in training neural networks.

Screen grab of ML GDE David Cardozo and Cristian Garcia during a live coding session of a review of new features, specifically Shared Arrays, in the recent release of JAX
JAX Streams: Exploring JAX 0.4 by ML GDE David Cardozo (Canada) and Cristian Garcia (Colombia) showed a review of new features (specifically Shared Arrays) in the recent release of JAX and demonstrated live coding.

[LiveCoding] Train ResNet/MNIST with JAX/Flax by ML GDE Qinghua Duan (China) demonstrated how to train ResNet using JAX by writing code online.

Kaggle

Low-light Image Enhancement using MirNetv2 by ML GDE Soumik Rakshit (India) demonstrated the task of Low-light Image Enhancement.

Heart disease Prediction and Diabetes Prediction Competition hosted by TFUG Chandigarh were to familiarize participants with ML problems and find solutions using classification techniques.

TensorFlow User Group Bangalore Sentiment Analysis Kaggle Competition 1
TFUG Bangalore Kaggle Competition - Sentiment Analysis hosted by TFUG Bangalore was to find the best sentiment analysis algorithm. Participants were given a set of training data and asked to submit an ML/DL algorithm that could predict the sentiment of a text. The group also hosted Kaggle Challenge Finale + Vertex AI Session to support the participants and guide them in learning how to use Vertex AI in a workflow.

Cloud AI

Better Hardware Provisioning for ML Experiments on GCP by ML GDE Sayak Paul (India) discussed the pain points of provisioning hardware (especially for ML experiments) and how we can get better provision hardware with code using Vertex AI Workbench instances and Terraform.

Jayesh Sharma, Platform Engineer, Zen ML; MLOps workshop with TensorFlow and Vertex AI November 12, 2022|TensorFlow User Group Chennai
MLOps workshop with TensorFlow and Vertex AI by TFUG Chennai targeted beginners and intermediate-level practitioners to give hands-on experience on the E2E MLOps pipeline with GCP. In the workshop, they shared the various stages of an ML pipeline, the top tools to build a solution, and how to design a workflow using an open-source framework like ZenML.

10 Predictions on the Future of Cloud Computing by 2025: Insights from Google Next Conference by ML GDE Victor Dibia (United States) includes a recap of his notes reflecting on the top 10 cloud technology predictions discussed at the Google Cloud Next 2022 keynote.
Workflow of Google Virtual Career Center
O uso do Vertex AI Matching Engine no Virtual Career Center (VCC) do Google Cloud by ML GDE Rubens Zimbres (Brazil) approaches the use of Vertex AI Matching Engine as part of the Google Cloud Virtual Career Center solution.

More practical time-series model with BQML by ML GDE JeongMin Kwon (Korea) introduced BQML and time-series modeling and showed some practical applications with BQML ARIMA+ and Python implementations.

Vertex AI Forecast - Demand Forecasting with AutoML by ML GDE Rio Kurihara (Japan) presented a time series forecast overview, time series fusion transformers, and the benefits and desired features of AutoML.

Research & Ecosystem

AI in Healthcare by ML GDE Sara EL-ATEIF (Morocco) introduced AI applications in healthcare and the challenges facing AI in its adoption into the health system.

Women in AI APAC finished their journey at ML Paper Reading Club. During 10 weeks, participants gained knowledge on outstanding machine learning research, learned the latest techniques, and understood the notion of “ML research” among ML engineers. See their session here.

A Natural Language Understanding Model LaMDA for Dialogue Applications by ML GDE Jerry Wu (Taiwan) introduced the natural language understanding (NLU) concept and shared the operation mode of LaMDA, model fine-tuning, and measurement indicators.

Python library for Arabic NLP preprocessing (Ruqia) by ML GDE Ruqiya Bin (Saudi Arabia) is her first python library to serve Arabic NLP.

Screengrab of ML GDEs Margaret Maynard-Reid and Akash Nain during Chat with ML GDE Akash
Chat with ML GDE Vikram & Chat with ML GDE Aakash by ML GDE Margaret Maynard-Reid (United States) shared the stories of ML GDEs’ including how they became ML GDE and how they proceeded with their ML projects.

Anatomy of Capstone ML Projects 🫀by ML GDE Sayak Paul (India) discussed working on capstone ML projects that will stay with you throughout your career. He covered various topics ranging from problem selection to tightening up the technical gotchas to presentation. And in Improving as an ML Practitioner he shared his learning from experience in the field working on several aspects.

Screen grab of  statement of objectives in MLOps Development Environment by ML GDE Vinicius Carida
MLOps Development Environment by ML GDE Vinicius Caridá (Brazil) aims to build a full development environment where you can write your own pipelines connecting MLFLow, Airflow, GCP and Streamlit, and build amazing MLOps pipelines to practice your skills.

Transcending Scaling Laws with 0.1% Extra Compute by ML GDE Grigory Sapunov (UK) reviewed a recent Google article on UL2R. And his posting Discovering faster matrix multiplication algorithms with reinforcement learning explained how AlphaTensor works and why it is important.

Back in Person - Prompting, Instructions and the Future of Large Language Models by TFUG Singapore and ML GDE Sam Witteveen (Singapore) and Martin Andrews (Singapore). This event covered recent advances in the field of large language models (LLMs).

ML for Production: The art of MLOps in TensorFlow Ecosystem with GDG Casablanca by TFUG Agadir discussed the motivation behind using MLOps and how it can help organizations automate a lot of pain points in the ML production process. It also covered the tools used in the TensorFlow ecosystem.

Open Source Pass Converter for Mobile Wallets

Posted by Stephen McDonald, Developer Programs Engineer, and Nick Alteen, Technical Writer, Engineering, Wallet

Each of the mobile wallet apps implement their own technical specification for passes that can be saved to the wallet. Pass structure and configuration varies by both the wallet application and the specific type of pass, meaning developers have to build and maintain code bases for each platform.

As part of Developer Relations for Google Wallet, our goal is to make life easier for those who want to integrate passes into their mobile or web applications. Today, we're excited to release the open-source Pass Converter project. The Pass Converter lets you take existing passes for one wallet application, convert them, and make them available in your mobile or web application for another wallet platform.

Moving image of Pass Converter successfully converting an external pkpass file to a Google Wallet pass

The Pass Converter launches with support for Google Wallet and Apple Wallet apps, with plans to add support for others in the future. For example, if you build an event ticket pass for one wallet, you can use the converter to automatically create a pass for another wallet. The following list of pass types are supported for their respective platforms:

  • Event tickets
  • Generic passes
  • Loyalty/Store cards
  • Offers/Coupons
  • Flight/Boarding passes
  • Other transit passes

We designed the Pass Converter with flexibility in mind. The following features provide additional customization to your needs.

  • hints.json file can be provided to the Pass Converter to map Google Wallet pass properties to custom properties in other passes.
  • For pass types that require certificate signatures, you can simply generate the pass structure and hand it off to your existing signing process
  • Since images in Google Wallet passes are referenced by URLs, the Pass Converter can host the images itself, store them in Google Cloud Storage, or send them to another image host you manage.

If you want to quickly test converting different passes, the Pass Converter includes a demo mode where you can load a simple webpage to test converting passes. Later, you can run the tool via the command line to convert existing passes you manage. When you’re ready to automate pass conversion, the tool can be run as a web service within your environment.

The following command provides a demo web page on http://localhost:3000 to test converting passes.

node app.js demo

The next command converts passes locally. If the output path is omitted, the Pass Converter will output JSON to the terminal (for PKPass files, this will be the contents of pass.json).

node app.js <pass input path> <pass output path>

Lastly, the following command runs the Pass Converter as a web service. This service accepts POST requests to the root URL (e.g. https://localhost:3000/) with multipart/form-data encoding. The request body should include a single pass file.

node app.js


Ready to get started? Check out the GitHub repository where you can try converting your own passes. We welcome contributions back to the project as well!

Developer-Powered CTS (CTS-D)

Posted by Sachiyo Sugimoto, Android Partner Engineering

A strength of Android is its diverse ecosystem of devices, brought to market by more than 24K distinct devices, and used by billions of people around the world. Since the early releases of Android, we’ve invested in our Android Compatibility Program as a way to ensure that devices continue to provide a stable, consistent environment for apps.

The Compatibility Test Suite (CTS) is a key part of the program - it is a collection of more than two million test cases that check Android device implementations to ensure developer applications run on a variety of devices and enable a consistent application experience for users.

Device makers run CTS on their devices throughout the development process, and use it to identify and fix bugs early. Over the years we have constantly expanded the suite by adding new test cases, and today CTS includes more than 2 million tests. It is still growing - as Android evolves, there are new areas to cover and there are also gaps where we are constantly working to create additional tests.

While most CTS tests are written by Android engineers, we know that app developers have a unique perspective on actual device compatibility issues. So to enhance CTS with better input from app developers, we are adding a new test suite called CTS-D that is built and run by developers like you.



What is CTS-D?

CTS-D is a new CTS module that is powered by app developers with a focus on pain points that they are seeing in the field. Developers can build and contribute test cases to CTS-D to help catch those issues, and they can run the CTS-D suite to verify compatibility. Longer term, our plan is to work closely with the Android developer community to expand the CTS-D suite.

We know that many of you have already created your own tests to verify compatibility on various devices. We want to work with you to bring those tests into AOSP, and you can see the first tests contributed by the community in the initial CTS-D commit here.

So with CTS-D, we are helping to make those kinds of tests available widely, to help device manufacturers and app developers identify and share issues more effectively.

How is CTS-D used?

CTS-D is open-sourced and available on AOSP, so any app developer can use it as a verification tool. Using CTS-D helps to minimize the communication overhead among app developers, device manufacturers and Google, helping to resolve issues effectively.

If a certain device does not pass a CTS-D test, please report the problem using this issue tracker template. After we verify the issue on the reported device, we will work with our partners to resolve it. We're also strongly advising device manufacturers to use CTS-D to discover and mitigate issues.

Get Started with CTS-D!

If you have an idea for CTS-D, please file a test proposal using this issue tracker template before contributing your test code to AOSP. The Android team will review your proposal and verify your test’s eligibility. We’re currently most interested in adding more test cases in the area of Power Management.

Just like with CTS, new CTS-D test cases must meet eligibility requirements and can only enforce the following:
  1. All public API behaviors that are described in Android developer documentation.
  2. All MUST requirements that are included in Android Compatibility Definition Document (CDD).
  3. Test cases that have not been covered by existing CTS test cases in AOSP
If you are interested in learning more about CTS-D, check out tutorials here on how to contribute to and utilize CTS-D. Note that the review process for new CTS-D test cases can take some time, so thanks for your patience. We hope you will give CTS-D a try soon. Let’s collaboratively make the Android experience even better!

South African developers build web application to help local athletes

Posted by Aniedi Udo-Obong, Sub-Saharan Africa Regional Lead, Google Developer Groups

Lesego Ndlovu and Simon Mokgotlhoa have stayed friends since they were eight years old, trading GameBoy cartridges and playing soccer. They live three houses away from each other in Soweto, the biggest township in South Africa, with over one million residents. The two friends have always been fascinated by technology, and by the time the duo attended university, they wanted to start a business together that would also help their community.

Lesego Ndlovu and Simon Mokgotlhoa sitting at a desk on their computers

After teaching themselves to code and attending Google Developer Groups (GDG) events in Johannesburg, they built a prototype and launched a chapter of their own (GDG Soweto) to teach other new developers how to code and build technology careers.

Building an app to help their community

Lesego and Simon wanted to build an application that would help the talented soccer players in their community get discovered and recruited by professional soccer teams. To do that, they had to learn to code.

Lesego Ndlovu and Simon Mokgotlhoa holding their phones towards the screen showcasing the Ball Talent app

“We always played soccer, and we saw talented players not get discovered, so, given our interest in sports and passion for technology, we wanted to make something that could change that narrative,” Lesego says. “We watched videos on the Chrome Developers YouTube channel and learned HTML, CSS, and JavaScript, but we didn’t know how to make an app, deliver a product, or start a business. Our tech journey became a business journey. We learned about the code as the business grew. It’s been a great journey.”

After many all-nighters learning frontend development using HTML, CSS, and JavaScript, and working on their project, they built BallTalent, a Progressive Web App (PWA), that helps local soccer players in their neighborhood get discovered by professional soccer clubs. They record games in their neighborhood and upload them to the app, so clubs can identify new talent.

“We tested our prototype with people, and it seemed like they really loved it, which pushed us to keep coding and improving on the project,” says Simon. “The application is currently focused on soccer, but it’s built it in a way that it can focus on other sports.”

In 2019, when BallTalent launched, the project placed in the top 5 of one of South Africa’s most prestigious competitions, Diageo Social Tech Startup Challenge. BallTalent has helped local soccer players match with professional teams, benefiting the community. Simon and Lesego plan to release version two soon, with a goal of expanding to other sports.

Learning to code with web technologies and resources

Lesego and Simon chose to watch the Chrome Developers YouTube channel to learn to code, because it was free, accessible, and taught programming in ways that were easy to understand. Preferring to continue to use free Google tools because of their availability and ease of use, Lesego and Simon used Google developer tools on Chrome to build and test the BallTalent app, which is hosted on Google Cloud Platform.

BallTalent Shows Youth Talent to the Worlds Best Scouts and Clubs

They used NodeJS as their backend runtime environment to stay within the Google ecosystem–NodeJS is powered by the V8 JavaScript engine, which is developed by the Chromium Project. They used a service worker codelab from Google to allow users to install the BallTalent PWA and see partial content, even without an internet connection.

We are focused on HTML, CSS, JavaScript, frontend frameworks like Angular, and Cloud tools like Firebase, to be able to equip people with the knowledge of how to set up an application,” says Simon.

Moving gif of soccer players playing on a soccer field

BallTalent shares sample footage of a previous match: Mangaung United Vs Bizana Pondo Chiefs, during the ABC Motsepe Play Offs

“Google has been with us the whole way,” says Simon.

Contributing to the Google Developer community

Because of their enthusiasm for web technologies and positive experience learning to code using Google tools, Lesego and Simon were enthusiastic about joining a Google Developer Community. They became regular members at GDG Johannesburg and went to DevFest South Africa in 2018, where they got inspired to start their own GDG chapter in Soweto. The chapter focuses on frontend development to meet the needs of a largely beginner developer membership and has grown to 500+ members.

Looking forward to continued growth

The duo is now preparing to launch the second version of their BallTalent app, which gives back to their community by pairing local soccer talent with professional teams seeking players. In addition, they’re teaching new developers in their township how to build their own apps, building community and creating opportunities for new developers. Google Developer Groups are local community groups for developers interested in learning new skills, teaching others, and connecting with other developers. We encourage you to join us, and if you’re interested in becoming a GDG organizer like Simon and Lesego, we encourage you to apply.

Experts.Anyone.Anywhere

Posted by Janelle Kuhlman, Developer Relations Program Manager

Click above to meet our community of Experts

The Google Developer Experts program is a global network of highly experienced technology experts, developers and thought leaders. GDEs share their expertise with other developers and tech communities through a variety of ways such as speaking engagements, mentorship and content writing. The community has access to an exclusive network of experts that span across different Google technologies including Android, Cloud, Machine Learning and more.

Get to know our diverse community and subscribe to the Google Developers YouTube Channel to stay informed on the latest updates across our products and platforms!

Finding courage and inspiration in the developer community

Posted by Monika Janota

How do we empower women in tech and equip them with the skills to help them become true leaders? One way is learning from others' successes and failures. Web GDEs—Debbie O'Brien, Julia Miocene, and Glafira Zhur—discuss the value of one to one mentoring and the impact it has made on their own professional and personal development.

A 2019 study showed that only 25% of keynote speakers at tech events are women, meanwhile 70% of female speakers mentioned being the only woman on a conference panel. One way of changing that is by running programs and workshops with the aim of empowering women and providing them with the relevant soft skills training, including public speaking, content creation, and leadership. Among such programs are the Women Developer Academy (WDA) and the Road to GDE, both run by Google's developer communities.

With more than 1000 graduates around the world, WDA is a program run by Women Techmakers for professional IT practitioners. To equip women in tech with speaking and presentation skills, along with confidence and courage, training sessions, workshops, and mentoring meetings are organized. Road to GDE, on the other hand, is a three-month mentoring program created to support people from historically underrepresented groups in tech on their path to becoming experts. What makes both programs special is the fact that they're based on a unique connection between mentor and mentee, direct knowledge sharing, and an individualized approach.

Photo of Julia Miocene speaking at a conference Julia Miocene

Some Web GDE community members have had a chance to be part of the mentoring programs for women as both mentors and mentees. Frontend developers Julia Miocene and Glafira Zhur are relatively new to the GDE program. They became Google Developers Experts in October 2021 and January 2022 respectively, after graduating from the first edition of both the Women Developer Academy and the Road to GDE; whilst Debbie O'Brien has been a member of the community and an active mentor for both programs for several years. They have all shared their experiences with the programs in order to encourage other women in tech to believe in themselves, take a chance, and to become true leaders.

Different paths, one goal

Although all three share an interest in frontend development, each has followed a very different path. Glafira Zhur, now a team leader with 12 years of professional experience, originally planned to become a musician, but decided to follow her other passion instead. A technology fan thanks to her father, she was able to reinstall Windows at the age of 11. Julia Miocene, after more than ten years in product design, was really passionate about CSS. She became a GDE because she wanted to work with Chrome and DevTools. Debbie is a Developer Advocate working in the frontend area, with a strong passion for user experience and performance. For her, mentoring is a way of giving back to the community, helping other people achieve their dreams, and become the programmers they want to be. At one point while learning JavaScript, she was so discouraged she wanted to give it up, but her mentor convinced her she could be successful. Now she's returning the favor.

Photo of Debbie O'Brien and another woman in a room smiling at the camera

Debbie O'Brien

As GDEs, Debbie, Glafira, and Julia all mention that the most valuable part of becoming experts is the chance to meet people with similar interests in technology, to network, and to provide early feedback for the web team. Mentoring, on the other hand, enables them to create, it boosts their confidence and empowers them to share their skills and knowledge—regardless of whether they're a mentor or a mentee.

Sharing knowledge

A huge part of being a mentee in Google's programs is learning how to share knowledge with other developers and help them in the most effective way. Many WDA and Road to GDE participants become mentors themselves. According to Julia, it's important to remember that a mentor is not a teacher—they are much more. The aim of mentoring, she says, is to create something together, whether it's an idea, a lasting connection, a piece of knowledge, or a plan for the future.

Glafira mentioned that she learned to perceive social media in a new way—as a hub for sharing knowledge, no matter how small the piece of advice might seem. It's because, she says, even the shortest Tweet may help someone who's stuck on a technical issue that they might not be able to resolve without such content being available online. Every piece of knowledge is valuable. Glafira adds that, "Social media is now my tool, I can use it to inspire people, invite them to join the activities I organize. It's not only about sharing rough knowledge, but also my energy."

Working with mentors who have successfully built an audience for their own channels allows the participants to learn more about the technical aspects of content creation—how to choose topics that might be interesting for readers, set up the lighting in the studio, or prepare an engaging conference speech.

Learning while teaching

From the other side of the mentor—mentee relationship, Debbie O'Brien says the best thing about mentoring is seeing the mentees grow and succeed: "We see in them something they can't see in themselves, we believe in them, and help guide them to achieve their goals. The funny thing is that sometimes the advice we give them is also useful for ourselves, so as mentors we end up learning a lot from the experience too."

TV screenin a room showing and image od Glafira Zhur

Glafira Zhur

Both Glafira and Julia state that they're willing to mentor other women on their way to success. Asked what is the most important learning from a mentorship program, they mention confidence—believing in yourself is something they want for every female developer out there.

Growing as a part of the community

Both Glafira and Julia mentioned that during the programs they met many inspiring people from their local developer communities. Being able to ask others for help, share insights and doubts, and get feedback was a valuable lesson for both women.

Mentors may become role models for the programs' participants. Julia mentioned how important it was for her to see someone else succeed and follow in their footsteps, to map out exactly where you want to be professionally, and how you can get there. This means learning not just from someone else's failures, but also from their victories and achievements.

Networking within the developer community is also a great opportunity to grow your audience by visiting other contributors' podcasts and YouTube channels. Glafira recalls that during the Academy, she received multiple invites and had an opportunity to share her knowledge on different channels.

Overall, what's even more important than growing your audience is finding your own voice. As Debbie states: "We need more women speaking at conferences, sharing knowledge online, and being part of the community. So I encourage you all to be brave and follow your dreams. I believe in you, so now it's time to start believing in yourself."

How GDSC students are using their skills to support communities in Ukraine

Posted by Laura Cincera, Program Manager Google Developer Student Clubs, Europe

Revealing character in moments of crisis

The conflict in Ukraine is a humanitarian crisis that presents complex challenges. During this time of uncertainty, communities of student developers are demonstrating extraordinary leadership skills and empathy as they come together to support those affected by the ongoing situation. Student Patricijia Čerkaitė and her Google Developer Student Club (GDSC) community at the Eindhoven University of Technology in the Netherlands organized Code4Ukraine, an international hackathon that brought diverse groups of over 80 student developers together on March 3-4, 2022, to develop technology solutions to support people affected by the conflict in Ukraine.

Even far from the conflict in the Netherlands, they felt compelled to make an impact. “I have relatives in Ukraine; they live in Crimea,” says Patricijia. “In my childhood, I used to spend summer holidays there, eating ice cream and swimming in the Black Sea.”

Patricijia sitting at desk in black chair looking back and smiling

Patricijia working on the details for Code4Ukraine.

Rushing to help others in need with technology

Time was of the essence. The organizing team in Eindhoven contacted other students, connected with communities near and far, and sprang into action. The team invited Ukrainian Google Developer Expert Artem Nikulchenko to share his technology knowledge and first-hand experience of what is happening in his country. Students discussed issues faced by Ukrainians, reviewed problems citizens faced, and ideated around technology-centric solutions. Feelings of exasperation, frustration, and most importantly, hope became lines of code. Together, students built solutions to answer the call: Code4Ukraine.

Blue and yellow emblem that says Code 4 Ukraine

Then, gradually, through a collaborative effort, problem solving, and hours of hard work, the winners of the Code4Ukraine Hackathon emerged: Medicine Warriors, a project built by a diverse, cross-cultural group of undergraduate students and IT professionals from Ukraine, Poland, and Georgia, aiming to address the insulin shortage in Ukraine. The project gathers publicly available data from Ukrainian government notices on insulin availability across Ukraine and presents it in an easily readable way.

Photograph of the Medicine Warriors application design

Photograph of the Medicine Warriors application design

Helping: at the heart of their community

One member of the winning team is the GDSC chapter lead at the National Technical University of Ukraine Kyiv Polytechnic Institute, Ekaterina Gricaenko. “In Ukraine, there is a saying: ‘друг пізнається в біді,’ which translates to, ‘you will know who your friends are when the rough times arrive,’” says Ekaterina. “And now, I can say that the GDSC community is definitely on my family list.”

Photograph of Ekaterina Gricaenko, GDSC Lead

Ekaterina Gricaenko, GDSC Lead, Kyiv Polytechnic Institute

The Code4Ukraine initiative's goal of bringing others together to make an impact offers a prime example of what the Google Developer Student Clubs (GDSC) program aims to achieve: empowering student developers in universities to impact their communities through technology.

Reflecting on her experience leading the Kyiv GDSC chapter, Ekaterina says, “I started my journey with GDSC as a Core Team member, and during that time, I fell in love with our community, goals, and key concepts. Then, I decided to become a lead, to share my enthusiasm and support students as they pursue their professional dreams.

The Kyiv GDSC has organized over 18 workshops, written over 200 articles, run multiple study groups, and reached over a thousand followers on social media. “It’s incredible to realize how far we have come,” Ekaterina says.

A visual collage displays multiple activities organized by GDSC KPI

A visual collage displays multiple activities organized by GDSC KPI, led by Ekaterina Gricaenko.

Getting involved in your community

Through efforts like Code4Ukraine and other inspiring solutions like the 2022 Solution Challenge, students globally are giving communities hope as they tackle challenges and propose technical solutions. By joining a GDSC, students can grow their knowledge in a peer-to-peer learning environment and put theory into practice by building projects that solve for community problems and make a significant impact.

Photo of students in class in the upper right hand corner with a sign in the center that says Become a leader at your university

Learn more about Google Developer Student Clubs

If you feel inspired to make a positive change through technology, applications for GDSC leads for the upcoming 2022-2023 academic year are now open. Students can apply at goo.gle/gdsc-leads. If you’re passionate about technology and are ready to use your skills to help your student developer community, then you should consider becoming a Google Developer Student Clubs Lead!

We encourage all interested students to apply here and submit their applications as soon as possible. The applications in Europe will be open until 31st May 2022.

Exploring accessibility through community with Pescara’s Google Developer Group

Posted by Alessandro Palmieri, Regional Lead, Europe, Google Developer Groups

Blue banner with text that reads Exploring accessibility through community in GDG Pescara. Includes an image of two men giving standing in front of a projector screen

You never quite know exactly how someone else experiences the world - but making an effort to connect and understand others remains a hallmark of a strong community. In November 2019, Google Developer Group Pescara invited backend developer Filippo Tenaglia to speak at a local DevFest program, as part of the global developer event. The group turned the lights down and connected Filippo’s PC to the room’s speakers, and Filippo told attendees about his life as a visually impaired developer. He let them hear what he hears when he works with the code and let them hear the different speech synthesizers he uses: the one he uses to browse on the Internet, as well as the one that he uses to read source code, that reads any punctuation character.

One attendee asked Filippo how many lines of code he’s able to remember without seeing them, and Filippo answered, “I have to remember the whole block. I can’t see the code, so I memorize it. Usually, I can remember 20, even 30 lines of code.” The attendee replied, “you’re a dragon,” alluding to folklore that the mystical creatures have strong memories. Filippo laughed, and his colleague, Gregorio Palama, leader of GDG Pescara, says he got goosebumps.

Gregorio met Filippo when the two worked together at an IT consultancy. Filippo brought his guide dog Lila to work and impressed Gregario with his remarkable ability to memorize 20-30 lines of code at a time. Filippo used assistive technology, like speech synthesizers and screen readers, as well as his extraordinary memorization ability, to code. Through his friendship with Filippo, Gregorio came to understand the importance of accessibility.

Gregorio uses his Google Developer Group (GDG) Pescara community, in a small city in the central part of Italy, to advocate for people with disabilities and educate other developers about the technical tools needed to make programming, websites, and software truly accessible for the visually impaired.

Leveraging tools to stay connected

Developers with visual impairments similar to Fillipo can leverage assistive technology in Chrome like screen readers and magnifiers. When browsing the web using various accessibility extensions, there are ways for people with visual impairments to make the browser more accessible, without installing external software.

Through their friendship, Filippo continued to educate Gregorio about accessibility when he called Gregorio to volunteer for more GDG Pescara events in Italy. Filippo explained that he was calling because the group’s community messaging platform and application, where they post calls for volunteers and share event details, isn’t accessible, so Fialippo can’t see the posted information and needs to use a different method of staying up to date on GDG activities.

Using community to share the importance of accessibility

GDG Pescara plans to host a DevFest focused accessibility and other selected topics. The organizers are thinking of having a hackathon that could expose developers to Google’s accessibility tools, like the ChromeVox screen reader, which developers can use to test the accessibility of their web apps, or Chrome’s documentation on designing accessible extensions. With this community-led programming, Gregorio and his team hope to inspire other developers to build new accessibility tools, like a better community platform.

Through his friendship with Filippo, Gregorio learned the importance of accessibility. Now, he is using his GDG community and a suite of tools to help educate about accessibility and advocate for people with disabilities.

If you’re inspired to lead fellow developers into an exploration of accessibility in technology, we encourage you to join a GDG near you, or consider leading a GDG chapter. You can learn more about Google’s accessibility initiatives and developer tools here and check out an upcoming GDG community accessibility awareness event here.

GDSC India’s Android Study Jams Boost Student Career Outcomes

Posted by Tanvi Somani, Program Manager - Regional Lead, Google Developer Student Clubs, Google Developer Relations India

photo of green Android logo

Android Study Jams, hosted by Google Developer Student Clubs (GDSC) chapters across the globe and in India, leverage peer-to-peer teaching to train a new generation of student Android developers. The program aims to help student developers build their careers and put them on a solid path towards earning an Associate Android Developers Certification. Three students from the GDSC community in India, Amsavarthan Lv, Rishi Balamurugan, and Sanjay S. went the extra kilometer to earn their certifications.

Meet the newly certified Android developers

“From childhood onward, I was inspired by my brother to learn to program. He’s also a certified Android developer,” says Amsavarthan Lv, the GDSC Lead at the Chennai Institute of Technology and a full-stack web and mobile developer. “I used to be amazed by seeing the code and information on his output screen. Over time, I started exploring tech, and I chose my career as a full-stack web and mobile developer.”

Rishi Balamurugan’s father introduced him to coding, and he eventually built an application for his dad's company. A member of GDSC Shiv Nadar University from Bangalore, Rishi was the facilitator for the Android Study Jams on his campus.

Sanjay S. mused he didn’t like technology at first, but a friend introduced him to Android with Java through an online course, which changed the course of his career. Now, he’s a pre-final-year engineering student, specializing in Android and full-stack development, at Sri Ramakrishna Engineering College - Coimbatore Tamil Nadu.

Photo of man in red shirt named Amsavarthan Lv Photo of man in plaid blue shirt named  Rishi Balamurugan Photo of man in black and white checkered shirt named Sanjay S

(Pictured from left to right) Amsavarthan Lv, Rishi Balamurugan, and Sanjay S. each recently earned a certification in Android Development.

Leveling up Android development skills

These three newly certified Android developers completed the program with comprehensive Android development skills and the confidence and preparation to build a career in Android development.

“As an Android developer, I have taken several webinars and workshops through GDSC and other campus programs,” Amsavarthan says. “The course and the content provided in Android Study Jams was a piece of cake for getting started as an Android developer. It had everything from creating basic layouts to implementing a local database.”

“After learning the fundamentals, I heard about this certification and started to prepare,” says Sanjay. “I thought this would help me stand out in my career and boost my confidence.”

After receiving mentorship from the Google Play team on Google Play and Play Academy, the students built simple applications and learned what's involved to deploy to the Google Play Store.

  • YouTube Thumbnail Search App: A solution for users who just want to browse thumbnails and not play the videos shown in the YouTube search list, the application leverages LiveData and ViewModel to handle the UI Logic. Screenshots
  • SimplDo: This application keeps track of your todo list, with options to add, check, update, and delete items. List items are displayed using Recycler view and stored using View Model and Live Data; Jetpack navigation is used to handle navigation between the fragments and pass data. Screenshots
  • Alert'em: An emergency alerter with local helpline numbers, this app’s “Emergency Alerting System” sends an SMS containing the recent call log of the user to their emergency contacts. It uses a flexible constraint layout and a Jetpack Navigation to switch between different screens. Screenshots

Building confidence and career readiness

Open laptop with live Android Study Jam session on the screen

Over 65.5 thousand developers participated in 800+ Android Study Jams in India and emerged with new skills from the Android Basics in Kotlin Course and Appscale academy sessions. Program facilitators could earn Google Developer Profile badges and become Android Educators.

“Android Study Jams helped me to try out new libraries such as Jetpack, DataStore, and WorkManager and showed me how to work in a step-by-step manner,” says Sanjay. “It was organized in such a way that even a beginner can start learning Android easily.”

Amsavarthan, Rishi, and Sanjay took the initiative to gain the skills to pursue employment as full-time Android developers after graduation, and as the program continues, more Android Study Jams participants will be on their way to bright futures.

How to join a Google Developer Student Club and lead or attend an Android Study Jam:

  • If you’re a university student interested in opportunities to learn about Google developer products, including Android Study Jams, sign up for a Google Developer Student Club near you here.
  • Want to make a similar impact on your campus? Sign up to become a Google Developer Student Clubs Lead here.