Latest Comments
« Wells Fargo has no ACH Transfer System? Unbelievable! | Main | Why you don't learn how to write programs in university »

What I have learnt as a Journeyman

I have been working at Google for almost two years now. Google is a great place to work in - great benefits, outstanding colleagues and, well, a stable job in today's economy. And to think this all started with my wife applying for me on her own accord [see Making a career choice]. I have grown immensely as a software engineer, but there is still so much room to grow. Here are a few tidbits that I have picked up along the way:

Unit testing - when your code is live and serving traffic 24/7, it enables me to sleep better knowing that it is tested. The tests range from small (each library has unit tests for each individual function) to big (integration tests that the service can connect to all backends and work as intended). Using Mock objects helps to test environments in a controlled fashion. Unit-testing for failure conditions have saved production crashes in numerous occasions. [See Google Testing Blog]

Refactoring works. Especially with those nifty unit tests written to ensure everything works.

Code does smell, and at Google, it's usually my own first working implementation. Oh, wait, that's why refactoring works.

Mapreduce is my hammer - all nails shall tremble in its presence.

Patterns, paradigms and ideology are great, but don't let it get in the way of getting things done. Overengineering is your worst enemy.

Reader Comments

There are no comments for this journal entry. To create a new comment, use the form below.

PostPost a New Comment

Enter your information below to add a new comment.

My response is on my own website »
Author Email (optional):
Author URL (optional):
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>