Tag Archives: developers

Introducing NDK r21: our first Long Term Support release

Posted by Dan Albert, Android NDK Tech Lead

Android NDK r21 is now in beta! It’s been a longer than usual development cycle (four months since NDK r20), so there’s quite a lot to discuss for this release.

We have the usual toolchain updates, improved defaults for better security and performance, and are making changes to our release process to better accommodate users that need stability without hindering those that want new features.

New Minimum System Requirements

This release comes with new minimum system requirements. Following Android Studio and the SDK, 32-bit Windows is no longer supported. While this change will not affect most developers, this change does have an impact if you use 32-bit versions of Microsoft® Windows®. Linux users must have glibc 2.17 or newer.

Release Cycle Changes and LTS

One release a year will be our Long Term Support (LTS) release for users that want stability more than they need new features. The release will undergo a longer beta cycle before being released, and will receive bug fixes as backports until next year’s LTS release. Generally releasing in Q4, our first LTS release will be NDK r21.

The non-LTS releases each year, which we call the “rolling” release, will be similar to our current process. These will be approximately quarterly releases of our latest set of features, which will only be patched later for critical toolchain fixes. If you want the latest features from Clang and libc++, this is the release for you.

More detail, including the criteria we will use to determine what will be backported, what kinds of bugs will trigger a point release, and the bar we hold each release to can be found documented on our GitHub Wiki.

New Features and Updates

There are quite a lot of new things in this release, resolving bugs and helping you write better, safer code.

We’ve updated GNU Make to version 4.2, which enables --output-sync to avoid interleaving output with error messages. This is enabled by default with ndk-build. This also includes a number of bug fixes, including fixing the pesky CreateProcess errors on Windows.

GDB has been updated to version 8.3, which includes fixes for debugging modern Intel CPUs.

Updated LLVM

As always, we’ve updated LLVM and all of its components (Clang, lld, libc++, etc) which includes many improvements.

The toolchain has been updated to r365631 (the master branch as of 10 July 2019). This includes fixes for quite a few bugs in the previous release, perhaps most importantly LLD no longer hangs when using multithreaded linking on Windows. OpenMP is now available as a dynamic library (and this is the new default behavior, so link with -static-openmp if you want to stick with the static runtime).

A handful of driver improvements have been made to reduce the amount of compiler configuration required by each build system as well. Build system owners should check the updated Build System Maintainers guide.

libc++ has been updated to r369764.

Fortify

Fortify is now enabled by default when using ndk-build or the CMake toolchain file (this includes ExternalNativeBuild users). Fortify enables additional checks in the standard library that can help catch bugs sooner and mitigate security issues. For example, without fortify the following code compiles fine:

    const char src[] = "this string is too long";
    char dst[10];
    strcpy(dst, src);

With fortify, the buffer overflow is diagnosed at compile-time:

    test.cpp:10:18: error: 'strcpy' called with string bigger than buffer
      strcpy(dst, src);
                     ^

It is not always possible for the compiler to detect this issue at compile-time. In those cases, a run-time check will be used instead that will cause the program to abort rather than continue unsafely.

If you’re using a build system other than ndk-build or CMake via the NDK’s toolchain file, this will not be enabled by default. To enable, simply define _FORTIFY_SOURCE=2. The most reliable way to do this is by adding -D_FORTIFY_SOURCE=2 to your compiler flags.

Clang can also statically detect some of these issues by using -Wfortify-source (also new in r21). This is on by default, but it’s recommended to enforce fixing issues with -Werror=fortify-source. Use this in addition to the C library features, not instead of, since the warnings do not cover the same cases as the C library extension, nor can it add run-time checks.

Note that because run-time support is required for fortify and the feature was gradually added to Android over time, the exact set of APIs protected by fortify depends on your minSdkVersion. Fortify is an improvement, but it is not a replacement for good tests, ASan, and writing safe code.

See FORTIFY in Android for an in-depth explanation of fortify.

Other updates

64-bit requirement

Since August 2019, all existing and new apps are now required to support 64-bit before they can be released to Google Play; there’s an extension for a limited set of apps. For more information and help on adding support for 64-bit, see our guide.

Neon by default

Arm code is now built with Neon by default. In a previous release we enabled it conditionally based on minSdkVersion, but given the very small number of devices that don’t support Neon we now enable it unconditionally. This offers improved performance on all 32-bit Arm devices (64-bit Arm always had this, and it does not affect Intel ABIs).

As before, this behavior can be disabled for apps that need to continue supporting devices without Neon. Alternatively, those devices can be blacklisted in the Play Console. See https://developer.android.com/ndk/guides/cpu-arm-neon for more information.

Up Next

Have a look at our roadmap to see what we’re working on next. The next few big things coming up are package management and better CMake integration.

Build security into your next website

Posted by Ben Fried, VP, CIO & Chief Domains Enthusiast

If you wanted to send a secret message by mail, would you rather send it in an envelope, or on a postcard? If you send it on a postcard, anyone who saw the postcard on its way to the recipient could read the message, or even make changes to what’s written.

Encryption on a website functions like an envelope, protecting information passed between your website and its visitors so it can’t be snooped on or changed. It’s what keeps your visitors safe from bad actors who may try to alter your site’s content, misdirect traffic, spy on open Wi-Fi networks, and inject malware or tracking. You achieve encryption on a website by installing an SSL (Secure Sockets Layer) certificate. This certificate ensures that the data passed between a web server and a browser remains private.

To kick off National Cyber Security Awareness Month, we’re highlighting something that many website owners don’t realize—a single page that isn’t encrypted could potentially be used to gain access to the rest of the website. To avoid this, you need encryption on your entire website, not just for pages that are collecting credit card numbers or log-in info. Even unencrypted landing pages that redirect to an HTTPS page can pose risks. A single unprotected page can become a backdoor for bad actors to snoop on the rest of the site. How do you ensure your entire website is encrypted?

Use a top-level domain that is HSTS preloaded.

The HSTS preload list tells modern browsers which websites to only load over an encrypted connection. The fastest way to get on this list is to use a top-level domain that’s already on the HSTS preload list, such as .app, .dev, or .page. Any website on those extensions gets the security benefits of HSTS preloading from day one, so all you need to do is install your SSL certificate.

Add your website to the HSTS preload list yourself.

Websites can be individually added to the HSTS preload list by the website owner at hstspreload.org. Keep in mind this can be a slow process because the list is manually built into the browser. That means updates to the list are made as new browser releases come out, which can take months to occur for all browsers.

More people are creating websites than ever before, with 48 percent of the U.S. population planning to create one. To help make building your secure website a bit easier, we’ve teamed up with some of our registrar partners, who are offering a discount on .dev, .app, and .page domains plus free SSL certificates during the month of October. We’re also kicking off a video series where existing creators will share their tips for launching a website. You can check them out at safe.page/buildsecurely.

Stephanie Duchesneau, Domains Security Expert, explains the importance of website encryption and the benefits of HSTS-preloading.

Build security into your next website

If you wanted to send a secret message by mail, would you rather send it in an envelope, or on a postcard? If you send it on a postcard, anyone who saw the postcard on its way to the recipient could read the message, or even make changes to what’s written.

Encryption on a website functions like an envelope, protecting information passed between your website and its visitors so it can’t be snooped on or changed. It’s what keeps your visitors safe from bad actors who may try to alter your site’s content, misdirect traffic, spy on open Wi-Fi networks, and inject malware or tracking. You achieve encryption on a website by installing an SSL (Secure Sockets Layer) certificate. This certificate ensures that the data passed between a web server and a browser remains private. 

To kick off National Cyber Security Awareness Month, we’re highlighting something that many website owners don’t realize—a single page that isn’t encrypted could potentially be used to gain access to the rest of the website. To avoid this, you need encryption on your entire website, not just for pages that are collecting credit card numbers or log-in info. Even unencrypted landing pages that redirect to an HTTPS page can pose risks. A single unprotected page can become a backdoor for bad actors to snoop on the rest of the site. How do you ensure your entire website is encrypted?

Use a top-level domain that is HSTS preloaded. 

The HSTS preload list tells modern browsers which websites  to only load over an encrypted connection. The fastest way to get on this list is to use a top-level domain that’s already on the HSTS preload list, such as .app.dev, or .page. Any website on those extensions gets the security benefits of HSTS preloading from day one, so all you need to do is install your SSL certificate.

Add your website to the HSTS preload list yourself. 

Websites can be individually added to the HSTS preload list by the website owner at hstspreload.org. Keep in mind this can be a slow process because the list is manually built into the browser. That means updates to the list are made as new browser releases come out, which can take months to occur for all browsers.

More people are creating websites than ever before, with 48 percent of the U.S. population planning to create one.  To help make building your secure website a bit easier, we’ve teamed up with some of our registrar partners, who are offering free SSL certificates during the month of October. We’re also kicking off a video series where existing creators will share their tips for launching a website. You can check them out at safe.page/buildsecurely.

Build security into your next website

If you wanted to send a secret message by mail, would you rather send it in an envelope, or on a postcard? If you send it on a postcard, anyone who saw the postcard on its way to the recipient could read the message, or even make changes to what’s written.

Encryption on a website functions like an envelope, protecting information passed between your website and its visitors so it can’t be snooped on or changed. It’s what keeps your visitors safe from bad actors who may try to alter your site’s content, misdirect traffic, spy on open Wi-Fi networks, and inject malware or tracking. You achieve encryption on a website by installing an SSL (Secure Sockets Layer) certificate. This certificate ensures that the data passed between a web server and a browser remains private.

To kick off National Cyber Security Awareness Month, we’re highlighting something that many website owners don’t realize—a single page that isn’t encrypted could potentially be used to gain access to the rest of the website. To avoid this, you need encryption on your entire website, not just for pages that are collecting credit card numbers or log-in info. Even unencrypted landing pages that redirect to an HTTPS page can pose risks. A single unprotected page can become a backdoor for bad actors to snoop on the rest of the site. How do you ensure your entire website is encrypted?

Use a top-level domain that is HSTS preloaded.

The HSTS preload list tells modern browsers which websites  to only load over an encrypted connection. The fastest way to get on this list is to use a top-level domain that’s already on the HSTS preload list, such as .app, .dev, or .page. Any website on those extensions gets the security benefits of HSTS preloading from day one, so all you need to do is install your SSL certificate.

Add your website to the HSTS preload list yourself.

Websites can be individually added to the HSTS preload list by the website owner at hstspreload.org. Keep in mind this can be a slow process because the list is manually built into the browser. That means updates to the list are made as new browser releases come out, which can take months to occur for all browsers.

More people are creating websites than ever before, with 48 percent of the U.S. population planning to create one.  To help make building your secure website a bit easier, we’ve teamed up with some of our registrar partners, who are offering free SSL certificates during the month of October. We’re also kicking off a video series where existing creators will share their tips for launching a website. You can check them out at safe.page/buildsecurely.

From Code to Community: Why developers call DevFest home

DevFest Banner
Ricardo on the left with fellow GDG lead planning DevFest Coimbra

Ricardo Costeira is a Software Engineer from Coimbra, Portugal. For the first time last year, he attended DevFest, the largest developer community-led movement hosted by Google Developer Groups across the world. To celebrate DevFest 2019, we want to share with you Ricardo’s story and how he went from writing code to finding community.

Ricardo (left) and a fellow GDG Lead plan DevFest Coimbra.

1. How did you first hear about DevFest? What inspired you to join?

In 2018, after living in Coimbra for 3 years, I didn't have any friends outside of work that were software developers. I longed to fill my life with more people that understood my passion and decided it was time to make a change. So I took to social media to see how I could connect with more like minded thinkers. Eventually, DevFest showed up on my feed. Out of nowhere, I saw this crazy event in Coimbra packed with bold leaders, energizing speakers, and profoundly creative exercises. I never expected that being with a community would get me so excited. I got a ticket on the spot.

2. Can you tell us about your first experience at DevFest?

It was exhilarating - out of this world. When I first walked in, everyone talked to me as if we had known each other for years. Big smiles, loud laughs, and deep kindness were all around me. As someone who is relatively shy and a loner by nature, I was stunned when I felt myself saying, "I belong here, I'm home." That very same night, I looked up the next event I could attend. Since then, I have attended 2 other events, signed up for 6 more, and have become a GDG Lead. In other words, I’m hooked.

Ricardo

So how did this all change me? To be honest, DevFest brought forward a shift in my personality. I now want to be part of a community - that is a new feeling in my life.

“As someone who is relatively shy and a loner by nature, I was stunned when I felt myself saying, "I belong here, I'm home."

3. What from DevFest 2018 are you looking forward to seeing again this year?

The booths. DevFest Coimbra has booths where you can talk with different companies. It’s exciting to learn about all the opportunities to grow so close to home. In my case, it was thrilling to see just how quickly Portugal is scaling and how so many companies come to DevFest eager to talk with the best talent. Forming these relationships is what can make the difference when finding the right opportunity for you.

4. Leading up to DevFest 2019, what are you most excited for?

Lighting a spark in new attendees. I recently joined the organizational staff and I’m excited to give new attendees that feeling I had when I first walked into DevFest. I’ve found such meaning in working with my fellow GDG Leads to bring together attendees in a sense of shared awe.

5. Any advice for those attending DevFest 2019?

Just say hi. You will be surprised with how far it will take you. DevFest is not only about the talks or workshops, it’s also about the people. This community knows the extrovert and understands the introvert, and warmly welcomes both. That is to say, no matter who you are or how you code, there is a place for you here.

“DevFest is not only about the talks or workshops, it’s also about the people.”

Want to find a DevFest event near you? Check out devfest.withgoogle.com to join our community, meet other developers and learn about Cloud, Android, Flutter, Machine Learning and more.

#DevFest #Community

A new way for job seekers to stand out to IT recruiters

Almost two years ago, Grow with Google introduced the IT Support Professional Certificate, a program that helps people prepare for entry-level roles in IT, with no experience or degree necessary. IT support skills are highly teachable, and a four-year degree isn’t typically required to build a successful career in this field. We knew that if we could train beginners on technical skills, we could create paths to real jobs—both at Google and at other companies across the country. So we created a hands-on curriculum and made it available on Coursera to prepare learners for IT support jobs in under six months.

Google and CompTIA badge

Now, Google is teaming up with CompTIA, a nonprofit trade association, to provide a dual badge of completion. Employers widely recognize the CompTIA A+ certification as a valued credential for high-growth IT support roles. Now, learners who complete the Google IT Support Professional Certificate and pass the CompTIA A+ certification exams will have access to a new dual credential from CompTIA and Google: a badge that can be posted on LinkedIn to catch the attention of potential employers. 

One recipient of the dual credential is Leo Chui, who was a personal trainer for 12 years when he decided he was ready for a career change. “I have always been passionate about technology and I always wanted to work in that field, but I didn’t have a university degree,” he says. “I simply did not have the means to take on student loans in order to pursue my dreams and also keep a roof over my head.” Leo believes that the IT Support Professional Certificate aligns with the training in CompTIA’s certification exams. He says the training and the badge gave him the confidence to start applying for positions in the field, and he just landed his first IT job. 

With this dual badge, people who complete the Google IT Support Professional Certificate and receive the CompTIA A+ certification are better set up to share their skills with potential employers. 

Building a more private web

Privacy is paramount to us, in everything we do. So today, we are announcing a new initiative to develop a set of open standards to fundamentally enhance privacy on the web. We’re calling this a Privacy Sandbox. 


Technology that publishers and advertisers use to make advertising even more relevant to people is now being used far beyond its original design intent - to a point where some data practices don’t match up to user expectations for privacy. Recently, some other browsers have attempted to address this problem, but without an agreed upon set of standards, attempts to improve user privacy are having unintended consequences.


First, large scale blocking of cookies undermine people’s privacy by encouraging opaque techniques such as fingerprinting. With fingerprinting, developers have found ways to use tiny bits of information that vary between users, such as what device they have or what fonts they have installed to generate a unique identifier which can then be used to match a user across websites. Unlike cookies, users cannot clear their fingerprint, and therefore cannot control how their information is collected. We think this subverts user choice and is wrong.


Second, blocking cookies without another way to deliver relevant ads significantly reduces publishers’ primary means of funding, which jeopardizes the future of the vibrant web. Many publishers have been able to continue to invest in freely accessible content because they can be confident that their advertising will fund their costs. If this funding is cut, we are concerned that we will see much less accessible content for everyone. Recent studies have shown that when advertising is made less relevant by removing cookies, funding for publishers falls by 52% on average1.


So we are doing something different. We want to find a solution that both really protects user privacy and also helps content remain freely accessible on the web. At I/O, we announced a plan to improve the classification of cookies, give clarity and visibility to cookie settings, as well as plans to more aggressively block fingerprinting. We are making progress on this, and today we are providing more details on our plans to restrict fingerprinting. Collectively we believe all these changes will improve transparency, choice, and control. 


But, we can go further. Starting with today’s announcements, we will work with the web community to develop new standards that advance privacy, while continuing to support free access to content. Over the last couple of weeks, we’ve started sharing our preliminary ideas for a Privacy Sandbox - a secure environment for personalization that also protects user privacy. Some ideas include new approaches to ensure that ads continue to be relevant for users, but user data shared with websites and advertisers would be minimized by anonymously aggregating user information, and keeping much more user information on-device only. Our goal is to create a set of standards that is more consistent with users’ expectations of privacy.


We are following the web standards process and seeking industry feedback on our initial ideas for the Privacy Sandbox. While Chrome can take action quickly in some areas (for instance, restrictions on fingerprinting) developing web standards is a complex process, and we know from experience that ecosystem changes of this scope take time. They require significant thought, debate, and input from many stakeholders, and generally take multiple years. 


To move things forward as quickly as possible, we have documented the specific problems we are trying to solve together, and we are sharing a series of explainers with the web community. We have also summarized these ideas today on the Chromium blog.


We look forward to getting feedback on this approach from the web platform community, including other browsers, publishers, and their advertising partners. Thank you in advance for your help and input on this process - we believe that we must solve these problems together to ensure that the incredible benefits of the open, accessible web continue into the next generation of the internet.

1 Google Ad Manager data; n=500 global publishers; Analysis based on an A/B experiment where cookies are disabled on a randomly selected fraction of each publisher's traffic; May-August 2019. More information available on the Google ads blog.


Developer Student Clubs: A Walk That Changed Healthcare

Posted by Erica Hanson, Program Manager

ARUA, UGANDA - Samuel Mugisha is a 23 year old university student with a laugh that echoes off every wall and a mind determined to make change. Recently he heard from a healthcare worker that many children at a local clinic were missing vaccinations, so he decided to take a walk. He toured his community, neighbor to neighbor, and asked one simple question: “Can I see your vaccination card?”

In response he was given dirt stained, wrinkled, torn pieces of paper, holding life or death information - all written in scribble.

He squinted, held the cards to the light, rubbed them on his pant leg, but for no use. They were impossible to read. As Samuel put it, “They were broken.”

From the few cards he could read, Samuel noted children who had missed several vaccinations - they were unknowingly playing the odds, waiting to see if disease would find them.

“Looking through the cards, you could tell these kids had missed several vaccinations.”

Without hesitation, Samuel got right to work, determined to fix the healthcare system with technology.

He first brought together his closest friends from Developer Student Clubs (DSC), a program supporting students impacting their communities through tech. He asked them: “Why can’t technology solve our problem?”

Team photo of Developer Student Club

This newly formed team, including Samuel, Joshwa Benkya and Norman Acidri, came up with a twofold plan:

  1. Create a mobile app to replace the broken cards, so healthcare workers can clearly track which vaccines their young patients have received.
  2. Create a notification to alert healthcare workers when a child is due for a new vaccination.

The idea came together right as Developer Student Clubs launched its first Solution Challenge, an open call for all members to submit projects they recently imagined. These young developers had to give it a shot. They created a model, filled out an application, and pitched the idea. After waiting a month, they heard back - their team won the competition! Their idea was selected from a pool of 170 applicants across India, Africa, and Indonesia. In other words, everything was about to change.

In a country where talent can go unnoticed and problems often go unsolved, this new team had pushed through the odds. Developer Student Clubs is a platform for these types of bold thinkers. Students who view the issues of their region not simply as obstacles to overcome, but chances to mend their home, build a better life for themselves, and transform the experiences of their people.

The goal of the Solution Challenge, and all other DSC programs, is to educate young developers early and equip them with the right skills to make an impact in their community.

In this case, office space in Uganda was expensive and hard to find. Samuel’s team previously had few chances to all work under the same roof. After winning the challenge, Developer Student Clubs helped them find a physical space of their own to come together and collaborate - a simple tool, but one that led to a turning point. As Samuel described it,

“Developer Student Clubs helped us not be alone and apart from each other while trying to solve this problem. They gave us the space to come together and learn. We could all be in the same room, thinking together.”

Image of developers in classroom

With this new space to work, DSC then brought some of Africa’s best Google Developer Group Leads directly to the young developers. In these meetings, the students were given high-level insights on how to best leverage Android, Firebase, and Presto to propel their product forward. As Samuel put it:

“If we wanted to learn something, they gave us the best expert.”

As a result, the team realized that with the scarcity of internet in Uganda, Firebase was the perfect technology to build with - allowing healthcare workers to use the app offline but “check in” and receive updates when they were able to find internet.

Although the app has made impressive strides since winning the competition, this young team knows they can make it even better. They want to improve its usability by implementing more visuals and are working to create a version for parents, so families can track the status of their child’s vaccination on their own.

While there is plenty of work ahead, with these gifted students and Developer Student Clubs taking each step forward together, any challenge seems solvable.

What has the team been up to recently? From August 5th-9th they attended the Startup Africa Roadtrip, an intensive training week on how best to refine a startup business model.

Flutter Create’s big winner is a self-taught “beginner”

When Zebiao Hu found out he won the $10,000 Flutter Create grand prize, he didn't even tell his own wife. She learned about it through his posts on social media. He says he didn’t boast about his big win because he still sees himself as a beginner: He taught himself Flutter just weeks before the deadline, and created a compass app that won him the big prize. 

Flutter is Google's toolkit for building beautiful apps that run on your mobile phone, laptop and web browser from the same code (instead of having to write a different app for each device, as is common today). When Google announced Flutter Create, the contest attracted attention from developers all over the world. We received nearly a thousand submissions from 60+ countries and regions, including entries from both first-time coders and Flutter experts. The contest challenged developers to build something interesting, inspiring, and beautiful with Flutter using five kilobytes or less of Dart code. That’s a tiny amount of space: to put it into perspective, that’s less than half a second of a typical digital music file.

Flutter Create highlights

Highlights from the hundreds of submissions we received.

As a coder working in Shenzhen, China, Zebiao decided to learn about mobile development, because the industry was heading in a “mobile-first direction.” He bought books about Flutter and Dart in Chinese, and started to learn during the spring of 2019. Flutter Create was less than one month away.

Zebiao is no stranger to teaching himself how to code, though. In high school, he spent days and nights in the computer room, taking up coding because of his love of video games. After becoming an accomplished player, he began to wonder, "How are these games developed? Could I make one myself?"

Zebiao Hu, Flutter Create winner

Zebiao in the park where he usually jogs.

But, at that time, information about programming was hard to get and, for a high school student, difficult to learn. Luckily, Zebiao discovered a box of CDs, with one called “Programming.” His hobby turned into a career. As an early adopter, he became well known in local software circles, and was often approached to collaborate on projects. Customers became frequent customers, and then friends, bringing even more projects to him. 

Eventually, Zebiao got married and became the father of two children. Every day, he sends his children to school, and goes home to work. In the evening, he ends his work day and picks the kids up.

He says when he’s not working, he’s “running, drinking tea, and spending the weekend with my children at the amusement park.” And he’ll still take time to play the video games he played 15 or 20 years ago. 

Zebiao Hu, Flutter Create winner, made a compass app

The compass app did not feature a globe at first. 

When he set out to build his compass app, Zebiao found useful materials on Flutter’s official  website, Flutter’s Youtube channel and from Flutter Chinese online communities. He didn’t aim for the prize because he hadn’t been using Flutter for long, but instead entered to test his knowledge. 

He started the new project on March 15, only three weeks from April 7, the final submission date for Flutter Create. After the first version of the app was completed, the code was less than 5KB, but Zebiao was not satisfied, because it lacked an interesting visual. "It was boring to read the latitude and longitude in text form," he says. So he decided to upgrade the design to display the data using an interactive globe.

There was only one small problem: he had never programmed an animation before.

“Honestly, I learned everything from scratch,” Zebiao says. “After all, I had never used these tools before.” 

Finally, two days before the deadline, Zebiao successfully submitted his compass application.

Zebiao Hu's app

 Zebiao learned how to make his app from scratch. 

Zebiao says he doesn’t want to give advice to Flutter beginners, because he sees himself as a beginner, too. But he urged people to keep learning, even if their projects don’t use Flutter yet, and to find their own community of developers to share resources. And he says it’s important to stay open to whenever an idea strikes. “Keep a notebook with you,” he says. “Write down your thoughts, ideas or problems whenever possible. And try to solve them later.” 

Step up your interviewing game with Byteboard

I’ve worked as a software engineer on Google products like Photos and Maps for four years. But if you asked me to interview for a new role today, I doubt most technical interviews would accurately measure my skills. I would need to find time to comb through my college computer science books, practice coding theory problems like implementing linked lists or traversing a graph, and be prepared to showcase this knowledge on a whiteboard. 

According to a survey we conducted of over 2,500 working software engineers, nearly half of the respondents spent more than 15 hours studying for their technical interviews. Unfortunately, many companies still interview engineers in a way that's entirely disjointed from day-to-day engineering work—valuing access to the time and resources required to prepare over actual job-related knowledge and skills.

As a result, the tech interview process is often inefficient for companies, which sink considerable engineering resources into a process that yields very little insight, and frustrating for candidates, who aren't able to express their full skill-set. 

At Byteboard, a project built inside of Area 120 (Google’s workshop for experimental projects), we’ve redesigned the technical interview experience to be more effective, efficient and equitable for all. Our project-based interview assesses for engineering skills that are actually used on the job. The structured, identity-blind evaluation process enables hiring managers to reliably trust our recommendations, so they have to conduct fewer interviews before reaching a confident hiring decision. For candidates, this means they get to work through the design and implementation of a real-world problem in a real-world coding environment on their own time, without the stress of going through high-pressured theoretical tests. 

An effective interview to assess for on-the-job skills

Byteboard creates more effective technical interviews

We built the Byteboard interview by pairing our software engineering skills analysis with extensive academic research on assessment theory and inclusion best practices. Our interview assesses for skills like problem solving, role-related computer science knowledge, code fluency, growth mindset and interpersonal interaction. Byteboard evaluators—software engineers with up to 15+ years of experience—are trained to objectively review each anonymized interview for the presence of 20+ essential software engineering skills, which are converted into a skills profile for each candidate using clear and well-defined rubrics. 

By providing a more complete understanding of a candidate’s strengths and weaknesses across a range of skills, Byteboard enables hiring managers and recruiters to make data-backed hiring decisions. Early tester Betterment saw their onsite-to-offer rates significantly increase by using Byteboard, indicating its effectiveness at identifying strong candidates for the job.

A more efficient interview to save engineers time

Byteboard creates more efficient technical interviews

Byteboard offers an end-to-end service that includes developing, administering and evaluating the interviews, letting companies focus on meeting more potential candidates face-to-face and increasing the number of candidates they can interview. Our clients have replaced up to 100 percent of their pre-onsite interviews with the Byteboard interview, allowing them to redirect time toward recruiting candidates directly at places like conferences and college campuses.

An equitable interview format to reduce bias

Byteboard creates more equitable technical interviews

The Byteboard interview is designed to grant everyone, regardless of gender, race, ethnicity, name, background or education, the same opportunity to demonstrate their skills. Traditional technical interviews tend to test for understanding of theoretical concepts, which often require a big investment of time or resources to study up on. This can create anxiety for candidates who may not have either of those to spare as they are looking for a new job. By focusing on engineering skills that are actually used on the job, Byteboard allows candidates to confidently show off their role-related skills in an environment that is less performative and more similar to how they typically work as engineers. 

I felt less anxious while doing the interview and it gave me the most complete view of my strengths and weaknesses than any other interview I've done. a recent candidate from Howard University
An applicant or recruiter using Byteboard

The Byteboard Assessment Development team of educators and software engineers develop challenging questions that are tested and calibrated among engineers across a wide range of demographics. Through Byteboard's anonymization and structured evaluation of the interviews, hiring managers can make decisions with confidence without relying on unconscious biases. 


With Byteboard, our ultimate goal is to make interviewing better for companies and candidates alike. Companies looking to improve their hiring process can get in touch at byteboard.dev.