Tuesday, February 4, 2014

Studying like it's finals week


It has been a few days since my initial kickoff post. Since then I have spent time researching everything I can on the position. Often at this stage I would also be researching the company, but Google hardly needs any introduction and plus I am a big fan and user of many of the products. I learned the developer advocate falls under the larger umbrella of developer relations @ Google. Checkout how Google describes it here: https://developers.google.com/jobs/. The Developer Advocate is a special role because it is so mulch-dimensional. Sometimes the advocate is coding, other times writing, and yet even other times speaking publicly about their technology.

I think the main people who are a part of software development can be broken into three categories:

1) There are people out there who are pure engineers: creating algorithms, maximizing efficiency, eking the most performance possible. 

2) The second group are the software developers, these guys (& gals) are using the frameworks and building the applications on top of the engineers as well as other higher application interfaces. The devs do think about the things the software engineers think about, but they are also concerned with usability, business logic, and overall design. 

3) I think the developer advocates fall into a third category and must be melded from the other two categories, but their role is to foster communications and be the glue to help tie the community together.

The interesting part of how Google sees the developer advocate is they still want them to be very strong in an engineering sense. So to give myself the best possible shot at the technical interview I have been brushing up on my computer science notes from college.

First Major Area: Data Structures
I first focused on common data structures and their uses since this is such a big part of the large web applications that Google develops. The main ones I focused in on are linked lists, Trees, Heaps, Hash Tables, Stacks, Trie, and Graphs. Each data structure has a unique behavior and set of traits. These are the goto tools in the tool belt that software creators can use to build their creations. I found a great website http://bigocheatsheet.com/ for a well presented list of each of these tools and some of the complexity tradeoffs between them.

Next up: Algorithms


Extra Resources:

Scanning the internet I found some related articles referencing their experience in what I am presently going through:

http://www.globalnerdy.com/2013/10/19/i-has-the-dumb-or-how-i-embarrassed-myself-in-my-interview-with-google/

http://alexbowe.com/failing-at-google-interviews/

http://randommarkers.blogspot.com/

No comments:

Post a Comment