1415T1g1 Silicon Valley/Participant Information/Reflection/11 Dec
Great Mall
So the weather was bad and we had to drop Dropbox (Pun intended). Instead, we had the chance for a great shopping experience at the Great Mall. Everything was a steal! Great bargains for items that cost way more in Singapore. Everyone had a great time together and shopping in the States proved to be so much better than in Europe.
Google
Google is the focal point, the core, the engine of Silicon Valley, whichever name you call it, it is the hub of Information Technology. Google has a variety of popular products such as the notable search engine, Gmail, Google map, Google Drive, Google Glass, Google Self-driven mobile and many other more. Google is not only big in IT-Scale, it is the biggest infrastructure in the valley as well as the world. It has many branches in the world like New York, Beijing and even Sydney! Google has a global magnitude of users and requires maintenance all the time. It is a giant in the IT realm.
At Google, we were invited in by Yan Hao, an employee working at Google. He brought us into the meeting room, and immediately we are drawn to the advanced technology of not using any cable to connect to the screen. He asked us what have we learnt from the companies so far, and we told him about how the community felt that working in a start-up is better than a big MNC simply because one gets to participate in more parts of the project, having a sense of responsibility to the project. However, Yan Hao made a very constructive feedback upon hearing that, he mentioned that even though one may be less involved in the project, the effort contributed has a larger effect to the world then a small start-up. He added that because of the large company, it is possible execute changes much quicker in each iteration and make better contribution to the world at potentially a way larger scale. This gave me a better comparison between working in a big MNC and start-up. There’s no such thing as the grass is greener on the other side, it is based on one’s perception and stand to it. I feel that both has its pros and cons, but I do agree with Yan Hao on the fact that larger companies would have the ability to set the change globally, and an employee can still have the same or even more satisfaction when he/she knows that his/her contribution made this possible. Yan Hao continued to explain the business structure of Google. He listed out the different business units in Google. Namely: Knowledge, Infrastructure, Youtube, Android, Geospatial and Social. This impressive list of business units shows diversity as well as the magnitude of Google. As for Yan Hao, he is under the infrastructure department where he is assigned to support the server infrastructure, and ensures that the network is always functional. He mentioned that he often has to liaison with the Sydney side which requires him to work at odd hours. It really shows that as an engineer in the company has really no fixed hour and whenever the job demands for work, the engineer has to still do it. This gives me way more respect for programmers in the company, and how we should never take our internet for granted. The effort and contribution that are put into this is simply too remarkable.
In addition, he briefed us on the interview process for both a normal applicant as well as an intern. The interview process is extremely onerous. We were literally dumbfounded by the amount of stages and the complex interview process. To ensure that each interview process is based on a unbiased judgement. To sum it up, Google is very difficult get into.
It poured cats and dogs today, thus initially most of our plans were drenched out :(. Dropbox got cancelled (really sad :( wanted to get some space on my dropbox account) and Google was initially called off but we were lucky that Yihao's brother offered to personally bring us around! Anyway I'll talk about that later! Since initially we had nothing we could do for the day due the the largest storm of the decade! We decided that it ain't gonna rain on our parade! We decided to visit one of the large malls around called The Great Mall A Simon Center which featured a wide array of well known brands the group split up immediately upon arriving and everyone was off doing their shopping! It was great to have sometime hanging out around the mall chilling after the past few days of intense company visits. Bought a pair of slacks and checked out a really cool arcade which looked like a casino! Once we were done with shopping we headed off towards Google!
We arrived at Google at around 3 after travelling down from the shopping mall and the sky was still pouring. The company has many complexes around the campus and they have a very university like structure around the area, with classes and projects that employees can pickup and join at their own will. Our host Yan Hao, Yi Hao's brother, met us at the entrance of his complex where he worked at and then brought us into a meeting room. In the meeting room, he gave us a small presentation about Google and about his experience and story of how he got to where he was, we also had a Q&A session where we could ask him some questions about the company and himself. There were a couple of things in which he explained and showcased to us during our conversation with him which I felt was pretty impressionable and related to us.
The first thing I remembered about our exchange with him was about the massive scale of operations which Google has, in order to meet with the extremely massive scale of service that they provide to the entire world. Any function or service that they provide has easily millions of users and therefore their infrastructure and technical reliability teams has to be close to perfect or at least the best of the best. The massiveness of their services I believe trains their infrastructure employees in a way only possible at Google as nowhere else are there operations in such a massive scale. The staff are so good at handling with such infrastructure matters that, when ObamaCare crashed due to the massive scale of users using the website, the a group of their infrastructure employees were called down to fix the problem as mentioned by Yan Hao.
The second thing about Google I picked up was that it was very open as any individual within the company can look into or check out the codes and information of any of their products/services even if they are not working or related to the operations. This helps with the generation of ideas, facilitates integration and also help with the development of new services. Furthermore, Google also encourages their employees to take on multiple or switch between different groups that work on different projects within the company. This is not something we see in many companies as most of the other companies we visited either only has a main focus of on their core business like Nitrous.IO or do not normally allow people to jump around between project groups. This i believe is one of the reasons why the company is said to have one of the best working environment as well as having a very innovative workforce.
Last but not least the most important thing i got out from Yan Hao, was on the interview in which he had in order to be offered a job within Google. The Google Interview generally consist of 2 off-site phone interviews, 4 on-site interviews & evaluation by a panel of engineers (Mainly for engineers). For the on-site interviews, applicants are given a algorithmic or data structure problem/scenario where they are suppose to come up with a solution to the problem and then explain the big O complexity of their solution. Next they are expected to improve the complexity of their proposed solution and as a final test for just one single on-site interview they are expected to write down on a white board the correct syntax of the implementation of the code. As can be seen the difficulty and requirements of the interviews by Google are extremely high, this is so that they are able to sieve out those that are not good enough to work at Google and also to ensure that the talent pool at Google are kept at a high level. This is also because at Google they generally do not fire people when they do not do well or perform at their job but instead try to help improve and support the individual who is not performing. On the whole, our time at Google was a very fruitful one and it has truly inspired me to working harder towards improving and making myself a better stronger developer.
- When the problems are massive and difficult, it trains and makes the best people.
- At Google, the open and encouraging culture of the company, makes it one of the most innovative companies and also accounts for it having the best working environment around the world since it value adds on their employees.
- We've got to work really hard to improve on ourselves everyday because there are extremely difficult tests and obstacles out there that we have to face & overcome in order to achieve or to get our hands on the fruits of labour once we've overcome this obstacles.
So thankful for Yan Hao for taking time off to allow us to visit Google despite the gloomy horrible rain.
We learnt a lot of things at Google. My main takeaways were basically stuff I had overlooked before. The first is that because of the size of Google and its expansion right now, it is hard to maintain a start-up culture that allows for ground-up initiatives. The second is that Googlers are able to check out codes of all the various projects handled by the various teams at Google. This was really cool, and shows how the teams do not work in silo and are able to check out other projects that have been worked on / being worked on. The third is that (just like Nitrous.io) they do peer review of code and standardise all coding style in Google. This enables for coding to continue even if one of the software engineers on the team is not available or in the event that he quits the team.
The interview process seems super crazy here too. It feels like Google does their best to not make mistakes when hiring people and do all that they can so that the people who eventually become Googlers truly deserve the title. Yan Hao mentioned that his project team members included software engineers who topped their cohorts in the universities they came from. Like, wow.
After this visit, seems like the environment in medium-sized companies seems to be the most preferred choice for me. Working for such a big MNC seems daunting, although it is not an impossibility and should still be kept as an option. It was great to know that Google was still trying to maintain the start-up culture and openness despite its massiveness in terms of initiatives and size of the company.
And I really wanted to take pictures with the Android lawn statues!!! Wish it wasn’t raining when we visited.
Google - A constantly evolving search engine
During our visit to Google, we learnt that the company is actually very open and there is a lot of trust that Google places on its employees. Employees are able to access any code base in Google and will not be blamed for their mistakes. It is also very hard to get fired from Google, (approximately 2 years!) and so in order to weed out bad employees, Google uses an extremely tough interview process.
A few great learning points are the practices that the engineers have at Google. Google engineers make use of peer review to help each other code. One engineer will write a snippet of code before sending to his peer. Doing this prevents bad codes as early as possible and it means that there are at least 2 people familiar with the code so that there is no single dependency on just one person. This seems like a good practice to have as it is fast but the downside is that the coders must be good enough to write codes on their own. Another practice is their automated unit testing for functional testing so that they get less bugs in their code. Of course, this has a downside as well which means having to spend more time writing more test cases.
For me, the greatest takeaway from Google today was the interview process. The interview process is long and difficult with several rounds to pass. Knowing about the interview process is rather advantageous as it helps me to prepare myself for what is required at big tech companies. Personally, I know that I am not good enough yet and will have to brush up on my data structure and algorithm knowledge if I ever want to work at Google.
It's a pity that we didn't get to visit dropbox due to the weather. We went to The Great Mall instead. With so many retail outlets, There wasn't enough time to look at all the shops. This just means that Gilroy will be worse! So for today, we only had one company visit. One of the largest company when it comes to data. Google. Sadly, due to the rain, we didn't get to see much of google. once we entered, we were brought to a meeting room. The way the meeting was conducted had hints of google hangout. It's cool to see how devices interact with each other. We learned on how projects are conceptualised and developed into actual applications in google. However, most of the questions were asked about the employment system. Google really tries to employ the best of the best. As such, they have a very stringent way of selection. Multiple interviews and demonstrating algorithms are just part of the process. It's interesting that they get 3 random google engineers to conduct the interview in order to not have any form of bias. But from the looks of it, our computer science foundation of Computational Thinking barely scratch the surface of what google employees are expected to know. However, There is only one thing that I'm skeptical about what the host at google said. He said that information are open and that employees can see algorithms from any project. Is this really true? How about secret projects like those in google x? Theres definitely some form of access control to the level of clearance each employee has.
Google is definitely one of the most exciting companies to visit, you will simply consider anyone in Google as your idol and give so much respect. It is very fortunate that Yihao’s brother Yanhao actually works in Google, so we have this opportunity to visit one of the greatest company in the world.
It is expected that Google will be huge in terms of the number of employees, especially engineers in the company. However, one thing that surprised me is that Google actually have a very flexible internal structure. Most MNCs will have complex hierarchy to facilitate management, although technology companies have generally a more flat hierarchy, but a big technology company will follow the convention as well. But Googler can actually join and leave a project team pretty easily, it is more like a market place in Google, there is portal for you to look for projects that you are interested in and for Project Manager to look for people that he or she is interested in. Honestly, it is very hard for me to think of how the structure can work out, it involves such a high mobility and the complexity behind is really high as well. It is definitely a challenge for the management level. But the benefit of it is also great, Googlers get to work on projects that they are interested so that any interesting ideas can be easily developed by people who are passionate about it within the whole Google. This facilitates the bottom up culture and helps Google stayed competitor in the market.
Another thing I notice is that Yanhao is looking for other job now even when he is in Google. This again verifies the observation which shocked me on the first day, people here are not looking for a stable job in big companies, they love startups and they prefer to work on interesting new products and they feel more valuable there. Perhaps, it is time for me to not consider companies like Google as simply dream or legend, I should think of it as a common technology companies and start comparing it with other companies with great potential. The market here is different from what we see in other places of the world, opportunities are everywhere and startups are the future.
One interesting thing I learnt about Google is that they take around 2 years to fire someone! Though such downside is mitigated by the really tough interview, this is still really shocking and different from other startups outside where employee volatility is high. Such phenomenon happens because smaller startups are probably expected to move in lightning speed. For Big companies, I believe that have more rules and hierarchy of command to adhere to which makes it difficult to even employees from their company. This is interesting to know because Google is known for their efficiency and looks like their HR side severely lacks that.
We finally get to visit Google!
The campus was huge holding up to about thousands of software engineers. Here at Google, we got a glimpse of what is it like to work for one of the most admired tech companies in this century. Our host Yanhao was very kind to get us a meeting room since the storm disrupted our initial plans of visiting the Mt View Complex.
It was indeed interesting to get to know about the software development cycle here in Google. Engineers here are put into groups of 7 where each engineer is paired to another 2 to facilitate peer review. Unlike using the traditional way of pair programming, Google uses peer review to ensure that the coding standards are of top quality and to eradicate any possibility of code dependency should one of the engineers decides to quit Google. Moreover, the culture here in Google is different from startups. Engineers here have the flexibility to work on their projects during office hours. The culture is very open, such that anyone can just approach the code author to learn more or to critique his codes. Google also does not condemn people who make mistakes but encourages them to make the most of the mistakes made.
The codes written by the engineers here are subjected to high standards of scrutiny. There are engineers dedicated to create automated test cases to sniff out any bugs to ensure the high quality of codes. In Google, we also learnt that they practice concise documentation that states the description of code, variables involved, input and output etc. What is interesting is that Google places much emphasis on testing. They practice dog food testing which is a term to describe testers from within the company but outside the development team on occasions where sensitive data is involved. One interesting fact is that all functions coded in Google has to be subjected to at least 80% of test coverage and they usually does thins using automated testing.
We also got treated to a preview of the interview process for both full time and internships positions. According to the host, most of the interview questions test on data structures and algorithm that requires you to explain and justify through pseudo codes. Lastly we get to shop in the Google shop interesting and cool merchandises.
Today, we learn about the product development lifecycle of Google. They used quite a bit of time planning before writing code. Code can be written pretty quickly, and with modern tools such as CakePHP code is written for you instead. However, while the planning is done there will still be changes – and google engineers easily change it(after all, they are good programmers) however, it is interesting to note that there has been little done to ensure that the documents are not updated frequently. I like the fact that they believe that rigorous testing – I saw a poster in the toilet that said something along these lines: the more time spent testing the lesser time debugging. I think this is true. A lot of time spent doing the different testing(unit, integration) would save a lot of time debugging.
What’s interesting also is that they have an internal google testing before a product is launched that reaches over 50 000 users. That’s a good number of users to really test the service in terms of being able to load the number of users and bug testing.
It is also interesting to note that for the ‘average task’ such as version control and issue tracking, google uses a proprietary solution – while it’s understandable that they may have greater requirement as compared to smaller software shops, it is quite a mystery that they do not themselves share with the world their solutions – afterall, the produce solutions for the world, and their inspiration for new products are simple – I believe there’s a better email solution etc.
One thing however, is that google is moving away from having internal teams build new products. There has been a recent trend of buying over companies to break into a new market(like android). Could this spell the end for google’s rapid growth and it’s position as a kingpin? What does this mean for the employees of google?
The storm of the century here in California did little to dampen our mood as we went full swing with our plans to check out Google. If not for this downpour, the Mountain View complex would indeed be a good place to walk with many photos to document this visit. However, our host was gracious enough to find a meeting room to accommodate our group and feed our insatiable hunger for answers. What’s it like working in a highly competent environment, its challenges, and the desire for change within the company, were but a few of the many questions we posed to our host.
My personal experience with Google began during a project for a module, Technology World Change, where my group and I researched on Google’s growth, acquisitions and culture. Following which, I began using Google’s products and services extensively, from its collaboration tools to its APIs. Now, getting to see and understand the scale at which Google operates was a mind blowing session. Do you know how extensive code testing can be in order to achieve a seemingly flawless service, or how Googlers are able to respond to any downtime almost immediately? Google executes all these seamlessly and at the same time, develops its own tools to monitor, test and manage its projects. I would never have guessed Google would develop something akin to JIRA, or have its own specialised search engine to search for internal codes. I have always thought of companies leveraging on existing tools and services on the market in order to achieve a goal and not develop them in-house, especially when time and resources could be better put to use in core areas. Perhaps there are reasons, such as the limitation of existing management tools and error/bug reporting that caused Google to focus on building in-house products. Or maybe they have long ago decided to take security and confidentiality on a whole new level. I believe this is something to further look into.
A high internal mobility is also one of Google’s many faceted culture. Not only engineers but also project managers are able to leave and join any other available openings via an internal job portal. Perhaps this factor is what gives Googlers their edge in that they know and learn more on the job as they remain active and mobile between the differing projects.
In addition, our host was kind enough to share the interview process for hiring here at Google. Not only that, he went ahead to shed some light on what our focus should be in order to prepare for the engineering and technical questions that may surface. I think the takeaway for this point was the fact on how Google still manages to maintain its workforce (engineers) competency level even as the company continues to scale up. The unbiased interviews and tests almost make it seem that only the best of the best is filtered and chosen to work for the best.
However, it would seem that the number of projects being mooted by Googlers themselves are no longer on the rise, and it is a loss to see this culture of free-spirited innovation diminishing over time.
Even with some issues along the way, I however still see Google as a definite example of how successful tech companies can be, and one day, I too hope to be a part of an excellent organization that strives to change the world.
Google We went to the Google Headquarters to meet YanHao, brother to Yi Hao, who is an engineer in the infrastructure team. YanHao spoke about getting a job at Google and his working life there. We were once told by a host of one of the startup companies that we visited that working for a large company could turn out to be mundane or that one may not achieve visibility in a sea of so many engineers. YanHao said that the work at the infrastructure team is one such example that has low visibility but he said that he coped with that by knowing that he helped in a way to make the entire Google system work.
YanHao also informed us about the changing trend of Google, of which an environment that we used to know a love, tend to terminates new idea that are not making the cut and instead prefer to acquire smaller startups that are aligned to their interest since that these smaller companies are more familiar which the technologies that they are developing.
The news that we’re going to Google was received with much excitement. Google is one of the companies that almost every engineer or developer wants to work at. Of course, it’s natural to dream of working at a company that ranks top for best workplaces, great salary, great employee benefits and free food. Google’s work place is structured much like a university with buildings (a.k.a complexes) with facilities such as meeting rooms, work stations, quite rooms, etc. for the staff to book and utilize. Such a workplace is immortalized in the tech world and is adopted by many tech companies and startups.
My thought that Google have managed to allow its employees to generate ideas and thus, retain the startup culture was wrong. Because according to the discussion at Google, the company has grown too large and is facing difficulties in churning out new projects. The current CEO, Larry Page has taken initiatives to shut down unsuccessful projects. This may mean that Googlers will become less willing to propose new projects. Since new projects give the company an opportunity to avoid being stagnant and keep up with the upcoming trends, Google’s strategy is to invest in successful startups that deal with the fields Google is interested in. This strategy can be seen in the company’s acquisition of robotic firms recently. Therefore, this may be a sign that the company might cut down on internal project proposition and adopt the aforementioned investment strategy.
It is interesting and humbling to hear how people get hired into Google. How Google stays fair in it’s hiring efforts is something I respect about the company. As a young secondary school student who had joined the school’s IT Club, I was excited to learn programming and go for competitions. It is unfortunate that at that young age, I didn't had much guidance and had to be independent both in learning and participating in IT competitions. I used to join National Olympiad of Informatics (NOI) organized by NUS during my secondary school times and always wondered how people could program an algorithm so fast and efficient. I had to learn coding, data structures, problem solving myself. I had no idea that a field called computational thinking existed back then. Perhaps, I would have had a chance to win one of the many NOI competitions I joined if I had formal training. Nevertheless, I am glad to have shared this connection of participating in NOI with Yan Hao, our host at Google.
A programmer's dream, Google is one the biggest tech firms in the world. The sheer size of the company is just overwhelming. One has to take transport to get from one point to another. Initially, the storm made it impossible to visit Google but thanks to Yihao's brother, Yanhao, we were lucky to visit this fine institute eventually. Like the general consensus, it is very hard to get into Google and Yanhao actually went through with us the selection and hiring process. The most important thing is not about the entire hiring process itself because everyone knows that it is tough, but instead it is the amount of effort that one is willing to put in in order to get the job. A lot of times people just give up halfway when it gets too tough, and therefore did not make it to companies to Google eventually. One of the attributing reason may be due to the fact that Google is in the States, and it is so far away from Singapore. That causes a lot of people to lose sight of it during their study days. It is good to go on trips like this TSM, to visit institutes such as Google to get back the dream that one had.
The most daunting factor of working in Silicon Valley may be the corporate tax rates here. With a whopping 40% of corporate tax rate, the bring-home pay is much less. However, Google realises this problem and also knows that money is not the only determining factor of keeping a good employee. As such, they have one the best facilities in the world in order to provide employees entertainment and relaxation at work. At the same time, they also provide meals and transportation for the employees. It all goes to show that in Silicon Valley, pay is not the only detrimental factor of keeping talents, work benefits are very important too.
It was fun visiting Google again. It was a pity that we are unable to do a tour around the campus due to the storm. We met the host in CL2 meeting room where we had a fun, interesting and eye-opening discussion.
During the discussion, the host shared with us a wide array of topics such as the departments available in Google, the inter-mobility of the engineers in Google, the coding practices, the things that Google are good at, the interview process and the work life culture in Google etc There are a total of 8 departments in Google, with the knowledge department being the largest. The host belongs to the infrastructure department and he is responsible to monitor the networking traffic.
Google is different compared to other companies. Firstly, it allows the engineers to switch from one department to the other department provided that the engineers are able to convince a manager to take them under his or her mentorship. Also, the engineers can look at the codes of the projects that the other departments are working on. Personally, I feel that Google is doing a good job in this aspect compared to Apple Silo mentality. Perhaps the Google engineers can learn some good coding practices or skills from other departments and apply to their own jobs.
As mentioned by the host, Google is also extremely good in dealing with large scale operations, for example the amount of load the search engine can support at any point of time. Although the search bar engine might look the same over the years, I believe the networking load behind the search engine must be constantly evaluated given the rapid increase in the number of internet users around the globe.
As Google becomes bigger, there are lesser ground-up initiatives over the years as Google tends to purchase successful startups. Personally, I feel that Google should still try to promote ground-up initiatives when possible. There are chances that the ground-up initiatives will be revolutionary given the success of its past products. Google rationale was that it cannot be good in everything it does so a better alternative will be to purchase the startups that are good in their respective field.
Also, being a large company, critics might argue that the changes that engineers make cannot be seen. Personally, I feel that this is true but the changes that they make will impact most of the people around the world.
In retrospect, I feel that Google is a good working place for engineers with a passion in technology. It tries to incorporate some startup culture such as having a non-silo organization structure. It might not allow you to become a Jack of all trades as in startup, but it allows you to “learn about the things that you do not know that you do not know”. Once the timing and the opportunity is right, I believe the host will leave Google and join a startup or create his own startup.