Skip to main content

software development

See All Stories

Bazel, Google’s software build tool, now available in public beta

bazel-google-beta

Google has just released Bazel as a public beta, and the company claims it can help engineers build software quickly, and correctly. It can be used to build client and server software for Android and iOS and is available for Linux and OS X. Despite it being labelled as a public beta, Google’s engineers have been using it for a very long time. As betas go, it’s a very thoroughly tried and tested one.


Expand
Expanding
Close

Site default logo image

Every Google developer can use any code ever written by the company

Image: websoftwareqa.com

Image: websoftwareqa.com

In an interesting but tech-heavy piece on Wired, one thing stood out for me as evidence that Google’s record for innovation is expressed internally as well as externally.

Google is unusual in that all software code that underpins its many applications and services is available to every developer at the company. What this means is that anyone can reuse anyone else’s code inside their own application or service.

All software developers use library code, of course: sections of code to do commonly-required things that can be re-used to avoid re-inventing the wheel, and to ensure that things work in a consistent way. But to stretch that approach to literally every piece of code ever written in the company is taking things to a whole new level.

As you might imagine, it’s an approach that’s great for development but a potential nightmare for the upgrades. If your piece of code ends up being used in hundreds or thousands of other applications, what happens when you want to improve it? How do you roll out that improvement to all the other apps relying on it? The answer, of course, is to Google it.

[The] system indexes all Google code, in much the same way Google indexes the web, and then, when an engineer rewrites a library, the system instantly searches the index, locates any software that uses the library, and makes the necessary adjustments. A change made in one place becomes a change made everywhere.

The full article makes interesting reading if you want to see where software development may be headed in the future.