Before I write this first blog, I must send out a thanks to Phil Haack for taking Subtext to the next level. I can't wait to see what's next.
The focus of this blog going forward will be the business of software. The goal will be to shed light on issues like landing good consulting contracts; negotiating that great deal as an architect or CTO; landing a great project and managing it to fruition on time! Given that I am transitioning from Google to WebVisible, I thought I'd take a second to blog about that.
Working as a Google consultant has been a great experience. As you may have read, everyone there is smart! I don't recall working anywhere where almost everyone is a master of their domain. Google has done a great job of providing an environment that promotes maximum productivity while making it fun. It's like a college campus filled with electric scooters, engineering gadget toys, a pool table, assorted snacks and all you could dream of in terms of resources. They really have crafted an environment that balances life and work. I worked in the Irvine office and from what I hear the main office has much more to offer.
The Google mystique is a hot topic among engineers looking to advance their careers. I've heard countless stories about how hard the interviews are and how many seemingly qualified candidates are turned away. It's all true! I've known of good friends, many of them rockstars, that were turned away. They simply bombed in the interview. While I am not a huge fan of their particular process, it works! You might say it only works because of their success and the countless engineers that would give up salary to work there. You might also suggest that a soring stock price can attract anyone. My answer to that is well, it works! The vast majority of companies would fail to hire anyone with such a rigorous process. Google perseveres and would much rather pass over 10 possibly qualified engineers to get the one they are sure about. It is what it is! Embrace it if you wish to work there.
What is the interview like?I won't recount any of the questions I was asked but I might be able to shed light for anyone looking to become a Googler. First and foremost prepare. Dust off your computer science books and become one with the basics. That means knowing all your data structures, basic algorithms, implementation techniques and design. The kind of engineer that makes it into Google is one that is passionate about software development itself. One that can work out problems on the white board and is truly interested in object models and the like. This engineer will also be able to expound on topics like lists and Hashmaps, when to use them and why. As with any interview in any business vertical, you need to walk into the interview an expert. The simplest advice I can think of is, you will be asked very challenging questions, talk them all through no matter what. You aren't expected to nail each and every question. You are expected to think and you should be able to apply computer science principles to real life problems. Read any data structures book you can find. Seriously! You should also know Big O notation and how to analyze algorithms as such.
Why leave such a great place to work?While Google might represent the happiest place on earth relative to software development, my passion has always been building technology companies. The process of amassing a team from the ground up and taking a company to that next logic step and beyond is rewarding. I've always likened software to making a movie. You take an idea on paper, flesh it out, get a great crew and work hard until you are successful. My next production will be WebVisible. They made an offer I couldn't resist and their philosophy on balancing family and work is outstanding. This philosophy is the future of successful companies.
Wish me luck!
Powered by ScribeFire.