To start things out. Many programs start out small. For example: the creator of Facebook started out by simply creating a program and putting it out there for others to see. A simple idea can manifest into something much larger that in turn affects many lives.
What do google software engineers do? Well first-off, they don't shrink-wrap software. Everything they develop is put online wether it's free or not (Google Chrome). This is mainly do to the fact that their software has many updates, so online software is much more convenient.
On a large scale, google solves problems that are too large to be handled by a single computer. Google also serves too many users to answer all the queries on a single computer, which is why Google had to evolve in order to handle a larger quantity of users. This is what led Google to create their own servers, eventually leading into building their own data centers, in order to reduce cost. Their first data centers were build on rivers because of low-cost energy due to the fact that many rivers have dams creating infinite power.
MapReduce is a framework for distributing computation that follows the outline of the link problem:
1. map
2. shuffle
3. reduce
It also handles problems like server crashing.
What does an engineer work-flow look like? First, they identify the problem as a team and brainstorm. Second, communicate your idea with your team: verbally or with a design document. Third, write your code. Fourth, test your code with "unit tests" (and existing code that you affect). If your code fails, then go back to coding. Fifth, send your code to a colleague for review. And finally, get a "looks good to me" from your reviewer and then submit! Wait! Not done yet! Now it gets deployed to a canary cell (small controlled deployment used to see if anything goes wrong). Now! Deploy to production! It seems simple but there are actually many meetings involved as well as collaboration of others. All these steps are necessary for a google software engineer.
After thoughts,
I really enjoyed the presentation! I had an idea about how a google software engineer goes about his day but not to this extent. It was also great to know how google first got started, which was briefly presented by Scott. All in all, I learned a lot from Scott and it has left me with high hopes in my career.
No comments:
Post a Comment