From Developer to Teacher, How a Computer Science Professor Found Career Support with Google Developer Groups

Posted by Kübra Zengin, North America Regional Lead, Google Developers

A Path to Programming

“I was hooked from the start,” says Jennifer Bailey about programming. Always interested in the way systems work, Jennifer, now an educator in Colorado, found her path to programming in an unconventional way. She first earned a General Educational Development degree, otherwise known as a “GED” in the United States, from Aims Community College, when she was only 15 years old.

Ever a quick learner with the ambition to excel, she then secured an associate’s degree, bachelor’s, and master’s degree in Applied Science. With degrees in hand, she taught herself C Sharp while working at a local firm as a software developer building desktop applications.

When one of her mentors from Aims Community College was retiring, the school recognized Jennifer’s programming expertise and hired her to teach computer science in 2011. The administration then asked her to create the college’s certificate in mobile application development from scratch. To build out a curriculum for her new assignment, she needed to find some inspiration. As Jennifer sought out resources to curate the content for the college’s new program in mobile development, she found a local Google Developer Group (GDG), an organization where local developers came together to discuss cutting-edge programming topics.

Finding a Google Developer Group in Northern Colorado

She attended her first event with the group that same week. At the event, the group’s leader was teaching attendees to build Android apps, and other developers taught Jennifer how to use GitHub.

“I went to that in-person event, and it was everything I was hoping it would be,” Jennifer says. “I was just blown away that I was able to find that resource at exactly the time when I needed it for my professional development, and I was really happy because I had so much fun.”

The community of welcoming developers that Jennifer found in GDG drew her in, and for the first time at a technical networking event like this one, she felt comfortable meeting new people. “That initial event was the first time I felt like I had met actual friends, and I’ve been involved with GDG ever since,” she says.

A Life-Changing Community

As time progressed, Jennifer started attending GDG events more often, and eventually offered the meeting space at Aims Community College where the group could gather. After she made the offer, the group’s organizers invited her to become a co-leader of the group. Fast-forward to the present, and her leadership role has led to numerous exciting opportunities, like attending Google I/O and meeting Google developers from all over the world.

“By participating in GDG, I ended up being able to attend Google I/O,” says Jennifer. “This community has had a massive impact in my life.”

Ongoing Education

Jennifer’s local GDG provides support for Android that helps other learners while also remaining helpful to her teaching of computer science subjects and the Android IOS mobile developer certificate.

“What keeps me engaged with Google technology, especially with Android, is all of the updates, changes, new ideas and new technology,” she says.

Jennifer notes that she appreciates the Android ecosystem’s constantly evolving technology and open source tools.

  • After becoming fascinated with Android, Jennifer discovered that the more time she spent learning and delving into Android, the more she learned and gained expertise that she could apply to other platforms.
  • Jennifer’s Android expertise has also led to her becoming an author for Ray Wenderlich, for whom she contributed to Saving Data on Android and Android Accessibility by Tutorials and a video course on building your first app using Android and Kotlin. “I like Jetpack Compose a lot, and I’m very interested in Android accessibility, so I can’t wait to update that book,” she says.
  • She served as editor on an article about “Lazy Composables” on lists.

Positive Career Impact

In Jennifer’s view, involvement with Google Developer Groups positively impacted her career by exposing her to a local group of developers with whom she is deeply connected, providing resources and instruction on Android, and providing her with a leadership opportunity.

“I have met such a diverse sampling of people in Google Developer Groups, from all different industries, with all different levels of experience–from students, self-taught, to someone who’s been in technology longer than I have,” Jennifer says. “You never know who you will meet out there because GDG is filled with interesting people, and you never know what opportunities you will find by mixing with those people and comparing notes.”

If you’re looking to grow as a developer, find a GDG group near you. Learn more about Google Developer Groups and find a community near you!

Using research to make code review more equitable

Posted by Emerson Murphy-Hill, Research Scientist, Central Product Inclusion, Equity, and Accessibility

At Google, we often study our own software development work as a means to better understand and make improvements to our engineering practices. In a study that we recently published in Communications of the ACM, we describe how code review pushback varies depending on an author’s demographics. Such pushback, defined as “the perception of unnecessary interpersonal conflict in code review while a reviewer is blocking a change request”, turns out to affect some developers more than others.

The study looked at pushback during the code review process and, in short, we found that:

  • Women faced 21% higher odds of pushback than men
  • Black+ developers faced 54% higher odds than White+ developers
  • Latinx+ developers faced 15% higher odds than White+ developers
  • Asian+ developers faced 42% higher odds than White+ developers
  • Older developers faced higher odds of pushback than younger developers

We estimate that this excess pushback roughly costs Google more than 1,000 engineer hours per day – something we’re working to significantly reduce, along with unconscious bias during the review process, through solutions like anonymous code review.

Last year, we explored the effectiveness of anonymous code review by asking 300 developers to do their code reviews without the author’s name at the top. Through this research, we found that code review times and review quality appeared consistent with and without anonymous review. We also found that, for certain types of review, it was more difficult for reviewers to guess the code’s author. To give you an idea, here’s what anonymous code review looks like today at Google in the Critique code review tool:

In the screenshot above, changelist author names are replaced by anonymous animals, like in Google Docs, helping reviewers focus more on the code changes and less on the people making those changes.

At Google, we strive to ensure there is equity in all that we do, including in our engineering processes and tools. Through continued experimentation with anonymous code review, we’re hoping to reduce gaps in pushback faced by developers from different demographic groups. And through this work, we want to inspire other companies to take a hard look at their own code reviews and to consider adopting anonymous author code review as part of their process as well.

In the long run, we expect that increasing equity in developers’ experience will help Google – and our industry – make meaningful progress towards an inclusive development experience for all.

#WeArePlay | Discover the people building apps & games businesses

Posted by Patricia Correa, Director, Global Developer Marketing

Over 2.5 billion people come to Google Play every month to find apps and games created by millions of businesses from all over the world.

#WeArePlay celebrates you: the global community of people behind these businesses.

Each one of you creating an app or game has a different story to tell. Some of you have been coders since childhood, others are newbies who got into tech later in life. Some of you are based in busy cities, others in smaller towns. No matter who you are or how different your story is, you all have one thing in common – you have the passion to turn an idea into a business impacting people all over the world.

Now, and over the coming months, #WeArePlay celebrates you by sharing your stories.

We are kicking off the series with the story of Yvonne and Alyssa, the London-based mother and daughter duo who created Frobelles – a dress up game increasing representation of African and Caribbean hair styles.

You can now also discover the stories of friends Ronaldo, Carlos and Thadeu from Hand Talk Translator (Brazil – my home country!), art lover Zuzanna from DailyArt (Poland) and travel-loving couple Ina & Jonas from TravelSpend (Germany).

To all apps and games businesses – thank you for being a part of the Google Play community. Your dedication and ambition is helping millions of people learn, connect, relax, exercise, find jobs, give back, laugh, have fun, escape to fantasy lands, and so much more.

Read more and stay tuned for many more stories at g.co/play/weareplay

How useful did you find this blog post?

Migrating from App Engine Memcache to Cloud Memorystore (Module 13)

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

Introduction and background

The previous Module 12 episode of the Serverless Migration Station video series demonstrated how to add App Engine Memcache usage to an existing app that has transitioned from the webapp2 framework to Flask. Today’s Module 13 episode continues its modernization by demonstrating how to migrate that app from Memcache to Cloud Memorystore. Moving from legacy APIs to standalone Cloud services makes apps more portable and provides an easier transition from Python 2 to 3. It also makes it possible to shift to other Cloud compute platforms should that be desired or advantageous. Developers benefit from upgrading to modern language releases and gain added flexibility in application-hosting options.

While App Engine Memcache provides a basic, low-overhead, serverless caching service, Cloud Memorystore “takes it to the next level” as a standalone product. Rather than a proprietary caching engine, Cloud Memorystore gives users the option to select from a pair of open source engines, Memcached or Redis, each of which provides additional features unavailable from App Engine Memcache. Cloud Memorystore is typically more cost efficient at-scale, offers high availability, provides automatic backups, etc. On top of this, one Memorystore instance can be used across many applications as well as incorporates improvements to memory handling, configuration tuning, etc., gained from experience managing a huge fleet of Redis and Memcached instances.

While Memcached is more similar to Memcache in usage/features, Redis has a much richer set of data structures that enable powerful application functionality if utilized. Redis has also been recognized as the most loved database by developers in StackOverflow’s annual developers survey, and it’s a great skill to pick up. For these reasons, we chose Redis as the caching engine for our sample app. However, if your apps’ usage of App Engine Memcache is deeper or more complex, a migration to Cloud Memorystore for Memcached may be a better option as a closer analog to Memcache.

Migrating to Cloud Memorystore for Redis featured video


Performing the migration

The sample application registers individual web page “visits,” storing visitor information such as IP address and user agent. In the original app, the most recent visits are cached into Memcache for an hour and used for display if the same user continuously refreshes their browser during this period; caching is a one way to counter this abuse. New visitors or cache expiration results new visits as well as updating the cache with the most recent visits. Such functionality must be preserved when migrating to Cloud Memorystore for Redis.

Below is pseudocode representing the core part of the app that saves new visits and queries for the most recent visits. Before, you can see how the most recent visits are cached into Memcache. After completing the migration, the underlying caching infrastructure has been swapped out in favor of Memorystore (via language-specific Redis client libraries). In this migration, we chose Redis version 5.0, and we recommend the latest versions, 5.0 and 6.x at the time of this writing, as the newest releases feature additional performance benefits, fixes to improve availability, and so on. In the code snippets below, notice how the calls between both caching systems are nearly identical. The bolded lines represent the migration-affected code managing the cached data.

Switching from App Engine Memcache to Cloud Memorystore for Redis

Wrap-up

The migration covered begins with the Module 12 sample app (“START”). Migrating the caching system to Cloud Memorystore and other requisite updates results in the Module 13 sample app (“FINISH”) along with an optional port to Python 3. To practice this migration on your own to help prepare for your own migrations, follow the codelab to do it by-hand while following along in the video.

While the code migration demonstrated seems straightforward, the most critical change is that Cloud Memorystore requires dedicated server instances. For this reason, a Serverless VPC connector is also needed to connect your App Engine app to those Memorystore instances, requiring more dedicated servers. Furthermore, neither Cloud Memorystore nor Cloud VPC are free services, and neither has an “Always free” tier quota. Before moving forward this migration, check the pricing documentation for Cloud Memorystore for Redis and Serverless VPC access to determine cost considerations before making a commitment.

One key development that may affect your decision: In Fall 2021, the App Engine team extended support of many of the legacy bundled services like Memcache to next-generation runtimes, meaning you are no longer required to migrate to Cloud Memorystore when porting your app to Python 3. You can continue using Memcache even when upgrading to 3.x so long as you retrofit your code to access bundled services from next-generation runtimes.

A move to Cloud Memorystore and today’s migration techniques will be here if and when you decide this is the direction you want to take for your App Engine apps. All Serverless Migration Station content (codelabs, videos, source code [when available]) can be accessed at its open source repo. While our content initially focuses on Python users, we plan to cover other language runtimes, so stay tuned. For additional video content, check out our broader Serverless Expeditions series.

Reach global markets as a Recommended for Google Workspace app

Posted by Elena Kingbo, Program Manager, Google Workspace

Today we announced our 2022 Recommended for Google Workspace apps. This program offers a distinct way for third-party developers to better reach Google Workspace users and attract new customers to their apps. So, for those developers who may be interested in it in the future, we wanted to walk through the basics of what the program is and how to apply for it.

What is the Google Workspace Marketplace?

The Google Workspace Marketplace is the first place Google Workspace administrators and users look when they want to extend or enhance their Google Workspace experience. The Marketplace can be accessed within most first-party Google Workspace apps, including Gmail, Drive, Docs, Sheets, Slides, Forms, Calendar, and Classroom, as well as at workspace.google.com/marketplace.

Launch Marketplace from your favorite Google Workspace app by clicking the “+”.

The Google Workspace Marketplace is the first place Google Workspace administrators and users look when they want to extend or enhance their Google Workspace experience. The Marketplace can be accessed within most first-party Google Workspace apps, including Gmail, Drive, Docs, Sheets, Slides, Forms, Calendar, and Classroom, as well as at workspace.google.com/marketplace.

Developers who want to build and deploy apps to the Marketplace can either use their own preferred coding language or leverage Google Apps Script, our serverless platform. You can learn more about building apps and publishing them to the Marketplace in our developer documentation.

What is the Recommended for Google Workspace program?

The Recommended for Google Workspace program identifies and promotes a select number of Google Workspace applications that are secure, reliable, well-integrated with Google Workspace, and loved by users.

Partners who submit their apps will be evaluated based on the quality of their solution, their strategic investment in Google Workspace integrations, and security and privacy posture. In addition, all partners will be required to complete a third-party security assessment in the final stage of the assessment. You can sign up for our Google Workspace developers newsletter to be notified when the next application window opens up.

What it means to be a Recommended app

Google Workspace customers are often looking for high-quality, secure apps they can install to enhance their Workspace experience. Since recommended apps have exceeded our highest security and reliability standards, they are the first apps we recommend to customers and among the first apps users see when they visit the Marketplace. Recommended partners will also receive new and enhanced benefits, including technical advisory services and early access to APIs.

There have been more than 4.8 billion app installs on the Marketplace. These apps are an integral part of the Google Workspace experience and users are continually looking for new ways to extend the value of Google Workspace. Creating a Google Workspace app is a fantastic opportunity for innovative developers interested in enhancing the Google Workspace experience. And, for those developers who truly want to be set apart as a trusted app on the Marketplace, the Recommended for Google Workspace program offers an unique way to reach new customers.

Explore our Recommended for Google Workspace apps on the Google Workspace Marketplace.

Helping Developers Create Meaningful Voice Interactions with Android

Helping Developers Create Meaningful Voice Interactions with Android

Posted by Rebecca Nathenson, Director, Product Management

As we recently announced at I/O, we’re investing in new ways to make Google Assistant your go-to conversational helper for everyday tasks. And we couldn’t do that without a rich community of developers. While Conversational Actions were an excellent way to experiment with voice, the ecosystem has evolved significantly over the last 5 years and we’ve heard some important feedback: users want to engage with their favorite apps using voice, and developers want to build upon their existing investments in Android.

In response to that feedback, we’ve decided to focus our efforts on making App Actions with Android the best way for developers to create deeper, more meaningful voice-forward experiences. As a result, we will turn down Conversational Actions one year from now, in June 2023.

Improving voice-forward experiences

Whether someone asks Assistant to start a workout, order food, or schedule a grocery pickup, we know users are looking for ways to get things done more naturally using voice. To allow developers to integrate those helpful voice experiences into existing Android content more easily – without having to build from scratch – we’re committed to working with them to build App Actions with Android. This will give users more ways to engage with an app’s content – like voice queries and proactive suggestions – and access the app features they already know and love.

We’re continuing to expand the reach of App Actions in the following ways:

  • Integrating voice capabilities across Android devices such as mobile, auto, wearables and other devices in the home;
  • Bringing more traffic without more development work (i.e. Assistant can now direct users to apps even when queries don’t mention an app name);
  • Driving users to the app’s Play Store page if they don’t have the app installed yet; and
  • Surfacing in ‘All Apps’ search for Pixel 6 users.

App Actions not only make your apps easier to discover; you can offer deeper voice experiences by allowing users to simply ask for what they need in their queries. Moreover, we’ll continue investing in all of the popular Assistant experiences users love, like Timers, Media, Home Automation, Communications, and more.

Supporting our developers

We know that these changes aren’t easy, which is why we’re giving developers a year to prepare for the turndown of Conversational Actions. We’re here to help you navigate this transition with these helpful resources:

Building the future together

Looking ahead, we envision a platform that is intuitive, natural, and voice-forward – and one that allows developers to leverage the entire Android ecosystem of devices so they can easily reach more users. We’re always looking to improve the Assistant experience and we’re confident that App Actions is the best way to do that. We’re grateful for all you’ve done to build the Google Assistant ecosystem over the past 5 years and we’re here to help navigate the changes as we continue to make it even better. We’re excited about what lies ahead and we’re grateful to build it together.

Grow your skills with Coding Practice with Kick Start

Posted by Julia DeLorenzo, Program Manager, Coding Competitions

Kick Start is one of Google’s online coding competitions offering programmers of all skill levels the opportunity to hone your skills through a series of online rounds hosted throughout the year.

If you’re new to coding competitions and not sure where to start, then join us for Coding Practice with Kick Start! Offering developers of all skills the chance to practice competitive programming problems on your own time without the pressure of a scoreboard or timed round. These practice sessions are not official Kick Start rounds, but are a great way for you to hone your coding skills, connect with a global community, prepare for an interview, and most importantly have fun!

Work your way through fun algorithmic and mathematical problems on the Kick Start platform in four-day practice sessions throughout the 2022 Kick Start season (see full schedule here).

There are two more Coding Practice with Kick Start sessions this year:

  • Coding Practice Session #2: June 27, 2022 (16:00 UTC) – July 1, 2022 (3:00 UTC)
  • Coding Practice Session #3: August 29, 2022 (16:00 UTC) – September 2, 2022 (3:00 UTC)

Here’s what our team of Googlers working behind the scenes to create the problems and walk-throughs have to say about the program, including advice for this year’s participants:

Sarah Young, Software Engineer

What advice would you give to beginning coders?

When first thinking about how to solve a problem, forget about the coding and try to think about it as if you only needed to explain how to do it to someone. Go back and reread the problem to make sure you covered everything. Then you can start breaking it down into logical pieces, and it’ll make everything a lot easier!

Why is Coding Practice with Kick Start/the Kick Start competition such an excellent tool for growing your skills and practicing coding?

Kickstart is a great way to challenge yourself to do fun problems in a competitive but not stressful environment, whether you’re a beginner or have done competitive programming in the past!

Federico Brubacher, Software Engineer

What advice would you give to beginning coders?

My advice to new coders comes in two parts:

First one is to embrace the learning process. Learning a new skill is hard. It’s a rollercoaster process in which one day you are extremely productive/happy and the next you are stuck and bored. If you embrace that there will be bad days and stick with it then you will start making progress doing more difficult programming tasks.

Second is to try to pattern recognize. When we are learning incrementally difficult things, it is good to start by trying to associate the thing you are trying to learn/solve with stuff you have seen in the past. This makes the learning process easier because you are free now to focus on the new parts of the problem you are currently facing and not start from scratch. The hard part is doing the work to distill what you learned every day into patterns.

Why is Coding Practice with Kick Start/the Kick Start competition such an excellent tool for learning and practicing coding?

If you look at my previous answer you can see that pattern recognition is huge when learning coding. Practicing coding on Kick Start is all about pattern matching and thinking about a problem thoroughly armed only with your previous experience.

As you go through the problems you will see the arsenal of tools (patterns) you have to solve problems expand. Then you will use these patterns to solve new problems and continue learning and improving. It is addicting, but the good kind!

Kata Brányiné Sulák, Software Engineer

What advice would you give to beginning coders?

Coding is about solving problems – assembling the general algorithm and data structure pieces so that it results in a working solution. Don’t try to learn the fine details of a specific programming language before jumping in, just use the language syntax to describe/document the steps you want to take. Making the code technically running is the easier part (even if initially you have to google for error messages or unexpected behaviors a lot).

Why is Coding Practice with Kick Start/the Kick Start competition such an excellent tool for growing your skills and practicing coding?

Kick Start’s problem sets are diverse, to make coders encounter wide range of algos and data structures (giving high learning and also fun factors); mostly formulated in real life scenario descriptions to enforce the contestants to transform them into IT concepts (which is a core part of the developers’ work); the input is simplified and is guaranteed to be correct so coders can concentrate on the abstract problem itself and not on writing boilerplate on error handling; and analysis is actually formulated as list of hints giving a second chance to create a solution in practice mode and still get the accomplishment.

General Availability of App Actions using the Android Shortcuts framework

Posted by Jessica Dene Earley-Cha, Developer Relations Engineer

We’re pleased to announce the General Availability (GA) of App Actions using shortcuts.xml, part of the Android shortcuts framework. By using the Shortcuts API, it’s never been easier to add a layer of voice interaction to your apps, by simply using the Android tooling, platform, and features you already know. This release means your shortcuts.xml implementations are now fully supported through our support channels.

App Actions let users launch and control Android apps with their voice, using Google Assistant. At Google I/O 2021, we released a beta of App Actions that enabled developers to implement App Actions using the Android shortcuts framework, lowering the development cost of voice enabling apps by leveraging a common framework many developers were already familiar with. Throughout the beta period, we listened to developer feedback and made several improvements to the API, developer tooling, and Assistant comprehension and accuracy of voice commands.

Over the past year we’ve added new features, like the ability to fulfill user voice requests using Android widgets, and in-app voice control. The set of built-in intents supported by App Actions has also expanded to include travel and parking intents suited for use in Android for Cars apps.

See how Strava implemented App Actions to provide a voice-forward experience to their users.

I’m new! How do I get started?

New App Actions developers are encouraged to try the App Actions learning pathway. This learning pathway is a complete training course that prepares new and seasoned Android developers to design and implement voice-enabled app experiences. After completing the pathway, you’ll earn the App Actions with Google Assistant badge on your developer profile.

Check out the latest App Actions news from I/O

We are excited to have had several sessions focusing on App Actions this year at Google I/O.

My app already uses App Actions. How do I stay supported?

Developers with existing App Actions implementations that use actions.xml are encouraged to migrate their implementation before the end of the support period on March 31st, 2023.

Implementations that leveraged shortcuts.xml during the beta period will continue to work, as they have been without any changes required, until March 31st, 2023.

I have more questions!

There are several ways to get in touch with the App Actions team and interact with the developer community.

Grow your games with Google Play’s Indie Games Accelerator & Festival

Posted by Leticia Lago, P&E Developer Marketing

Google Play Indie Games Festival and Accelerator 

At Google Play, we are committed to helping developers of all sizes reach their full potential, and go further, faster. To continue supporting indies as they bring some of the most innovative titles to players worldwide, today we’re opening submissions to the 2022 edition of our two annual programs – the Indie Games Accelerator and Festival.

Through these programs, independent game developers and small studios can boost their game’s visibility, get training, and tap into a network of gaming experts:

  • If you are a small games studio looking for help to launch or grow a new title, enter the Accelerator to get exclusive training by mentors and industry experts;
  • Or, if you have already created and launched a high quality game that is ready for the spotlight, enter the Festival in Japan, South Korea or Europe for a chance to win promotions and reach new players.

Submissions for both Indie Games programs are open from June 1st to July 1st, 2022.

For more updates about Google Play’s programs, resources and tools for indie game developers, follow @GooglePlayBiz on Twitter & Google Play business community on LinkedIn.

Angular GDE Todd Motto encourages developers to care for their bodies and minds

Posted by Janelle Kuhlman, Developer Relations Program Manager

Photo of a man in a wetsuit swimming in the water. He is mid stroke and is taking a breath of air

The second of two interviews with GDEs about mental health, during Mental Health Awareness Month

Angular GDE Todd Motto would love to see people talk about mental health more freely–in tech and in other areas of life.

“Everyone struggles inside,” he says. “I see talking about it a good thing. Our brains are highly complex and need maintenance and good fuel.”

Todd says he silently struggled through most of his life with depression and anxiety, so it has become increasingly important to him to be forthright about it. He says ignoring feelings often makes things worse.

“The thing is, you can go through life just thinking it’s normal to feel this way, and you assume everyone else has bad days like that, as well, but things can slowly progress to become worse, without you realizing,” he says. “It took me a very long time to realize I had mental health issues–some issues were from my past, and I had adapted unhealthy lifestyle patterns to deal with those. I was pouring fuel on my own fire and not realizing it. That’s why it is important to me to raise awareness.”

He sees mental health as a balancing act and believes it’s important to take care of your body and mind every day. He recommends choosing your work projects and responsibilities carefully, if possible, to avoid taking on too much, and to pay attention to your internal thoughts.

“It’s important to be in tune with your body and also how your mind feels,” he says. “We all feel stress, but sometimes we just sit on autopilot and ignore it. This is when it’s time to protect your mental health. Keep an eye on your stress levels, as, at least for me, this played a huge role in the rest of my mental health.”

Todd copes with stress by carefully managing his workload, learning new things away from the keyboard, taking breaks from work throughout the day, and taking down time.

“To cope, I don’t overwhelm myself, and I take regular breaks, even if it’s just 1-2 minutes to walk into the kitchen and grab water,” he says. “Maybe I’ll walk into the garden and research a personal topic I’m interested in for a few moments.”

He also incorporates daily exercise, like running, swimming, and weight training, which he says helps his concentration, sleep, and mood.

“I have been running and swimming for years now, and swimming gives you time out from reality,” he says. “When you get physically stronger, you will unlock new levels of mental strength. That is my guarantee.”

Todd’s version of physical and mental challenges might be running up mountains and swimming in lakes, but your version might be going on a walk around the block, picking up a new instrument, or learning how to cook a new meal. Whatever it is, Todd feels it’s important to make time for these challenges, in order to achieve that balancing act he mentioned. He reminds other developers to keep work, life, body, and mind in balance as much as possible.

“I aim to have regular breaks and not overwhelm myself,” he says. “It’s easy to get stressed and have a bad work/life balance. Take breaks, and keep your stress levels low by doing so. You are more than worth it!”

Learn more about Todd on Twitter @toddmotto

Google Workplace GDE Alice Keeler on balancing responsibilities and using coding as self-care

Posted by Janelle Kuhlman, Developer Relations Program Manager

Photo of GDE Alice Keeler smiling. She has blonde hair and is wearing a violet top. Her image is next to the GDE logo

The first of two interviews with GDEs about mental health, during Mental Health Awareness Month

“I don’t think I have work-life balance,” says Google Workplace GDE Alice Keeler. “I could use some. I’m not very good at self-care, either…my idea of a good time is coding.”

Alice may be humble, but she juggles numerous responsibilities successfully. In addition to her freelance programming work and the books she has published, she has five children, all of whom have various mental health challenges. An educator known for publishing add-ons, schedulers, and Google Classroom tips, Alice teaches math to high school seniors. She says they also struggle with mental health, often due to poverty and family issues.

“I see firsthand as an employer, mom, and teacher how mental health challenges affect people, yet we expect everyone to suck it up and go to work, attend school, and respond to family events,” she says. “I’ve really been thinking about this a lot, as I see the challenges my family and students are going through. I try to offer lots of grace and flexibility to others.”

She points out that mental health is very personal. “Of the 20 people I feel closest to in my life, no one solution would work for all of them,” she says.

Coding as self-care

In Alice’s experience, tech has provided a means of self-care, professional opportunity, and academic support. “I think one of the benefits of coding is that it doesn’t necessarily have to be done at a certain time and can offer some flexible creative options for people,” she says. “I can code at 3am, and no one cares. It’s not very social, which is helpful for people who struggle with social expectations.”

And during those coding sessions, Keeler builds creative solutions.

“You can make really cool things,” she says. “When I solve a problem with ten lines of code, it’s a nice way for me to feel valued.”

Alice has found the GDE community to be tremendously supportive, even though at first, she worried no one would want to hear from her.

“I post in the GDE chat, and people respond with, ‘Alice!’,” she says. “I teach math; I’m not a full-time coder. I’m self taught; everything I do, I figure out myself. I don’t feel like an imposter anymore. I’ve gotten 14 add-ons approved.”

She has realized over time that even “experts” are still learning.

“You think everyone knows everything, but they don’t, and people may be considered experts, but you can put something out there they hadn’t even thought of,” she says. “You realize quickly that it’s not like a tower, and you’ve reached the top, it’s more like scattered LEGOs: I know some of this, and some of that, and you know this, and it’s scattered.”

Alice’s coding expertise grew out of her desire to create technological solutions for herself and other teachers that simplified their processes and reduced stress. She’s enthusiastic about the educational technology tools that help both teachers and students decrease stress and improve well-being.

Educational technology for improved well-being

Alice appreciates classroom technology that makes life easier for teachers and students. For example, she cites the tablet as “one of the best things that ever happened to special education,” because it provides students with learning challenges an alternative way to share their thoughts and demonstrate their understanding of academic material. Alice explains that tablets and Chromebooks make it easy to give students extra time on assignments and assessments when needed.

“It brought in an enormous amount of inclusivity that had been impossible,” she says. “It literally gives some kids a voice; they can submit questions and responses digitally, without raising their hands.”

Alice’s focus, as an educator, developer, and parent, is on using technology to streamline tasks and balance responsibility, which reduces stress, improves well-being, and benefits her mental health. During the pandemic, she appreciated how technology allowed her to teach online, write code, and also be present for her family. She had more time to go to her kids’ events and was able to dial down her stress. Like all of us, she’s still figuring out what comes next, but she’s committed to supporting her loved ones and students.

Learn more about Alice on her website or on Twitter @alicekeeler

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.