Feb 08
24
Discovery of a Life Goal

I’ve discovered what my life goal is: to work for Google! I’ve always enjoyed web programming, and I’ve been doing it as a form of entertainment. I’m entirely self-taught, and never really have been formally trained. My projects are at:
The project taking up most of my time is BNETDocs, which is basically a documentation site dedicated to the documentation of the inner-workings of Battle.net, which consists of gaming servers that games developed by Blizzard make use of. While I enjoy playing Blizzard’s games, the real joy in it is the development of the scripts that power the site. It’s basically my playground, I experiment with code, I learn new stuff and apply it and in doing so, learn even more and gain experience.
Back to what I’m saying; Google would enable me to do what I love doing, and be paid for it.
Sure, I could work at any company that wants a PHP/MySQL developer, but Google would allow, no, belay that, they would actually ENCOURAGE thinking outside of the box. They also have their developers devote some time to their own personal projects, so this would also allow me to work on my own personal pet projects, and in doing so, learn even more. I also have heard so much about people who work for Google, and I have yet to hear a single valid complaint.
“Not everybody can honestly get to say: ‘I love my job!’… Google does exactly that!”
Google seems to truly care about their developers, and not only that, they take the smart route in providing ways for their developers to grow, learn, and adapt to new technologies. So basically, working at Google is a dream job. The fact they’re also hiring in San Francisco helps too — my girlfriend has always wanted to live in San Francisco. In fact, it’s been a dream of hers for a long time. It’s been my dream to have a job doing what I already do, and be paid for it — not everybody can honestly get to say: “I love my job!” and say they truly enjoy every aspect of their job. Google does exactly that!
To that end, I’ve made the decision to devote my life pursuits towards achieving my ultimate goal: scoring a job at Google. So you’ll be hearing me chronicling my efforts at achieving that end. As for the details on how I plan on achieving that — …
First off, the job position, description, and requirements found at Google Jobs:
Software Engineer, Google.com – San Francisco
This position is based in San Francisco, CA.
The Area: Google.com Engineering
With analytical and code-level troubleshooting abilities to spare, Google.com’s engineers are technology whizzes who love being in the center of the action. We tackle a range of complex software and systems issues, including monitoring, responding to and safeguarding the availability of our most popular services.The Role: Software Engineer, Google.com – San Francisco
Are you part ace coder, part adrenaline junkie? Do you have a knack for seeing a problem and immediately discerning the likely solution? Maybe you’ve been coding for years, are bored with the old design-build-review-test-ship-repeat routine, and yearn for some faster-paced challenges? Or perhaps you’re a seasoned software engineer who is also a genius at jockeying networks and administering UNIX clusters.We’re looking for top-notch thrill-seeking software engineers to join the Google.com engineering team. Google.com engineers are in the thick of everything involved with keeping Google running, from code-level troubleshooting of service anomalies to safeguarding the availability of our most popular services; from monitoring and response to building new automation infrastructure to balancing the desire for change management with the need for stability. All team members must have strong analytical and troubleshooting skills, fluency in coding, good communication skills, and most of all enthusiasm for tackling the complex problems of scale which are uniquely Google. We tackle challenging, novel situations every day, and work with just about every other engineering and operations team at Google in the process.
In this role you will need:
- Expertise in coding, analyzing and troubleshooting large-scale distributed systems.
- Experience in a high-volume or critical production service environment.
- Strong understanding of IP networking, including the ability to analyze network behavior, performance and application issues using standard tools like tcpdump.
Qualifications:
- 0-15+ years experience.
- 3+ years developing web-based applications.
- Expertise in data structures, algorithms, and complexity analysis.
- Fluency in one or more of: C, C++, Java.
- Fluency in one of more of: Shell, PHP, Perl or Python.
- Ability to handle periodic on-call duty as well as out-of-band requests.
- Solid working knowledge of Unix, preferably Linux.
- Tack-sharp analytical abilities.
- A strong sense of ownership, urgency, and drive.
- Fluent written communication and unusual verbal agility are strong assets.
- SQL experience a plus, MySQL a plus.
- Experience leading short projects involving outside teams is a plus.
- BA/BS in CS, MS or PhD is preferred.
Based on the above, I can say I don’t meet a few of those requirements. So I’ve come up with a list of objectives to meet before I apply for a job at Google:
- Obtain a strong understanding of IP networking, including the ability to analyze network behavior, performance and application issues using standard tools like tcpdump.
- Gain expertise in data structures, algorithms, and complexity analysis. I’m not quite sure what exactly they mean by algorithms and complexity analysis, but I plan on finding out, then interweaving that into my personal projects so I can gain the expertise needed.
- Become fluent in C++ and Java. It’s about high time I do so anyway, and I can think of at least one personal project that’d benefit from my mastering C++. If I recall correctly, most cell phones run on Java, so maybe I can benefit from that as well by making programs for my cell phone.
- Get a BA, with the major being Computer Science and the minor being business administration. I was planning on running my own business (KadreCorp), so it can’t hurt to have business administration as my minor in case the Google angle takes a lot more longer than expected to achieve (yes, I plan on getting a job at Google, no matter how long it takes, even if it takes a lifetime!). If it actually takes longer, I’ll just work on getting a MA in CS.
I will be going back to college beginning the first week of June. I already was planning on that, but I initially was focused on just getting a degree in business administration, but now I’m switching to Computer Science. My first objective will be to figure out just exactly what courses in college I should take in college to achieve objective #1, for that, I will need to speak to someone at Google. Perhaps someone there can recommend some courses I should take and elaborate more on objective #2 so I can have a much more clearer understanding of what kind of abilities they’re seeking. For objective #3, I plan on teaching myself C++ starting now. I already have a project in mind, so I’m already looking forward to it. When class registration starts in April, I’ll sign up for C++ and Linux administration classes, but I don’t see why I should wait when I can take the initiative and teach myself. My business requires knowledge of Linux anyway, so I already have a head start (I already know the basics of using the shell, and already know some Perl). I also know that C++ can be applied to Linux, so I probably will be exploring that as I can already imagine a few programs that’d be of benefit to my pet projects if done in C++. What I’m basically saying is; what they say is a requirement, even if it doesn’t score me the job at Google, would still benefit me a lot. So I don’t see getting a job at Google as work, I see it as an opportunity!
“I don’t see getting a job at Google as work, I see it as an opportunity!”
I’m betting you’re wondering what got me moving in this direction. I owe this to Nathan Kester, who is a customer of my business. He’s been very encouraging in my pursuits, and he’s also has been (and still is) a huge inspiration to aspire to be so much more than what I already am, and to think big. For that, I owe many thanks to Nathan Kester and fully intend to maintain an excellent friendship with him!