Sunteți pe pagina 1din 12

Software Engineering at Google by Fergus Henderson 1

Software Engineering at Google by Fergus Henderson

Presented to
Mrs. Marivic Tangkeko
College of Computer Studies
De La Salle University – Manila

In Partial Fulfillment
Of the Requirements of
CIS106M
Term 1. SY 2019 - 2020

By
Adrian C. Rubico
November 13, 2019
Software Engineering at Google by Fergus Henderson 2

Table of Contents
Abstract ............................................................................................................................... 3
Statement of the Research Problem .................................................................................... 4
Purpose and Significance of the Paper................................................................................ 5
Framework Used ................................................................................................................. 5
Data Collection Methods .................................................................................................... 6
Summary of Findings .......................................................................................................... 6
Major Points Agreement ..................................................................................................... 6
Major Points Disagreement................................................................................................. 8
Conclusion ........................................................................................................................ 10
Recommendation .............................................................................................................. 11
References ......................................................................................................................... 12
Software Engineering at Google by Fergus Henderson 3

Abstract

This paper aim to examine to software engineer experience and practices at Google. The
paper presents the notion based on Google company and discusses how did Google manage their
organization. This paper also, discuss the major agree/disagree in which to shown to the
audiences that how Software Engineers works at Google.
Software Engineering at Google by Fergus Henderson 4

Statement of the Research Problem

This purpose is to analyze the author work by his inspiration throughout the Google
accomplishment, this article intended to distribute enough to understood for who works in the
software development company, business, and involved in management.

Although, according to the author, this article, with reference to the eminent progress of
software management whereas they engineered executions of Google have emerged over time.
The authors state, "this helps identify integration problems early and minimizes the amount of
merging work needed." (p. 4) This sets the context for more specific details with regards to the
article. The company develop a build system known as “Blaze”, with this it capable to complies
code quickly and reliable, it has also high-level declarative build through the program. The code
review is a tool for by looking that who’s being modified the code. In exchange software
engineers are easily to collaborate with their team without encountering difficulties.

Moreover, Unit testing are highly recommended to the engineers and integration and
regression testing as well. Software engineers uses also “Buganizer” this software is for tracking
issues in which to rely their findings of a bug and categorized for each component. In terms of
programing only five languages have been used by the software engineers, from these purpose
developers does not need to acquire a new programming language due to it can simply to take
apart on the side projects. In case of faulty and unreliable performance, the company applies by
these applications in which debugging and profiling tool that it can see the logs of the server to
determine what is on ensuing. Software development requires a reliable service wherein release
engineers are also very important part of development in which it approaches to the software
engineers to cooperate of these practices, therefore, to ensure the process and structured of the
program where good to deploy. There is a tool that requires to use for launch approval to
guarantee of the product by which being review and take an approval before to proceed into the
process. Post-mortems is being cultured at Google, this practice had remained for over a past few
years and these may apply to other companies. The company rule is they need to frequently
rewrite of their products every few years, due to the fact it costs behind losing of resources and
the bright side by having advance innovations.
Software Engineering at Google by Fergus Henderson 5

Furthermore, the author describes about project management, in which 20 percent time in
work are allow to the engineers, to take apart into other organization and brought up a new idea.
Objective and key results is an evaluation of progress and performance from their employees.

In addition, the author describes people management wherein he manifested that the role
from technical to management. Lastly, the benefits and amenities inside of the companies.

Purpose and Significance of the Paper

As the title of the article suggests, the said company would like to share insight with the
world, and to apprise some of the lessons that they have learned from their mistakes in the past.
By being said of the author, “The aim of this paper is to catalogue and briefly describe Google’s
key software engineering practices.” (p. 3) which is also describe on how the community can
relate with this software engineering practices whereas it can also apply with these practices.

This article is very important to the reader for who those to pursue a career in Google,
they will give an idea what does have inside of the said company. Therefore, not only Google
due to the fact these practices are being similar into other companies.

Framework Used

The author used theoretical and conceptional framework, First, the author experience is
related by working in the company, by his observation he conceptualizes the differences the
workflow of the company.

Second, he illustrates what Google does, in which types of software by being used of
engineers, type of management whereas how Google company compromises a various project in
a large community. And, the author also describes software engineering practices in which how
did engineer maintain their aspects insights of their values by working.
Software Engineering at Google by Fergus Henderson 6

Data Collection Methods

According to the author from his work, he did not provide any material that can be shown
in the paper by it can primary data in what context of information collected. His work is
relatively a qualitative data in which he used observation a case study.

Summary of Findings

From the article that has been carried out, it can be concluded that, of these finding
describe practices uses at Google by the software engineers. In the form of these big community
it is obvious one or more of them approach other practices. By this, as the article describe that
should follow in general by the best of institution. However, Google’s software engineers some
of them are not related of their practices. It is a delinquent to the Google that how did they
improved results by linking individual behaviors.

In addition, this article provides a lot of information for the software engineers about how
they used and what technologies with in. It could see that these innovations examine as software
engineer at Google.

Major Points Agreement

There are several notable strong points in this article. First, in the section of Code
Review, the author discuss about “Google has built excellent web-based code review tools” (p.
7) and it was known as Mondrian (Guido, 2006) used internally by Google, this development
describes shared development environment were any developer can easily access their own
workspace and including the automated processes, Mondrian tools creates a collaboration code
review for the developer so that they can easily grasp there work by using these application.

Moreover, the author mention about "Engineers are encouraged to keep each individual
change small" (p. 7), this smaller changes should be preferred since large changes take a lot of
time to review and it also made it easier for the author to respond to major changes suggested
Software Engineering at Google by Fergus Henderson 7

during the review of each piece. Also, these changes of large and very large size could not
commit, or at least it was not required to review, because the occupation is pointless.

In addition, from the past few years, these developments had a great success, according to
Google Developer Programs website, Guido the maker of Mondrian he open-sourced and get
part within by his development called Rietveld (Dion, 2008). This open source helped a lot into
other organization and startups companies which is they can used and make its own ideas of this
code review system. Furthermore, several years passed, according to Kevin (Quora, 2014)
former of ex-Google, he shared lots information about Google code review and the highlight by
his sharing information which is the Mondrian was called Critique whereas this development had
been rewritten and he also the people who work at Google are more efficient to used. It is
important to note, that these present evidences rely on how Google taking their employees with
using their technologies.

Second, according to author “Unit Testing is strongly encouraged and widely practiced at
Google” (p. 8). For this purpose, unit testing plays a very important role in Google, to think that
this method of testing to ensure software quality and reliability of code.

Moreover, it is worth discussing these interesting facts revealed by according to James


with his blog How Google Tests Software (Google Blog, 2011), he describes the key roles at
Google which is as Software Engineers write unit tests for the software they are writing,
Software Engineer in Test write software to allow testing and automated functional testing
without external dependencies and Test Engineer coordinate the total product development tasks
and use examining analysis to concentrate on the user. Their engineers have different roles, but
they had created responsibility to become others successful.

These findings also provide a potential mechanism for all the techniques and tools are
designed for Google. Therefore, the prevailing influence of unit testing has been considerably
used in other organizations by who are looking for new ideas to revamp their testing processes.
Third, the author mentions about post-mortems, “The focus is on the problems, and how
to avoid them in future, not on the people or apportioning blame.” (p. 11), this idea is
Software Engineering at Google by Fergus Henderson 8

encouraing, and it can be also adapting into other companies, for the instance people make
anytime fault of their work and they can learn from the mistake. With this idea had essentially
had a great success in which the best practices for the managing people at work.

This extensive result by Google’s best practices, could help a great deal to the people by
means it can collaborate and share a knowledge at every stage. This study already applied in a
company called Atlassian from Australian Company (Atlassian, 2019), whereas this shown how
did they managed with this post-mortems concepts by using incident management and with this
system are very visible to the people to doing the right thing.

This study has shown that, for many, the act of committing a mistake is enough to send
them escalation into a disappointment. But there is failure coming toward and not unavoidable,
rather to act fit as a learning experience. Although to truly advantage from catastrophe, however,
it needs a process and to learn from mistakes. With this post-mortem’s method is very valuable
to the people that who really working hard into organization.

Major Points Disagreement

However, this article has several shortcomings, First, this is an important finding in the
understanding by the author and he aptly state, “Most software at Google gets rewritten every
few years” (p. 11). He manifested by his study which it shows this method that may consume
negative impacts of the company by which it cost lots of resources, however for this purpose is
surprisingly impressive in a unique way, whereas the benefits are made propounded in which to
reduce complexity that was built at the settled period, it suitable for succeeding development
requirements, transferring a knowledge to other engineer, and the central of this innovation is
more advanced technologies.

From this standpoint, a growing corpus of research showing that Google received a
highest revenue (Statista, 2019), their continuing success is remarkable in the world of history.
To oppose the idea of Frequently Rewrite, according to a website (Hacker News, 2019), they
discussed in the forum page wherein rewritten software worked only Google and suggests that
Software Engineering at Google by Fergus Henderson 9

they are not convinced of this method in other company whereas many employees believes, it
could do a lot of work, run critical stuff on application that will affect into production of the
company, and main concern is the credibility of code ownership.

The findings of this study can be understood as Google due to the it has the money to do
this method. To conclude that, having them be unpredictable regarding the functionality of their
software with concern for contributors in the name of making their developers that may feel
difficult and forcing a challenge of their work.

Second, the author introduces “Blaze” (p. 4) known as build system, this software
describes the exclusive feature in which it can compiles fast the code, high level builds the
program languages and runs tests. Apart from this development the author also indicates those
who work at Google engineers by using with Blaze software, the assumptions are promising.

Therefore, according to Nick as former Software Engineer at Google (2018). Nick


criticized the software, and he shared the undesirable characteristic of the software. In conclusion
of his findings, Blaze is tough to accepting and challenging for Google Software Engineers.
Furthermore, this also provide additional information by according to grandle website
(Miko, 2015), in his study the Bazel perspective are rather insufficient to use by the developers.
And he also cites an article that is exposed surprising, which
The present finding confirms that

Furthermore, this also provide additional information by according to grandle website


(Miko, 2015), in his study the Blaze perspective are rather insufficient to use by the developers.
And he also cites an article that exposed surprising context, as such Searching for Build Debt:
Experiences Managing Technical Debt at Google (J. David, Misha, Raluca, Sanjay, 2012), it is
worth examining and considering. This suggests that by using Blaze not entirely answered the
vast problematic into a certain degree to Google.

Third, the author mention, at Google has a rule of 20 percent time by which they can do
any regular task or by own choice and no need to get an approval in their supervisor, they allow
Software Engineering at Google by Fergus Henderson 10

the employees to spent of their working on what they feel would benefit Google most. This rule
has not allowed in other company due to the fact in other companies they believe their
employees could be loosely structured group people in their work without having approval in
management.

From the short review above, key findings appear wherein according to Jillian from news
website (Business Insider, 2015), she had gathered lots information and conducted a research,
from this point of view 20 percent time at Google it became too difficult for their staffs to yield
other side projects. At that point, there is a talk that revealed by her research it turns out 20
percent time does not really exist at Google.

Another auspicious finding was that the results of this found clear to support by
according to Yoram from Inc magazine website (Inc, 2016), and entitled of his work Why
Google’s ’20 Percent’ Rule is Actually Useless, this article caught to the readers’ eyes and also
This kind of work is how innovation is being done, it is not approximately that is grown in
sandbox, wherein comes from using a inventions or providing a service then seeing how it could
be better. Most companies did not advocate of this approach as it has probable to disrupt
workflows and lead to lower productivity or unforeseen happen in the systems of the company.

Conclusion

More generally, these findings are consistent with the author by showing that at Google
company, he describes the experience and how software engineers managed and used different
practices in their work. This article gives an idea and share context of information for who those
want to apply a job in Google.

As follows from this article, a lot of things about the software industry that seem
constantly changed and Google are more advanced of their technology and throughout in history
one of an achievement is most valuable company in the world.
Software Engineering at Google by Fergus Henderson 11

Recommendation

The article of the author is very promising that can be used to educators in the creation of
research and analysis in how intended towards solving problems. With this kind of approach in
software engineering practice, proactivity is encouraged and expected from IT people who will
become part of an outstanding workforce. Computer scientists, government officials, business
and IT managers, and those who are working with technologies are the intended patrons of this
article. Software Engineering practice is an act of these audiences, to make their work more
convenient.
Software Engineering at Google by Fergus Henderson 12

References

[1] Mondrian Code Review on the Web, Guido van Rossum, presentation.
https://www.youtube.com/watch?v=sMql3Di4Kgc
[2] Guido van Rossum releases Mondrian-clone: Rietveld, Dion Almaer, Google
Developers Blog.
https://developers.googleblog.com/2008/05/guido-van-rossum-releases-mondrian.html
[3] How Google Tests Software - Part Two
https://testing.googleblog.com/2011/02/how-google-tests-software-part-two.html
[4] What is Google's internal code review policy/process? Quora
https://www.quora.com/What-is-Googles-internal-code-review-policy-process
[5] The importance of an incident postmortem process, Atlassian
https://www.atlassian.com/incident-management/postmortem
[6] Google: quarterly revenue, Statista
https://www.statista.com/statistics/267606/quarterly-revenue-of-google/
[7] Software Engineering at Google Hacker, Hacker News.
https://news.ycombinator.com/item?id=18818412
[8] Blaze is the Worst Build System, Except for All the Others. Medium.
https://medium.com/windmill-engineering/Blaze-is-the-worst-build-system-except-for-
all-the-others-b369396a9e26
[9] What Does Gradle Think Of Google's Blaze? Gradle.
https://web.archive.org/web/20160414130647/http://gradle.org/gradle-team-perspective-
on-Blaze/
[10] Wayback Machine. Web.archive.org.
https://web.archive.org/web/20160310103734/http://static.googleusercontent.com/media
research.google.com/en/us/pubs/archive/37755.pdf
[10] The truth about Google's famous '20% time' policy. Business Insider
https://www.businessinsider.com/google-20-percent-time-policy-2015-4
[11] Why Google's '20 Percent' Rule Is Actually Useless. Inc.com.
https://www.inc.com/yoram-solomon/20-of-my-time-will-not-make-me-more-
creative.html

S-ar putea să vă placă și