1 Year at Google Already?!?!

Hard to believe one year ago today I was starting orientation in NYC Google office. What a wild ride it has been.

People ask me lots of things about working at Google – and to be honest a year in I still feel like I’m the lucky dog who caught the car. But I figure a little post might help articulate some of the awesome and challenging things I’ve run into this year.


  • Imagine the best people you’ve ever worked with in your career – now imagine the entire company is made up of those people. Thoughtful, super smart, hard working and so far really nice.
  • Free food – and it is pretty darned good! My first day on the job I had prime rib for lunch. That is hard to beat.
  • Free coffee – like there are baristas on a bunch of the campuses, and coffee maker machines that make lattes on pretty much every floor
  • Micro-Kitchens – snacks, coffee, water, etc, always within a short walk of wherever you plop down
  • 60 minutes of massages on site each year!
  • Great engineering culture . Always focused on gathering data to back up assertions – upbeat, but with an engineers skepticism for all the things
  • Nice dev hardware – I have a Macbook pro and a Pixelbook and a 4k 32″ monitor. They have loaner laptops when u need a spare you can just grab off a rack and log into.
  • Chromebooks – no seriously. I can do like 99% of my job from a pixelbook. I’m kinda amazed, but I can code in the cloud on the rare occasion I need to code. My life is crazy easy to switch computers now. I grab the machine that fits my situation and go.
  • Amazing tech to work with and provide customers – GCP still amazes me at times. Things like BigQuery, Cloud Spanner, and Anthos are just the best in their category and kinda like tech-magic. And the datacenter network, and systems management behind it all is simply amazing.
  • Strong focus on diversity and inclusion of all people in all situations. It isn’t perfect in implementation by any means, but it is constantly trying to improve, which is pretty great IMO. Everyone here will go out of their way to make an accommodation for you for any reason. Kinda important when you have been dealing with depression and going thru a divorce like I have been this last 8ish months.
  • Amazing Customers – I get the opportunity to talk to some really really cool companies doing some cool stuff, and help them grow and expand into the cloud while modernizing and transforming their culture internally. They are the biggest reason I enjoy getting up each morning.


  • Hard to work at a company with a focus on relentless pursuing excellence, and filled with top talent, while you are dealing w/ depression and going thru a divorce. No matter how accommodating and understanding your bosses are, there is no where to hide, and no way to coast and ride out the tough times. I’ve been super lucky to have understanding bosses and coworkers, but it takes its toll on me knowing I’m not 100% living up to my potential in the organization. In past jobs I’ve been able to ride out a depression spell with at worst a minor bump in my otherwise good performance reviews year-over-year. Much harder at a company like Google, and doesn’t help you get out of the downward cycle. I’ve been learning a ton about myself and new strategies for building myself up in the midst of this – but there are rough days for sure, where I feel like I’m letting someone down no matter how hard I try. This is the most true here of anywhere I’ve worked in my career so far.
  • You have to self-promote inside the company to feel like you are keeping up. It is kinda the norm, because we celebrate a lot of the wins and personal achievements, and I like that. But for an upper-midwest preachers kid it is always hard tooting my own horn, or asking people to toot a horn for me. But that is the culture inside the company (to celebrate wins – not to be a arrogant in your self promotion)
  • Sales is harder than I thought it would be. Coming from consulting I knew I would have a learning curve, but it was steeper than I thought it would be. Some of that I’m sure is my life situation, but generally speaking Sales is trickier than I thought. And the pace is even faster than I imagined it would be vs. consulting. One of my key learnings, and a hard thing to get over coming from consulting, is not being the expert in everything. So instead of researching answers to questions I don’t know like I used to, I do a quick search for an answer, and then focus on finding specialists to help and speed of response. I’m used to having more time and needing to respond myself, so this has been a big change in how I intuitively interact w/ customers.
  • Working remote at Google is oddly out of sync w/ the company culture. Google is an office culture – believe it or not. You are required to work out of an office most of the time. You can work remotely or from home part of the week if you normally work out of an office, so I’m talking more about being 100% remote employee. To have a completely remote designation, like the folks in MN do, is far outside the norm, except in sales. You miss a lot of the goodness of being in an office being remote (like the free food, and tech support), including the day-to-day people interaction. Being an extrovert this has been tough for me on top of the deficit just in terms of how office-centric Google’s overall culture is. I try to be in Chicago almost every month for at least a couple days to help offset that. Since I started regularly taking those trips it has helped a ton. I still haven’t used my massage minutes when I go tho – I always forget to book ahead so I can line up my trips to Chicago w/ the therapists on site there.
  • Things change a lot – and that is coming from someone who likes change. None of the changes have been a huge issue for me – but sometimes with the growth of Cloud (in general and inside Google) it feels like all you can do is hold on and accept that 6 months from now, things are probably going to be different. I kinda like it honestly – but it sometimes makes keeping procedures and product features straight in my head particularly challenging.

So, overall, I love it. Plan to stay for as long as I foreseeably can. It is basically where I’ve wanted to work my whole life and I couldn’t be happier being here now that I’ve settled in.

Hopefully when my personal life settles I’ll be able to learn how to excel at this job. For now, I’m loving all the learning and growing, and being challenged just about every day to be a little better by great coworkers, bosses, and customers.

Welcome Oliver Ezra Catlin

1 Week ago today – 11/4 – we welcomed into the world the newest member of our family. Oliver Ezra Catlin was born at 7:06 in the morning.

He is a pretty chill little guy after a week. He seems very curious when he is awake, and has the best cheeks – very squeezable.

Oliver, Pearl, and Dad
Oliver, Pearl, and Dad

We couldn’t be happier to have him here, and look forward to seeing what kind of boy and man he grows into.

Goodbye Trane, Hello Exosite

Friday I said goodbye to Trane and tomorrow I start a new gig at Exosite.

Trane is a wonderful company to work for on so many levels. Amazing work-life balance, great benefits, good products in a stable market.

But for a while I’ve been balancing some future-facing project work I initiated, with a sense that I wasn’t going to ever be able to push things as fast as I wanted inside of our engineering organization, or our product group. Also, I’d been wondering for a while if I was selling myself short being disconnected from the end-user, like you can get inside an engineering group internal to a big company.

Exosite on the other hand, is a smaller, startup-ish company in a similar segment as Trane (maybe even overlapping in some senses), with a relatively flat org structure. It is growing, and looking to decide how things are going to work as it gets bigger.

Exosite, makes an IoT (Internet of Things) cloud platform that serves other businesses. This is a way for other companies to get an “online” place for their connected devices to dial up to – all without having to develop their own expertise in setting up servers and building online platforms/backends.

I’ll be helping the “professional services” group – which is the team that works with the customer get their devices on the platform. It should be a fun and interesting stretch for me – and I will be interfacing with the customer early and often. There are a ton of cultural things that line up better with my personal bent than anywhere else I’ve worked. This will hopefully help me push myself into a growth period since I won’t be arguing for things that seem so basic to me.

The rest is still to be seen, and I’m hoping for great things in this next chapter of my career with Exosite.

And as the previous chapter closes, I’m also so thankful for all the talented, dedicated, and thoughtful people at Trane. They helped me develop and grow in what a mature and effective software development team looks like in a well-respected, stable but growing, blue-chip mechanical equipment company.

Avoid -webkit-user-select (a.k.a Why I hate CSS)

So i spent longer than I care to admit working on a stupid problem at work. Particularly, we were just finally getting around to getting it to work on iOS (and safari for testing), and we had a textbox that refused to allow input when you clicked/touched it. No cursor would show up, and oddly we could get input to sometimes go in if you touched it just so, or at the right time, or used the tab key to select the field.  But only one letter could be inputted.

Continue Reading

How the Time Flies

Wow, it has been a long time since I blogged.

I don’t have anything right not terribly compelling to post about philosophy or technical stuff, but I figured at the very least it might be nice to post about what I’ve been up to the last couple years.

I switched jobs in 2012 to be a software developer (yay!), and I’m mostly loving it. The technical aspects and workflow fit me better then my controls/EE work did I think.

We released an app I helped finish up, it is in the play store and app store – it is for Trane Commercial building and automation systems, and is called BAS Suite.

Then I got to help architect and build, and for the last few years improve and add on to, another sorta-mobile product called Tracer Concierge.

It has been a crazy and rough few years for me on the family front. Having a kid opened up and exposed existing holes in my relationship with my wife. The good news is that with the help of some really really great friends and a decent counselor we both feel like we’re over a lot of those hurdles, and filled in a lot of the relational holes that had been discovered.

If you follow me on social media you know that none of that stuff with my wife was helped by my Dad almost dying in 2014. He went through a pretty rough surgery where he was basically looking like he wouldn’t make it – but the hard work of the surgeon and staff, and I believe the will of God, pulled him through. You can read more about that on his Caring Bridge site

The Kid is 3 1/2, and a full blow threenager, and she is hilarious most of the time. We feel pretty lucky to have her.

I’ve been laying a little low at church in a lot of respects. Trying to just navigate life partially, and partially because I picked up one pretty big leadership role – I am on the lay-leader preaching team. And it is awesome!

The nuts-and-bolts of it is that we meet once a month, discuss how we are improving our craft of public speaking, and then someone from the lay team preaches about once a month. That means I preach 2 or 3 times a year.

So far, I’ve gotten to speak twice, and I’ll be jumping into the pulpit for my 3rd time on November 8th. If you want to listen or check it out, click on over to the podcast, or here are links to the specific talks I did:

And that is a broad overview of what’s new.

Obligatory 2013 post

Well, I went an entire year without writing a post. But believe you me, I made up some great ones in my head.

The year has been an interesting one. Challenging in a great many ways, particularly at home. But really great and exciting in some other ways, particularly at work.

I did work some on the next version of my Modbus app that I talked about late last year. Never got super far into it – one part analysis-paralysis, two parts raising a toddler while trying to make sure my wife still knows I exist.

Other miscellaneous 2013 trivia and happenings from the Catlin home:

  • Pearl Turned 1, and started talking. She now says entire sentences – mostly “Daddy I need this.” when she wants something from me that I have, or that she can’t reach.
  • My first major project at work officially released to the Android and iOS stores. My second big one is I think internally released, and will roll out to our national account sales teams shortly.
  • I learned how to cross-compile the linux kernel for our hardware, and get it to boot.
  • I met my niece (my sister-in-laws daughter) for the first time.
  • Went to Cleveland for my aunts wedding – saw a bunch of family that I haven’t seen in a long time.
  • I built a new workstation/server PC, after a decade of faithful service, I felt like it was getting irresponsible to rely solely on that machine to keep my families photos and videos safe (and yes, I have cloud backup too, but still).
  • Also at the same time I was building that new server my HTPC’s motherboard died, so I had to replace it somehow. On a very tight budget I squeezed both together, and managed to accomplish a new HTPC by buying a Raspberry Pi and installing OpenElec on it (which is a linux distro tuned to boot straight into XBMC).
  • My best friend moved back to the US from Germany – Iowa to be exact. And my Sister-in-law moved to Iowa too. So instead of having no place to stay on the way to my parents house, I now have to pick between two really great options. And my best friend isn’t 7 hours offset from me, and in another country.
  • Went to the boundary waters for the first time in 20 years with my dad. (Photos are on Google+). Found out I wasn’t as young as I used to be, and neither is my dad (though to be fair – when he was 32 he could have probably kicked my current selfs ass). But we came back in one piece, and had a really amazing time together.
  • Braincell reunion at Rob’s wedding – which was a classy affair. Especially for the smelly kid. We drank, ate, drank, sang some songs, drank, danced a jig or 5, drank, and had wonderfulness well into the wee hours of the morning. And then paid the parents price when we had to get up to drive to the burbs to pick up our kid (from the always lovely Greg and Julie who graciously sat for us) in the morning.
  • Ate a lot of great food, drank a lot of great drinks, and had general merriment with the greatest friends a guy could ask for. There are too many of you to list everyone, hopefully this blanket statement will suffice. Thank you every one of my dear friends, neighbors, and relatives, for another great year in which I didn’t die.

And now I’m raising a glass (no really – just picture it in your head if you have to) to another great year in 2014 – may it be even more awesomer than last year.

Goodbye Modbus Droid, Hello Mobile Modbus

I’ve been really busy with some new and exciting stuff for a while now. This year I saw my frist child, a daughter born, around that same time I shifted from being an Electrical Design Engineer, to an Engineering Supervisor at Veeco. And then, in September, I was offered a Software Engineering position at Trane in their commercial Climate Solutions division.

In all this time I haven’t had much of an opportunity to get back to my hobby project, ModbusDroid. I’ve had ideas for a while on how to improve it, and I even started working some on a fragment API (Android 3.0+ UI guidelines), but never got very far with it because of all the craziness with life this year.

So, I’ve decided it is time to get back on the wagon and start back to it – but with some caveats and a few notes.

1) In all the computer transition, and a minor server hard drive glitch, I lost the key files to the original ModBus Droid, so I currently can’t upload any updates to the Google Play store. Also, a while ago, I started working on a re-name of the project for porting the app to the BlackBerry playbook, and I’ve decided I like the somewhat more generic naming – Mobile Modbus. So for the time being, the app is going to be a brand new app, not a 2.0 of ModBus Droid. Mobile Modbus might stick as a name, it might not – I’m open to suggestions so send them my way.

2) Very early on, after I layout some rough frame-work and UI for the app, I’m going to do the development out in the open on GitHub. A lot of this is going to be re-written from scratch or heavily refactored. So, to all my friends who have been telling me that they were thinking about getting into Android development – get your github accounts set up – and follow me there. Install git on your PC, and the Android SDK, and import the old version of modbusdroid from github so you know you are set up and good to go. There has never been a better time – they even started bundling eclipse with the android SDK to make it easier to get started – and github has great GUI git clients for both windows and mac.

3) Part of this refactor is about being a better open source citizen. We make heavy use of the Modbus4J library in the app – a pretty great library that does batching (which we don’t currently use), and I made some non-trivial, but not major either, changes and additions the library. Rather than being awesome and contributing patches back to the main repository, I just dropped a rev of the source code right into the projects source and never really looked back. This time I’m going to clone the CVS and convert it to Git (done actually) and publish that to github with links back to the original project. I would contribute right back to the sourceforge page, but honestly – CVS… in 2012/2013… I hate CVS, not gonna happen any time soon. Call me lazy, but at least I’m going to make it easier to seperate out what I did vs what was from the original project. I plan on tracking it better too.

We’re also going to be using the ActionBarSherlock and SlidingMenu libraries, and I’ll make a fork of those on github if we need to change anything in them.

4) I really really want to get a few features into this 1.0 release of this app that weren’t in the original Modbus Droid. First off, I want to get Modbus RTU over TCP in there, and lay the groundwork for eventual bluetooth serial port adapters (SPP) with straight ModbusRTU. I also want at least lay in the foundations for saving some favorites in terms of configurations / IP addresses, and the possibility of giving registers names. Finally, I also want to get in something that could write out updates to a file for data logging. I’m contemplating some of the more advanced features would be in and ‘advanced mode’ in the settings or something like that to keep from cluttering the simple interface for people who just want to get in and out quickly while/after monitoring some registers. Only when the advanced mode was on would we expose some of these UI elements to enable these features. To see some of the design patterns for the new versions of android, and some neat extensions to them, check out Android Views.

So anyway, this is where I’m taking things. Hopefully over the next few weeks during the holidays I can get a few commits into github and you can all start to see where this is going. And if you are feeling adventurous, read up on Modbus, the Modbus4J library, and Android development – and feel free to jump in by forking the project on Github once it is on there (I will tweet/G+/blog about it when it is up).