Tag Archives: programming

Grow your coding skills and your confidence – Coding Practice with Kick Start

Posted by Julia DeLorenzo, Program Manager, Coding Competitions

Coding Practice with Kick Start is a four-day practice session where you'll have the chance to learn more about the Kick Start platform, utilize starter code to help frame your solutions, and interact with Google engineers.

It’s not a timed round and there is no scoreboard! No one else will be able to view your scores from the session. This is just for fun and a great way to hone your coding skills, and get better acquainted with Kick Start.

So, why should you join the session? We’re glad you asked!

About Coding Practice with Kick Start

The problems you'll see in Coding Practice with Kick Start range in difficulty. The concepts covered in these problems align very closely with concepts covered in introductory CS courses like Data Structures and Algorithms, and topics you may encounter in Google interviews.

You can solve the problems in any order you like. Looking at a problem does not start any timers, so feel free to read all of them at the start of the session, and then solve them in the order of your choice. We also provide starter code at the top of each problem statement to get you started with your solution.

Stuck on a problem? Don’t worry! You can use the “Ask a question” button on the problem overview page.

At the end of the session, tune in for a livestream where Kick Start engineers will walk through each of the problems featured during the round!

Grow your coding skills and your confidence

Still need to be convinced to give Coding Practice with Kick Start Session 3 a try?

Hear from some past participants how Coding Practice with Kick Start helped them along their competitive programming journey.

Session 2 Participants: Tell us why you enjoyed your experience!

Balla says:

"At first I used to think that the Kick Start coding rounds were very tough and I couldn't solve them. But the level of the initial questions are such that it boosts us to give it a try, and increases our confidence level. I feel that this is the best part that every coder hopes for. After attempting the session, I felt like I could solve the problems if I worked a little harder.

My favorite problem in Coding Practice with Kick Start Session 2 is ‘Irregular Expressions’. The problem is very interesting; I couldn't write up the logic, but it made me think a lot. It's the best problem I faced in the round.”

Mbalire says:

“I personally had problems with test samples not catering for some cases, and that I failed to understand the questions. The answers and support from the Google engineers during Coding Practice with Kick Start was good. I felt as if different people at Google were reading my code and seeing my development, and that boosted my confidence.

While solving the problem, I could see my own development while creating my own solution. I hope to do much more and participate in the coming Kick Start competition rounds. It may be because I started programming this year or because most of the code I know is from my research, but getting these algorithms right has been a huge accomplishment for me.

My favorite problem was ‘Building Palindromes’ from Coding Practice with Kick Start Session 2.”

Nandini says:

“Coding Practice with Kick Start was very engaging and I had a lot of fun. It reminded me how much I enjoy computer science and math and solving problems!

My favorite problem from the past coding practice session has been the 'Building Palindromes' problem. This is because I had fun trying to come up with an optimal solution to this problem and it pushed me to learn new techniques for optimizing my solution: prefixing sums/pre-calculation.

I also really enjoyed solving the ‘Parcels’ problem since it involved search algorithms which I love! I found that it was the right amount of ‘challenging’ to keep me thinking about it all day. Thanks, Google!"

Joining Coding Practice with Kick Start Session 3

With the third and final session for the year coming up, we encourage you to join us. Coding Practice with Kick Start is the perfect opportunity to practice and grow your skills without the pressure of a public scoreboard or timed round.

Learn new skills, grow your confidence as a coder, and we’ll see you in one of our upcoming Kick Start rounds.

We hope you'll give it a try! → https://goo.gle/codingpracticewks

Grow your coding skills and your confidence – Coding Practice with Kick Start

Posted by Julia DeLorenzo, Program Manager, Coding Competitions

Coding Practice with Kick Start is a four-day practice session where you'll have the chance to learn more about the Kick Start platform, utilize starter code to help frame your solutions, and interact with Google engineers.

It’s not a timed round and there is no scoreboard! No one else will be able to view your scores from the session. This is just for fun and a great way to hone your coding skills, and get better acquainted with Kick Start.

So, why should you join the session? We’re glad you asked!

About Coding Practice with Kick Start

The problems you'll see in Coding Practice with Kick Start range in difficulty. The concepts covered in these problems align very closely with concepts covered in introductory CS courses like Data Structures and Algorithms, and topics you may encounter in Google interviews.

You can solve the problems in any order you like. Looking at a problem does not start any timers, so feel free to read all of them at the start of the session, and then solve them in the order of your choice. We also provide starter code at the top of each problem statement to get you started with your solution.

Stuck on a problem? Don’t worry! You can use the “Ask a question” button on the problem overview page.

At the end of the session, tune in for a livestream where Kick Start engineers will walk through each of the problems featured during the round!

Grow your coding skills and your confidence

Still need to be convinced to give Coding Practice with Kick Start Session 3 a try?

Hear from some past participants how Coding Practice with Kick Start helped them along their competitive programming journey.

Session 2 Participants: Tell us why you enjoyed your experience!

Balla says:

"At first I used to think that the Kick Start coding rounds were very tough and I couldn't solve them. But the level of the initial questions are such that it boosts us to give it a try, and increases our confidence level. I feel that this is the best part that every coder hopes for. After attempting the session, I felt like I could solve the problems if I worked a little harder.

My favorite problem in Coding Practice with Kick Start Session 2 is ‘Irregular Expressions’. The problem is very interesting; I couldn't write up the logic, but it made me think a lot. It's the best problem I faced in the round.”

Mbalire says:

“I personally had problems with test samples not catering for some cases, and that I failed to understand the questions. The answers and support from the Google engineers during Coding Practice with Kick Start was good. I felt as if different people at Google were reading my code and seeing my development, and that boosted my confidence.

While solving the problem, I could see my own development while creating my own solution. I hope to do much more and participate in the coming Kick Start competition rounds. It may be because I started programming this year or because most of the code I know is from my research, but getting these algorithms right has been a huge accomplishment for me.

My favorite problem was ‘Building Palindromes’ from Coding Practice with Kick Start Session 2.”

Nandini says:

“Coding Practice with Kick Start was very engaging and I had a lot of fun. It reminded me how much I enjoy computer science and math and solving problems!

My favorite problem from the past coding practice session has been the 'Building Palindromes' problem. This is because I had fun trying to come up with an optimal solution to this problem and it pushed me to learn new techniques for optimizing my solution: prefixing sums/pre-calculation.

I also really enjoyed solving the ‘Parcels’ problem since it involved search algorithms which I love! I found that it was the right amount of ‘challenging’ to keep me thinking about it all day. Thanks, Google!"

Joining Coding Practice with Kick Start Session 3

With the third and final session for the year coming up, we encourage you to join us. Coding Practice with Kick Start is the perfect opportunity to practice and grow your skills without the pressure of a public scoreboard or timed round.

Learn new skills, grow your confidence as a coder, and we’ll see you in one of our upcoming Kick Start rounds.

We hope you'll give it a try! → https://goo.gle/codingpracticewks

Passionate former DSC lead Irene inspires others to learn Google technologies with her new podcast and more

Posted by Erica Hanson, Global Program Manager, Google Developer Student Clubs

(Irene (left) and her DSC team from the Polytechnic University of Cartagena (photo prior to COVID-19)

Irene Ruiz Pozo is a former Google Developer Student Club (DSC) Lead at the Polytechnic University of Cartagena in Murcia, Spain. As one of the founding members, Irene has seen the club grow from just a few student developers at her university to hosting multiple learning events across Spain. Recently, we spoke with Irene to understand more about the unique ways in which her team helped local university students learn more about Google technologies.

Real world ML and AR learning opportunities

Irene mentioned two fascinating projects that she had the chance to work on through her DSC at the Polytechnic University of Cartagena. The first was a learning lab that helped students understand how to use 360º cameras and 3D scanners for machine learning.

(A DSC member giving a demo of a 360º camera to students at the National Museum of Underwater Archeology in Cartagena)

The second was a partnership with the National Museum of Underwater Archeology, where Irene and her team created an augmented reality game that let students explore a digital rendition of the museum’s exhibitions.

(An image from the augmented reality game created for the National Museum of Underwater Archeology)

In the above AR experience created by Irene’s team, users can create their own character and move throughout the museum and explore different virtual renditions of exhibits in a video game-like setting.

Hash Code competition and experiencing the Google work culture

One particularly memorable experience for Irene and her DSC was participating in Google’s annual programming competition, Hash Code. As Irene explained, the event allowed developers to share their skills and connect in small teams of two to four programmers. They would then come together to tackle engineering problems like how to best design the layout of a Google data center, create the perfect video streaming experience on YouTube, or establish the best practices for compiling code at Google scale.

(Students working on the Hash Code competition (photo taken prior to COVID-19)

To Irene, the experience felt like a live look at being a software engineer at Google. The event taught her and her DSC team that while programming skills are important, communication and collaboration skills are what really help solve problems. For Irene, the experience truly bridged the gap between theory and practice.

Expanding knowledge with a podcast for student developers

(Irene’s team working with other student developers (photo taken before COVID-19)

After the event, Irene felt that if a true mentorship network was established among other DSCs in Europe, students would feel more comfortable partnering with one another to talk about common problems they faced. Inspired, she began to build out her mentorship program which included a podcast where student developers could collaborate on projects together.

The podcast, which just released its second episode, also highlights upcoming opportunities for students. In the most recent episode, Irene and friends dive into how to apply for Google Summer of Code Scholarships and talk about other upcoming open source project opportunities. Organizing these types of learning experiences for the community was one of the most fulfilling parts of working as a DSC Lead, according to Irene. She explained that the podcast has been an exciting space that allows her and other students to get more experience presenting ideas to an audience. Through this podcast, Irene has already seen many new DSC members eager to join the conversation and collaborate on new ideas.

As Irene now looks out on her future, she is excited for all the learning and career development that awaits her from the entire Google Developer community. Having graduated from university, Irene is now a Google Developer Groups (GDG) Lead - a program similar to DSC, but created for the professional developer community. In this role, she is excited to learn new skills and make professional connections that will help her start her career.

Are you also a student with a passion for code? Then join a local Google Developer Student Club near you, here.

Learn Android and Kotlin with no programming experience

Posted by Kat Kuan, Developer Advocate, Android

Many people today are considering career paths that enable them to work remotely. App development allows for that style of work. For people who want a new opportunity, it’s possible to start learning Android today, even without prior programming experience.

In 2016, we released our Android Basics curriculum, which assumes no programming experience, and the response has been tremendous. Hundreds of thousands of students have been learning Android development and programming concepts simultaneously as they build apps. Since then, there have been big platform changes with four major releases of Android and support added for the Kotlin programming language. We also introduced Jetpack, a suite of libraries that make it easier to build better apps with less code. With all these new updates, it’s time to release the next generation of training content for beginners.

Today we’re announcing the launch of Android Basics in Kotlin, a new online course for people without programming experience to learn how to build Android apps. The course teaches Kotlin, a modern programming language that developers love because of its conciseness and how it increases productivity. Kotlin is quickly gaining momentum in industry. Over a single year from 2018 - 2019, Indeed Hiring Lab found a 76% increase in Kotlin jobs.*

Google announced that Android development is Kotlin-first, and 60% of professional Android developers have already adopted the language. In the Play Store, 70% of the top 1,000 apps use Kotlin. To keep pace and prepare for the future, there has never been a more opportune time to learn Android with Kotlin.

Learning to code for the first time can feel intimidating, but it is possible to learn without a technical background. From a recent Stack Overflow Developer Survey, nearly 40% of the professional developers who studied at university did not receive a formal computer science or software engineering degree.

To build your confidence, the Android Basics in Kotlin course offers step-by-step instructions on how to use Android Studio to build apps, as well as how to run them on an Android device (or virtual device). The goal is to expose you to the tools and resources that professional Android developers use. With hands-on practice, you learn the fundamentals of programming. By the end of the course, you will have completed a collection of Android apps to start building a portfolio.

Object detection & tracking gif Text recognition + Language ID + Translate gif

App screenshots from the course

This course is split up into units, where each unit is made up of a series of pathways. At the end of each pathway, there is a quiz to assess what you’ve learned so far. If you pass the quiz, you earn a badge that can be saved to your Google Developer Profile.
Object detection & tracking gif Text recognition + Language ID + Translate gif

Badges you can earn

The course is free for anyone to take. Basic computer literacy and basic math skills are recommended prerequisites. Unit 1 of the course is available today, with more units being released as they become available. If you’ve never built an app before but want to learn how, check out the Android Basics in Kotlin course.

If you already have programming experience, check out the other free training courses we offer in Kotlin:

We can’t wait to see what you build!

*from US tech job postings on Indeed.com

The Go language turns 10: A Look at Go’s Growth in the Enterprise

Posted by Steve Francia, Go TeamGo's gopher mascot

The Go gopher was created by renowned illustrator Renee French. This image is adapted from a drawing by Egon Elbre.

November 10 marked Go’s 10th anniversary—a milestone that we are lucky enough to celebrate with our global developer community.

The Gopher community will be celebrating Go’s 10th anniversary at conferences such as Gopherpalooza in Mountain View and KubeCon in San Diego, and dozens of meetups around the world.

In recognition of this milestone, we’re taking a moment to reflect on the tremendous growth and progress Go (also known as golang) has made: from its creation at Google and open sourcing, to many early adopters and enthusiasts, to the global enterprises that now rely on Go everyday for critical workloads.

New to Go?

Go is an open-source programming language designed to help developers build fast, reliable, and efficient software at scale. It was created at Google and is now supported by over 2100 contributors, primarily from the open-source community. Go is syntactically similar to C, but with the added benefits of memory safety, garbage collection, structural typing, and CSP-style concurrency.

Most importantly, Go was purposefully designed to improve productivity for multicore, networked machines and large codebases—allowing programmers to rapidly scale both software development and deployment.

Millions of Gophers!

Today, Go has more than a million users worldwide, ranging across industries, experience, and engineering disciplines. Go’s simple and expressive syntax, ease-of-use, formatting, and speed have helped it become one of the fastest growing languages—with a thriving open source community.

As Go’s use has grown, more and more foundational services have been built with it. Popular open source applications built on Go include Docker, Hugo, Kubernetes. Google’s hybrid cloud platform, Anthos, is also built with Go.

Go was first adopted to support large amounts of Google’s services and infrastructure. Today, Go is used by companies including, American Express, Dropbox, The New York Times, Salesforce, Target, Capital One, Monzo, Twitch, IBM, Uber, and Mercado Libre. For many enterprises, Go has become their language of choice for building on the cloud.

An Example of Go In the Enterprise

One exciting example of Go in action is at MercadoLibre, which uses Go to scale and modernize its ecommerce ecosystem, improve cost-efficiencies, and system response times.

MercadoLibre’s core API team builds and maintains the largest APIs at the center of the company’s microservices solutions. Historically, much of the company’s stack was based on Grails and Groovy backed by relational databases. However this big framework with multiple layers was soon found encountering scalability issues.

Converting that legacy architecture to Go as a new, very thin framework for building APIs streamlined those intermediate layers and yielded great performance benefits. For example, one large Go service is now able to run 70,000 requests per machine with just 20 MB of RAM.

“Go was just marvelous for us,” explains Eric Kohan, Software Engineering Manager at MercadoLibre. “It’s very powerful and very easy to learn, and with backend infrastructure has been great for us in terms of scalability.”

Using Go allowed MercadoLibre to cut the number of servers they use for this service to one-eighth the original number (from 32 servers down to four), plus each server can operate with less power (originally four CPU cores, now down to two CPU cores). With Go, the company obviated 88 percent of their servers and cut CPU on the remaining ones in half—producing a tremendous cost-savings.

With Go, MercadoLibre’s build times are three times (3x) faster and their test suite runs an amazing 24 times faster. This means the company’s developers can make a change, then build and test that change much faster than they could before.

Today, roughly half of Mercadolibre's traffic is handled by Go applications.

"We really see eye-to-eye with the larger philosophy of the language," Kohan explains. "We love Go's simplicity, and we find that having its very explicit error handling has been a gain for developers because it results in safer, more stable code in production."

Visit go.dev to Learn More

We’re thrilled by how the Go community continues to grow, through developer usage, enterprise adoption, package contribution, and in many other ways.

Building off of that growth, we’re excited to announce go.dev, a new hub for Go developers.

There you’ll find centralized information for Go packages and modules, a wealth of learning resources to get started with the language, and examples of critical use cases and case studies of companies using Go.

MercadoLibre’s recent experience is just one example of how Go is being used to build fast, reliable, and efficient software at scale.

You can read more about MercadoLibre’s success with Go in the full case study.