Time flies... And here we are, 5 years later looking back and trying to decide if it was all worth it. 5 years in a tech company doing software development is a long time. Especially if I add the fact that pretty much I never switched teams (although the team's main focus and even all system it maintains were eventually switched around from under us a couple of times), I become a very unlikely person. It basically puts me in the class of those "old grumpy men" that just stay around to criticize people and tell them stories of things that happened so long ago that it's not really relevant any more.
Every time that I go through those anniversaries, it's good to consider whether it's been worth it. And I can't really say it hasn't. I have built a lot of things and a few cool things. I still don't think I have reached my limit, but from time to time I start wondering if I'm close to it. Especially in the last couple of months that I have been building something that is very likely much more complicated than I had initially thought. The result of it is that it was released already a couple of times and when it starts getting used some major bugs start cropping up that force me to step back and review some of the assumptions that I had made before. After the third time that this happened I was really worried about my ability to actually ever get it right. More than this, my ability to get it right to a level that other people could get it right too (which has been proving to be even more complicated - when other people touch the code it seems to break it more than fix it - thank you extensive test suites that keep things mostly working). But it's so cool... At least I think it's cool!
Anyway, back to abstract thought: Amazon is a fun place to work. The distributed and isolated nature of the systems and organizations sometimes can look very unproductive (lots of people doing similar things all the time), but it fosters a very interesting split:
1) Teams that have strong people with good vision of what they want to do can get their things done
2) Teams that fall behind and become reactive to things that break can just find themselves digging bigger holes and never getting out of it. Some of them don't even realize it.
Fortunately I've always been working in teams that had more of #1 than #2. I have worked with #2 teams and having the knowledge that they exist out there makes me happy to keep myself put and keep moving forward towards what this "vision" is. I could talk about the vision here in this blog, but it's nothing very exciting to external users of the Amazon website, so I'll keep it for myself.
Enough about work, let's talk about Seattle... Seattle is a very interesting city. It's big enough to allow for some culture and activity buzz, but not that big that you are caught on the stress of too many things to do, and higher living costs. Having moved here from Oklahoma, I can't say there is anything that I really miss (maybe being able to find parking anywhere I go). And comparing to Sao Paulo, it's actually even more complicated to compare. What I miss about Sao Paulo is not the city, but the people. And I was never very social - but you don't have to be very social to have lots of friends and lots of options of things to do. In Seattle I have some good friends, but people are much more "reserved". Maybe it's just that I'm surrounded by not-so-social people.
Anyway, all in all, it has been a great experience. I like where I am and I am comfortable with where I'm heading right now. Next year is wedding year, so that will go by probably without many other things going on. Then, if I'm given the opportunity, I'll re-evaluate and see where I should be heading.