Category Archives: Career
A little over two years ago, while on the home stretch of my computer science degree, I decided to leave the contracting position I had been employed with for almost four years and move into full-time employment as an engineer. While I had a few reasons for doing this (less headaches with healthcare, taxes, etc.), the biggest reason was to position myself in an environment where I could gain experience working in a fast-moving (read: agile) team alongside a more “cutting edge” technology stack.
Truth be told, it wasn’t hard for me to find a new gig. I got a few different offers after interviewing around town for about two weeks. While all the positions seemed promising, my gut pushed me towards a small startup in downtown Denver that was working to grow their product and engineering staff from the ground up.
Things turned out very well for me, and I truly can’t say enough about the position and the people I worked with. The position was fast and demanding and I was able to put my hands on a large amount of great tooling and frameworks on all levels of the development stack.
However, all things eventually end and I’m happy to announce that tomorrow I start a new gig as a senior user interface engineer at Time Warner Cable.
The engineering staff that TWC has been able to assemble in the last few months is extraordinary, and they are working on projects that are, quite honestly, right up my alley.
I’m pretty excited about this move. The web user interface technologies that exist coupled with those that are quickly solidifying (HTML5, CSS3, etc.) represent some of the most exciting areas in computer science, engineering, and design today. For a guy like me, there is nothing better than working with this type of tech!
I suppose it’s some sort of “rite of passage”, but I got pinged from Google about a month ago for a possible job opening. A Google recruiter came across my blog (very likely what you’re reading now) and thought my credentials and experience might be a good fit for a position at the office in Boulder, CO (that office, as far as I can tell, is mainly responsible for the Google Docs suite of products). While I’m pretty happy where I am, I felt very flattered they would feel that I could be a good candidate at a company whose hiring standards are the things of engineering lore.
The recruiter asked my permission to apply for the position, and the next email I received was that one of the senior engineers was interested in having a phone interview with me.
Let me back up and say that I was not sure what to expect. In my day-to-day projects, including those both both work-related and “for fun”, I typically spend more time playing with the latest technology than thinking about things like the efficiency of the Java Collections library. In other words, I’m very much a pragmatist rather than a theorist in most cases.
However, I decided to look at this opportunity, however it turned out, as an excuse to improve my theoretical skills and advance my effectiveness overall as an engineer. To that end, I delved back into discrete mathematics, algorithm analysis, concurrency issues, and overall performance making a conscious attempt to look at problems more like Google might (on a super-large scale).
I’ll talk about the actual interview below, but just the process of prepping for the experience was a huge boon, I believe, to my individual development as an engineer. In fact, I had such a good experience revisiting these topics that I have decided to both continue the process as well as begin looking towards starting a graduate degree later this year.
The interview itself went fairly well. As far as advice goes, I’d recommend anyone attempting to interview with Google refresh their algorithm analysis knowledge as well as spend some time on the more esoteric features of the platform/language in question. I had a question about Java inheritance which I answered incorrectly (I realized after the fact when I tried the scenario) simply because I rarely use inheritance in my day-to-day engineering (I prefer composition in most cases these days). However, I think my answer to the algorithm analysis question was pretty spot on albeit taking probably more time than I should have getting my head around the problem.
Despite not being picked up for the position, I’m still flattered that, less than two years after receiving my CS degree, I am getting interest from a company known for hiring only the best. It makes me believe that my career is on a good trajectory and gives me even more to look forward to in the future.